Skip to content

Commit 51633d3

Browse files
committed
Compatibility fixes
1 parent 3804796 commit 51633d3

File tree

11 files changed

+59
-112
lines changed

11 files changed

+59
-112
lines changed

src/main/scala/io/scalajs/nodejs/Error.scala

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@ import scala.scalajs.js.annotation.JSName
1111
@JSName("Error")
1212
class Error(message: String = "") extends js.Error(message) {
1313

14+
def code: String = js.native
15+
16+
def errno: String = js.native
17+
18+
def syscall: String = js.native
19+
1420
def stack: js.Any = js.native
1521

1622
}

src/main/scala/io/scalajs/nodejs/dns/DnsError.scala

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,4 @@ import scala.scalajs.js
99
* @author lawrence.daniels@gmail.com
1010
*/
1111
@js.native
12-
class DnsError(message: String = "") extends Error(message) {
13-
14-
def code: String = js.native
15-
16-
def errno: String = js.native
17-
18-
def syscall: String = js.native
19-
20-
def hostname: String = js.native
21-
22-
}
12+
class DnsError(message: String = "") extends Error(message)

src/main/scala/io/scalajs/nodejs/fs/FileIOError.scala

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,4 @@ import scala.scalajs.js
99
* @author lawrence.daniels@gmail.com
1010
*/
1111
@js.native
12-
class FileIOError(message: String = "") extends Error(message) {
13-
14-
def code: String = js.native
15-
16-
def errno: String = js.native
17-
18-
def syscall: String = js.native
19-
20-
}
12+
class FileIOError(message: String = "") extends Error(message)

src/main/scala/io/scalajs/nodejs/fs/ReadStream.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
package io.scalajs.nodejs.fs
22

3+
import io.scalajs.nodejs
34
import io.scalajs.nodejs.FileDescriptor
4-
import io.scalajs.nodejs.stream.Readable
5+
import io.scalajs.nodejs.buffer.Buffer
56

67
import scala.scalajs.js
8+
import scala.scalajs.js.|
79

810
/**
911
* fs.ReadStream - ReadStream is a Readable Stream.
1012
* @see https://nodejs.org/api/stream.html#stream_class_stream_readable
1113
*/
1214
@js.native
13-
trait ReadStream extends Readable {
15+
trait ReadStream extends nodejs.stream.Readable {
1416

1517
/**
1618
* The path to the file the stream is reading from as specified in the first argument to fs.createReadStream().
1719
* If path is passed as a string, then readStream.path will be a string. If path is passed as a Buffer, then
1820
* readStream.path will be a Buffer.
1921
*/
20-
def path: js.Any = js.native
22+
def path: String | Buffer = js.native
2123

2224
}
2325

src/main/scala/io/scalajs/nodejs/http/ServerResponse.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import scala.scalajs.js
1212
* @see [[https://nodejs.org/api/http.html#http_class_http_serverresponse]]
1313
*/
1414
@js.native
15-
trait ServerResponse extends IEventEmitter with Duplex {
15+
trait ServerResponse extends Duplex with IEventEmitter {
1616

1717
/////////////////////////////////////////////////////////////////////////////////
1818
// Properties

src/main/scala/io/scalajs/nodejs/net/Socket.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import scala.scalajs.js.|
1515
*/
1616
@js.native
1717
@JSImport("net", "Socket")
18-
class Socket extends Duplex {
18+
class Socket extends Duplex(js.native) {
1919

2020
/////////////////////////////////////////////////////////////////////////////////
2121
// Properties
Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.scalajs.nodejs.stream
22

33
import scala.scalajs.js
4-
import scala.scalajs.js.annotation.JSName
4+
import scala.scalajs.js.annotation.{JSName, ScalaJSDefined}
55

66
/**
77
* A "duplex" stream is one that is both Readable and Writable, such as a TCP socket connection.
@@ -15,17 +15,19 @@ import scala.scalajs.js.annotation.JSName
1515
* method on extension duplex classes.
1616
* @author lawrence.daniels@gmail.com
1717
*/
18-
@js.native
19-
trait Duplex extends Readable with Writable {
20-
21-
/**
22-
* Undocumented method
23-
* @see https://github.com/nodejs/node-v0.x-archive/blob/cfcb1de130867197cbc9c6012b7e84e08e53d032/lib/fs.js#L1597-L1620
24-
*/
25-
override def close(callback: js.Function = js.native): Unit = js.native
26-
27-
}
28-
2918
@js.native
3019
@JSName("Duplex")
31-
object Duplex extends DuplexClass
20+
class Duplex(options: DuplexOptions) extends Readable with Writable
21+
22+
/**
23+
* Duplex Options
24+
* @param allowHalfOpen If set to false, then the stream will automatically end the readable side
25+
* when the writable side ends and vice versa (Default: true).
26+
* @param readableObjectMode Sets objectMode for readable side of the stream. Has no effect if objectMode is true (Default: false).
27+
* @param writableObjectMode Sets objectMode for writable side of the stream. Has no effect if objectMode is true (Default: false).
28+
*/
29+
@ScalaJSDefined
30+
class DuplexOptions(val allowHalfOpen: js.UndefOr[Boolean] = js.undefined,
31+
val readableObjectMode: js.UndefOr[Boolean] = js.undefined,
32+
val writableObjectMode: js.UndefOr[Boolean] = js.undefined)
33+
extends js.Object

src/main/scala/io/scalajs/nodejs/stream/DuplexClass.scala

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/main/scala/io/scalajs/nodejs/stream/DuplexOptions.scala

Lines changed: 0 additions & 18 deletions
This file was deleted.

src/main/scala/io/scalajs/nodejs/stream/Readable.scala

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,6 @@ trait Readable extends IEventEmitter {
2323
// Methods
2424
/////////////////////////////////////////////////////////////////////////////////
2525

26-
/**
27-
* Undocumented method
28-
* @see https://github.com/nodejs/node-v0.x-archive/blob/cfcb1de130867197cbc9c6012b7e84e08e53d032/lib/fs.js#L1597-L1620
29-
*/
30-
def close(callback: js.Function = js.native): Unit = js.native
31-
3226
/**
3327
* This method returns whether or not the readable has been explicitly paused by client code (using stream.pause()
3428
* without a corresponding stream.resume()).

0 commit comments

Comments
 (0)