diff --git a/io/js/src/main/scala/fs2/io/internal/ByteChunkOps.scala b/io/js/src/main/scala/fs2/io/internal/ByteChunkOps.scala index 659c9bbb69..41919ce10f 100644 --- a/io/js/src/main/scala/fs2/io/internal/ByteChunkOps.scala +++ b/io/js/src/main/scala/fs2/io/internal/ByteChunkOps.scala @@ -23,9 +23,8 @@ package fs2.io.internal import fs2.Chunk import fs2.internal.jsdeps.node.bufferMod -import fs2.internal.jsdeps.std -import scala.scalajs.js.typedarray.{ArrayBuffer, TypedArrayBuffer} +import scala.scalajs.js.typedarray.{ArrayBuffer, TypedArrayBuffer, Uint8Array} private[fs2] object ByteChunkOps { implicit def toByteChunkOps(chunk: Chunk[Byte]): ByteChunkOps = new ByteChunkOps(chunk) @@ -33,7 +32,7 @@ private[fs2] object ByteChunkOps { private[fs2] final class ByteChunkOps(val chunk: Chunk[Byte]) extends AnyVal { def toBuffer: bufferMod.global.Buffer = bufferMod.Buffer.from(toNodeUint8Array) - def toNodeUint8Array: std.Uint8Array = chunk.toUint8Array.asInstanceOf[std.Uint8Array] + def toNodeUint8Array: Uint8Array = chunk.toUint8Array.asInstanceOf[Uint8Array] } private[fs2] final class BufferOps(val buffer: bufferMod.global.Buffer) extends AnyVal { diff --git a/io/js/src/main/scala/fs2/io/internal/EventEmitterOps.scala b/io/js/src/main/scala/fs2/io/internal/EventEmitterOps.scala index 7215e6575b..0083024998 100644 --- a/io/js/src/main/scala/fs2/io/internal/EventEmitterOps.scala +++ b/io/js/src/main/scala/fs2/io/internal/EventEmitterOps.scala @@ -38,7 +38,7 @@ private[fs2] object EventEmitterOps { .asInstanceOf[eventsMod.EventEmitter] .removeListener( event.asInstanceOf[String], - callback.asInstanceOf[js.Function1[js.Any, Unit]] + callback.asInstanceOf[js.Function1[Any, Unit]] ) () } @@ -59,7 +59,7 @@ private[fs2] object EventEmitterOps { .asInstanceOf[eventsMod.EventEmitter] .removeListener( event.asInstanceOf[String], - callback.asInstanceOf[js.Function1[js.Any, Unit]] + callback.asInstanceOf[js.Function1[Any, Unit]] ) () } @@ -78,7 +78,7 @@ private[fs2] object EventEmitterOps { .asInstanceOf[eventsMod.EventEmitter] .removeListener( event.asInstanceOf[String], - callback.asInstanceOf[js.Function1[js.Any, Unit]] + callback.asInstanceOf[js.Function1[Any, Unit]] ) () } diff --git a/io/js/src/main/scala/fs2/io/internal/ThrowableOps.scala b/io/js/src/main/scala/fs2/io/internal/ThrowableOps.scala index 0176370df1..a3fa590052 100644 --- a/io/js/src/main/scala/fs2/io/internal/ThrowableOps.scala +++ b/io/js/src/main/scala/fs2/io/internal/ThrowableOps.scala @@ -21,12 +21,12 @@ package fs2.io.internal -import fs2.internal.jsdeps.std +import scala.scalajs.js private[fs2] object ThrowableOps { implicit def toThrowableOps(t: Throwable): ThrowableOps = new ThrowableOps(t) private[fs2] final class ThrowableOps(t: Throwable) { - def toJSError: std.Error = std.Error(t.getMessage(), t.getClass.getSimpleName) + def toJSError: js.Error = js.Error(t.getMessage()) } } diff --git a/io/js/src/main/scala/fs2/io/ioplatform.scala b/io/js/src/main/scala/fs2/io/ioplatform.scala index 98f1c1bf69..6e36a6cfef 100644 --- a/io/js/src/main/scala/fs2/io/ioplatform.scala +++ b/io/js/src/main/scala/fs2/io/ioplatform.scala @@ -35,7 +35,7 @@ import fs2.internal.jsdeps.node.bufferMod import fs2.internal.jsdeps.node.nodeStrings import fs2.internal.jsdeps.node.processMod import fs2.internal.jsdeps.node.streamMod -import fs2.internal.jsdeps.std +import fs2.internal.jsdeps.node.NodeJS.WritableStream import fs2.io.internal.ByteChunkOps._ import fs2.io.internal.EventEmitterOps._ import fs2.io.internal.ThrowableOps._ @@ -101,7 +101,7 @@ private[fs2] trait ioplatform { _ <- registerListener0(readable, nodeStrings.close)(_.on_close(_, _)) { () => dispatcher.unsafeRunAndForget(queue.offer(None)) }(SyncIO.syncForSyncIO) - _ <- registerListener[std.Error](readable, nodeStrings.error)(_.on_error(_, _)) { e => + _ <- registerListener[js.Error](readable, nodeStrings.error)(_.on_error(_, _)) { e => dispatcher.unsafeRunAndForget(error.complete(js.JavaScriptException(e))) }(SyncIO.syncForSyncIO) } yield readable @@ -136,9 +136,7 @@ private[fs2] trait ioplatform { .merge(out.drain) .concurrently( Stream.eval( - F.async_[Unit](cb => - duplex.asInstanceOf[streamMod.Writable].end(() => cb(Right(()))) - ) + F.async_[Unit](cb => duplex.asInstanceOf[streamMod.Duplex].end(() => cb(Right(())))) ) ) } @@ -173,7 +171,7 @@ private[fs2] trait ioplatform { } >> go(tail) case None => if (endAfterUse) - Pull.eval(F.async_[Unit](cb => writable.end(() => cb(Right(()))))) + Pull.eval(F.async_[Unit](cb => (writable: WritableStream).end(() => cb(Right(()))))) else Pull.done } @@ -235,7 +233,7 @@ private[fs2] trait ioplatform { F.delay( cb( e.left.toOption - .fold[std.Error | Null](null)(_.toJSError) + .fold[js.Error | Null](null)(_.toJSError) ) ) ) @@ -250,7 +248,7 @@ private[fs2] trait ioplatform { F.delay( cb( e.left.toOption - .fold[std.Error | Null](null)(_.toJSError) + .fold[js.Error | Null](null)(_.toJSError) ) ) ) @@ -268,7 +266,7 @@ private[fs2] trait ioplatform { F.delay( cb( e.left.toOption - .fold[std.Error | Null](null)(_.toJSError) + .fold[js.Error | Null](null)(_.toJSError) ) ) ) diff --git a/io/js/src/main/scala/fs2/io/net/DatagramSocketGroupPlatform.scala b/io/js/src/main/scala/fs2/io/net/DatagramSocketGroupPlatform.scala index cad9b7c3ca..df61c3f617 100644 --- a/io/js/src/main/scala/fs2/io/net/DatagramSocketGroupPlatform.scala +++ b/io/js/src/main/scala/fs2/io/net/DatagramSocketGroupPlatform.scala @@ -32,7 +32,6 @@ import com.comcast.ip4s.Port import fs2.internal.jsdeps.node.dgramMod import fs2.internal.jsdeps.node.eventsMod import fs2.internal.jsdeps.node.nodeStrings -import fs2.internal.jsdeps.std import scala.scalajs.js @@ -63,7 +62,7 @@ private[net] trait DatagramSocketGroupCompanionPlatform { socket <- DatagramSocket.forAsync[F](sock) _ <- F .async_[Unit] { cb => - val errorListener: js.Function1[std.Error, Unit] = { error => + val errorListener: js.Function1[js.Error, Unit] = { error => cb(Left(js.JavaScriptException(error))) } sock.once_error(nodeStrings.error, errorListener) diff --git a/io/js/src/main/scala/fs2/io/net/DatagramSocketPlatform.scala b/io/js/src/main/scala/fs2/io/net/DatagramSocketPlatform.scala index 6e4de9f3f6..6d97aa43e0 100644 --- a/io/js/src/main/scala/fs2/io/net/DatagramSocketPlatform.scala +++ b/io/js/src/main/scala/fs2/io/net/DatagramSocketPlatform.scala @@ -42,7 +42,6 @@ import fs2.io.internal.EventEmitterOps._ import fs2.internal.jsdeps.node.bufferMod import fs2.internal.jsdeps.node.dgramMod import fs2.internal.jsdeps.node.nodeStrings -import fs2.internal.jsdeps.std import scala.scalajs.js @@ -78,7 +77,7 @@ private[net] trait DatagramSocketCompanionPlatform { ) ) } - _ <- registerListener[std.Error](sock, nodeStrings.error)(_.on_error(_, _)) { e => + _ <- registerListener[js.Error](sock, nodeStrings.error)(_.on_error(_, _)) { e => dispatcher.unsafeRunAndForget(error.complete(js.JavaScriptException(e))) } socket <- Resource.make(F.pure(new AsyncDatagramSocket(sock, queue, error)))(_ => @@ -108,7 +107,7 @@ private[net] trait DatagramSocketCompanionPlatform { datagram.remote.port.value.toDouble, datagram.remote.host.toString, (err, _) => - Option(err.asInstanceOf[std.Error]).fold(cb(Right(())))(err => + Option(err.asInstanceOf[js.Error]).fold(cb(Right(())))(err => cb(Left(js.JavaScriptException(err))) ) ) diff --git a/io/js/src/main/scala/fs2/io/net/SocketGroupPlatform.scala b/io/js/src/main/scala/fs2/io/net/SocketGroupPlatform.scala index e3330e5ebc..140b9ce983 100644 --- a/io/js/src/main/scala/fs2/io/net/SocketGroupPlatform.scala +++ b/io/js/src/main/scala/fs2/io/net/SocketGroupPlatform.scala @@ -36,7 +36,6 @@ import com.comcast.ip4s.SocketAddress import fs2.internal.jsdeps.node.eventsMod import fs2.internal.jsdeps.node.netMod import fs2.internal.jsdeps.node.nodeStrings -import fs2.internal.jsdeps.std import fs2.io.internal.EventEmitterOps._ import scala.scalajs.js @@ -65,7 +64,7 @@ private[net] trait SocketGroupCompanionPlatform { self: SocketGroup.type => socket <- Socket.forAsync(sock) _ <- F .async[Unit] { cb => - registerListener[std.Error](sock, nodeStrings.error)(_.once_error(_, _)) { error => + registerListener[js.Error](sock, nodeStrings.error)(_.once_error(_, _)) { error => cb(Left(js.JavaScriptException(error))) }.evalTap(_ => F.delay(sock.connect(to.port.value.toDouble, to.host.toString, () => cb(Right(())))) diff --git a/io/js/src/main/scala/fs2/io/net/tls/TLSParameters.scala b/io/js/src/main/scala/fs2/io/net/tls/TLSParameters.scala index 08631ccae7..47402cfc66 100644 --- a/io/js/src/main/scala/fs2/io/net/tls/TLSParameters.scala +++ b/io/js/src/main/scala/fs2/io/net/tls/TLSParameters.scala @@ -27,8 +27,8 @@ package tls import fs2.io.internal.ByteChunkOps._ import fs2.io.internal.ThrowableOps._ import fs2.internal.jsdeps.node.tlsMod -import fs2.internal.jsdeps.std import scala.scalajs.js.JSConverters._ +import scala.scalajs.js.typedarray.Uint8Array import scala.scalajs.js import scala.scalajs.js.| import cats.syntax.all._ @@ -82,7 +82,7 @@ sealed trait TLSParameters { requestCert.foreach(options.setRequestCert(_)) rejectUnauthorized.foreach(options.setRejectUnauthorized(_)) alpnProtocols - .map(_.map(x => x: String | std.Uint8Array).toJSArray) + .map(_.map(x => x: String | Uint8Array).toJSArray) .foreach(options.setALPNProtocols(_)) sniCallback.map(_.toJS(dispatcher)).foreach(options.setSNICallback(_)) } @@ -132,7 +132,7 @@ object TLSParameters { def apply[F[_]: Async](servername: String): F[Either[Throwable, Option[SecureContext]]] private[TLSParameters] def toJS[F[_]](dispatcher: Dispatcher[F])(implicit F: Async[F] - ): js.Function2[String, js.Function2[std.Error | Null, js.UndefOr[ + ): js.Function2[String, js.Function2[js.Error | Null, js.UndefOr[ tlsMod.SecureContext ], Unit], Unit] = { (servername, cb) => dispatcher.unsafeRunAndForget { @@ -163,7 +163,7 @@ object TLSParameters { def apply(servername: String, cert: Chunk[Byte]): Either[Throwable, Unit] private[TLSParameters] def toJS - : js.Function2[String, tlsMod.PeerCertificate, js.UndefOr[std.Error]] = { + : js.Function2[String, tlsMod.PeerCertificate, js.UndefOr[js.Error]] = { (servername, cert) => apply(servername, cert.raw.toChunk) match { case Left(ex) => ex.toJSError diff --git a/io/js/src/main/scala/fs2/io/net/tls/TLSSocketPlatform.scala b/io/js/src/main/scala/fs2/io/net/tls/TLSSocketPlatform.scala index 8781c49738..4f901dab92 100644 --- a/io/js/src/main/scala/fs2/io/net/tls/TLSSocketPlatform.scala +++ b/io/js/src/main/scala/fs2/io/net/tls/TLSSocketPlatform.scala @@ -36,7 +36,6 @@ import fs2.internal.jsdeps.node.netMod import fs2.internal.jsdeps.node.nodeStrings import fs2.internal.jsdeps.node.streamMod import fs2.internal.jsdeps.node.tlsMod -import fs2.internal.jsdeps.std import fs2.io.internal.ByteChunkOps._ import fs2.io.internal.SuspendedStream @@ -67,7 +66,7 @@ private[tls] trait TLSSocketCompanionPlatform { self: TLSSocket.type => dispatcher.unsafeRunAndForget( errorDef.complete(IOException.unapply(ex).getOrElse(ex)) ) - }: js.Function1[std.Error, Unit] + }: js.Function1[js.Error, Unit] tlsSockReadable <- suspendReadableAndRead( destroyIfNotEnded = false, destroyIfCanceled = false diff --git a/io/js/src/main/scala/fs2/io/net/unixsocket/UnixSocketsPlatform.scala b/io/js/src/main/scala/fs2/io/net/unixsocket/UnixSocketsPlatform.scala index e69917cb79..ad137ec65a 100644 --- a/io/js/src/main/scala/fs2/io/net/unixsocket/UnixSocketsPlatform.scala +++ b/io/js/src/main/scala/fs2/io/net/unixsocket/UnixSocketsPlatform.scala @@ -26,7 +26,6 @@ import cats.effect.kernel.Async import cats.effect.kernel.Resource import fs2.io.net.Socket import fs2.internal.jsdeps.node.netMod -import fs2.internal.jsdeps.std import cats.syntax.all._ import scala.scalajs.js import cats.effect.std.Dispatcher @@ -79,7 +78,7 @@ private[unixsocket] trait UnixSocketsCompanionPlatform { ) _ <- Stream .resource( - registerListener[std.Error](server, nodeStrings.error)(_.once_error(_, _)) { e => + registerListener[js.Error](server, nodeStrings.error)(_.once_error(_, _)) { e => dispatcher.unsafeRunAndForget(errored.complete(js.JavaScriptException(e))) } ) diff --git a/project/build.properties b/project/build.properties index e64c208ff5..1e70b0c1c0 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.5.8 +sbt.version=1.6.0 diff --git a/project/plugins.sbt b/project/plugins.sbt index ffe6e1ec29..caf52a93c3 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -6,7 +6,7 @@ addSbtPlugin("com.github.tkawachi" % "sbt-doctest" % "0.9.9") addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.3") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.2.24") -addSbtPlugin("org.scalablytyped.converter" % "sbt-converter" % "1.0.0-beta36") +addSbtPlugin("org.scalablytyped.converter" % "sbt-converter" % "1.0.0-beta37") // Needed until sjs 1.8 due to https://github.com/scala-js/scala-js-js-envs/issues/12 libraryDependencies += "org.scala-js" %% "scalajs-env-nodejs" % "1.2.1"