diff --git a/app/current/src/main/scala/io/scalajs/nodejs/fs/FSWatcher.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/FSWatcher.scala index cac2e2e82..95825092f 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/fs/FSWatcher.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/fs/FSWatcher.scala @@ -28,7 +28,7 @@ object FSWatcher { /** * File System Watcher Extensions */ - implicit class FSWatcherExtensions(val watcher: FSWatcher) extends AnyVal { + implicit final class FSWatcherExtensions(val watcher: FSWatcher) extends AnyVal { /** * Emitted when something changes in a watched directory or file. See more details in fs.watch(). diff --git a/app/current/src/main/scala/io/scalajs/nodejs/fs/ReadStream.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/ReadStream.scala index 1ccfb0001..09b2037bc 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/fs/ReadStream.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/fs/ReadStream.scala @@ -57,7 +57,7 @@ object ReadStream { /** * Read Stream Events */ - implicit class ReadStreamEvents(val stream: ReadStream) extends AnyVal { + implicit final class ReadStreamEvents(val stream: ReadStream) extends AnyVal { /** * Emitted when the ReadStream's underlying file descriptor has been closed using the fs.close() method. @@ -83,7 +83,7 @@ object ReadStream { /** * Read Stream Extensions */ - implicit class ReadStreamExtensions(val stream: ReadStream) extends AnyVal { + implicit final class ReadStreamExtensions(val stream: ReadStream) extends AnyVal { @inline def closeFuture: Future[Unit] = promiseCallback1[Unit](stream.close) diff --git a/app/current/src/main/scala/io/scalajs/nodejs/fs/WriteStream.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/WriteStream.scala index 730d5ff0d..1f079ae17 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/fs/WriteStream.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/fs/WriteStream.scala @@ -54,7 +54,7 @@ object WriteStream { /** * Write Stream Events */ - implicit class WriteStreamEvents(val stream: WriteStream) extends AnyVal { + implicit final class WriteStreamEvents(val stream: WriteStream) extends AnyVal { /** * Emitted when the WriteStream's underlying file descriptor has been closed using the fs.close() method. @@ -80,7 +80,7 @@ object WriteStream { /** * Write Stream Extensions */ - implicit class WriteStreamExtensions(val stream: WriteStream) extends AnyVal { + implicit final class WriteStreamExtensions(val stream: WriteStream) extends AnyVal { @inline def closeFuture: Future[Unit] = promiseCallback1[Unit](stream.close) diff --git a/app/current/src/main/scala/io/scalajs/nodejs/fs/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/package.scala index 7d7a1d02f..c5a6d8320 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/fs/package.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/fs/package.scala @@ -36,7 +36,7 @@ package object fs { * File System Extensions * @param fs the given [[Fs file system]] instance */ - final implicit class FsExtensions(private val fs: Fs) extends AnyVal { + implicit final class FsExtensions(private val fs: Fs) extends AnyVal { @inline def accessFuture(path: Buffer | String): Future[Unit] = { promiseWithError0[FileIOError](fs.access(path, _)) diff --git a/app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala index 88eef1048..9dd9baa50 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala @@ -32,7 +32,7 @@ object Server { * Server Events * @param server the given [[Server]] */ - final implicit class ServerEvents(val server: Server) extends AnyVal { + implicit final class ServerEvents(val server: Server) extends AnyVal { /** * Emitted each time a request with an HTTP Expect: 100-continue is received. If this event is not listened for, diff --git a/app/current/src/main/scala/io/scalajs/nodejs/https/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/https/package.scala index b5e946cea..6953001bf 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/https/package.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/https/package.scala @@ -16,7 +16,7 @@ package object https { /** * Https Extensions */ - final implicit class HttpExtensions(val https: Https) extends AnyVal { + implicit final class HttpExtensions(val https: Https) extends AnyVal { /** * Like http.get() but for HTTPS. diff --git a/app/current/src/main/scala/io/scalajs/nodejs/net/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/net/package.scala index d0b1ec69e..1dac4d796 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/net/package.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/net/package.scala @@ -17,7 +17,7 @@ package object net { * net.Server Events * @param server the given [[Server server]] */ - implicit class ServerEvents(val server: Server) extends AnyVal { + implicit final class ServerEvents(val server: Server) extends AnyVal { /** * Emitted when a new connection is made. socket is an instance of net.Socket. @@ -46,7 +46,7 @@ package object net { * net.Socket Extensions * @param socket the given [[Socket socket]] */ - implicit class SocketExtensions(val socket: Socket) extends AnyVal { + implicit final class SocketExtensions(val socket: Socket) extends AnyVal { ///////////////////////////////////////////////////////////////////////////////// // Futures diff --git a/app/current/src/main/scala/io/scalajs/nodejs/readline/Interface.scala b/app/current/src/main/scala/io/scalajs/nodejs/readline/Interface.scala index 99b434604..e21026a3c 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/readline/Interface.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/readline/Interface.scala @@ -100,7 +100,7 @@ object Interface { * Readline Interface Events * @param readline the given [[Interface Readline Interface]] */ - implicit class ReadlineEvents(val readline: Interface) extends AnyVal { + implicit final class ReadlineEvents(val readline: Interface) extends AnyVal { /** * Emitted when close() is called. Also emitted when the input stream receives its 'end' event. diff --git a/app/current/src/main/scala/io/scalajs/nodejs/repl/REPLServer.scala b/app/current/src/main/scala/io/scalajs/nodejs/repl/REPLServer.scala index 41c804b28..306b3383b 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/repl/REPLServer.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/repl/REPLServer.scala @@ -76,7 +76,7 @@ object REPLServer { * REPL Server Extensions * @param server the given [[REPLServer REPL Server]] */ - final implicit class REPLServerExtensions[T <: REPLServer](val server: T) extends AnyVal { + implicit final class REPLServerExtensions[T <: REPLServer](val server: T) extends AnyVal { /** * Emitted when the user exits the REPL in any of the defined ways. Namely, typing .exit at the repl, diff --git a/app/current/src/main/scala/io/scalajs/nodejs/repl/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/repl/package.scala index 823a519e6..cd4889d32 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/repl/package.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/repl/package.scala @@ -13,7 +13,7 @@ package object repl { * REPL Server events * @param server the given [[REPLServer instance]] */ - final implicit class REPLServerEvents(val server: REPLServer) extends AnyVal { + implicit final class REPLServerEvents(val server: REPLServer) extends AnyVal { @inline def contextAs[T]: T = server.context.asInstanceOf[T] @@ -47,7 +47,7 @@ package object repl { *
  • NODE_REPL_MODE
  • * */ - final implicit class EnvironmentVariableOptions(private val env: process.Environment) extends AnyVal { + implicit final class EnvironmentVariableOptions(private val env: process.Environment) extends AnyVal { /** * When a valid path is given, persistent REPL history will be saved to the specified file rather diff --git a/app/current/src/main/scala/io/scalajs/nodejs/timers/Immediate.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/Immediate.scala index d2410b948..1cd285e9b 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/timers/Immediate.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/timers/Immediate.scala @@ -32,7 +32,7 @@ object Immediate { * Immediate Enrichment * @param immediate the given [[Immediate immediate]] handle */ - implicit class ImmediateEnrichment(val immediate: Immediate) extends AnyVal { + implicit final class ImmediateEnrichment(val immediate: Immediate) extends AnyVal { @inline def clear(): Unit = clearImmediate(immediate) diff --git a/app/current/src/main/scala/io/scalajs/nodejs/timers/Interval.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/Interval.scala index dddde1a93..5217862ca 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/timers/Interval.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/timers/Interval.scala @@ -27,7 +27,7 @@ object Interval { * Interval Enrichment * @param handle the given [[Interval interval]] handle */ - implicit class IntervalEnrichment(val handle: Interval) extends AnyVal { + implicit final class IntervalEnrichment(val handle: Interval) extends AnyVal { @inline def clear(): Unit = clearInterval(handle) diff --git a/app/current/src/main/scala/io/scalajs/nodejs/timers/Timeout.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/Timeout.scala index 62fca15c7..903167711 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/timers/Timeout.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/timers/Timeout.scala @@ -35,7 +35,7 @@ object Timeout { * Timeout Enrichment * @param handle the given [[Timeout timeout]] handle */ - implicit class TimeoutEnrichment(val handle: Timeout) extends AnyVal { + implicit final class TimeoutEnrichment(val handle: Timeout) extends AnyVal { @inline def clear(): Unit = clearTimeout(handle) diff --git a/app/current/src/main/scala/io/scalajs/nodejs/tty/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/tty/package.scala index 944c792cd..9d983d6ee 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/tty/package.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/tty/package.scala @@ -9,7 +9,7 @@ package object tty { * Write Stream Events * @param stream the given [[WriteStream stream]] */ - implicit class WriteStreamEvents(val stream: WriteStream) extends AnyVal { + implicit final class WriteStreamEvents(val stream: WriteStream) extends AnyVal { /** * The 'resize' event is emitted whenever either of the writeStream.columns or writeStream.rows properties have diff --git a/core/src/main/scala/io/scalajs/collection/JsCollection.scala b/core/src/main/scala/io/scalajs/collection/JsCollection.scala index 1e4067116..cb921b2ce 100644 --- a/core/src/main/scala/io/scalajs/collection/JsCollection.scala +++ b/core/src/main/scala/io/scalajs/collection/JsCollection.scala @@ -40,7 +40,7 @@ object JsCollection { * JavaScript Collection Enrichment * @param collection the given [[JsCollection collection]] */ - implicit class JsCollectionEnrichment[T](val collection: JsCollection[T]) extends AnyVal { + implicit final class JsCollectionEnrichment[T](val collection: JsCollection[T]) extends AnyVal { @inline def get(index: Int): Option[T] = Option(collection(index)) diff --git a/core/src/main/scala/io/scalajs/package.scala b/core/src/main/scala/io/scalajs/package.scala index 128f11d7c..3043eb5ff 100644 --- a/core/src/main/scala/io/scalajs/package.scala +++ b/core/src/main/scala/io/scalajs/package.scala @@ -18,7 +18,7 @@ package object scalajs { * JSON Enrichment * @param json the given [[JSON]] object */ - implicit class JSONEnrichment(val json: JSON) extends AnyVal { + implicit final class JSONEnrichment(val json: JSON) extends AnyVal { @inline def parseAs[T](text: String): T = json.parse(text).asInstanceOf[T] diff --git a/core/src/main/scala/io/scalajs/util/DateHelper.scala b/core/src/main/scala/io/scalajs/util/DateHelper.scala index 31fcca1ff..ee091f4ff 100644 --- a/core/src/main/scala/io/scalajs/util/DateHelper.scala +++ b/core/src/main/scala/io/scalajs/util/DateHelper.scala @@ -12,7 +12,7 @@ object DateHelper { * Date Enrichment * @param date0 the given [[js.Date date]] */ - implicit class DateEnrichment(val date0: js.Date) extends AnyVal { + implicit final class DateEnrichment(private val date0: js.Date) extends AnyVal { @inline def +(duration: Duration) = new js.Date(date0.getTime() + duration.toMillis) @@ -41,7 +41,7 @@ object DateHelper { * Duration Enrichment * @param duration the given [[Duration duration]] */ - implicit class DurationEnrichment(val duration: Duration) extends AnyVal { + implicit final class DurationEnrichment(private val duration: Duration) extends AnyVal { @inline def +(date: js.Date) = new js.Date(date.getTime() + duration.toMillis) diff --git a/core/src/main/scala/io/scalajs/util/JSONHelper.scala b/core/src/main/scala/io/scalajs/util/JSONHelper.scala index cf4c09722..e951d2ffa 100644 --- a/core/src/main/scala/io/scalajs/util/JSONHelper.scala +++ b/core/src/main/scala/io/scalajs/util/JSONHelper.scala @@ -13,7 +13,7 @@ object JSONHelper { * JSON Conversions * @param value the given JavaScript value */ - implicit class JSONConversionsToJson[T <: js.Any](val value: T) extends AnyVal { + implicit final class JSONConversionsToJson[T <: js.Any](val value: T) extends AnyVal { @inline def toJson: String = JSON.stringify(value) @@ -27,7 +27,7 @@ object JSONHelper { * JSON Conversions * @param text the given text string */ - implicit class JSONConversionFromJson(val text: String) extends AnyVal { + implicit final class JSONConversionFromJson(val text: String) extends AnyVal { @inline def fromJson[T <: js.Any]: T = JSON.parse(text).asInstanceOf[T] diff --git a/core/src/main/scala/io/scalajs/util/JsUnderOrHelper.scala b/core/src/main/scala/io/scalajs/util/JsUnderOrHelper.scala index f347d1668..7e803ef5e 100644 --- a/core/src/main/scala/io/scalajs/util/JsUnderOrHelper.scala +++ b/core/src/main/scala/io/scalajs/util/JsUnderOrHelper.scala @@ -12,7 +12,7 @@ object JsUnderOrHelper { * UndefOr Extensions * @param valueA the given [[js.UndefOr value]] */ - implicit class UndefOrExtensions[T](val valueA: js.UndefOr[T]) extends AnyVal { + implicit final class UndefOrExtensions[T](private val valueA: js.UndefOr[T]) extends AnyVal { @inline def ?==(valueB: js.UndefOr[T]): Boolean = valueA.exists(valueB.contains) @@ -40,7 +40,7 @@ object JsUnderOrHelper { * UndefOr Boolean Extensions * @param value the given [[js.UndefOr value]] */ - implicit class UndefOrBoolExtensions(val value: js.UndefOr[Boolean]) extends AnyVal { + implicit final class UndefOrBoolExtensions(private val value: js.UndefOr[Boolean]) extends AnyVal { @inline def isTrue: Boolean = value.flat.contains(true) @@ -51,7 +51,7 @@ object JsUnderOrHelper { * UndefOr Double Extensions * @param value the given [[js.UndefOr value]] */ - implicit class UndefOrDoubleExtensions(val value: js.UndefOr[Double]) extends AnyVal { + implicit final class UndefOrDoubleExtensions(val value: js.UndefOr[Double]) extends AnyVal { @inline def orZero: Double = value.flat getOrElse 0.0 @@ -62,7 +62,7 @@ object JsUnderOrHelper { * UndefOr Integer Extensions * @param value the given [[js.UndefOr value]] */ - implicit class UndefOrIntExtensions(val value: js.UndefOr[Int]) extends AnyVal { + implicit final class UndefOrIntExtensions(val value: js.UndefOr[Int]) extends AnyVal { @inline def orZero: Int = value.flat getOrElse 0 diff --git a/core/src/main/scala/io/scalajs/util/OptionHelper.scala b/core/src/main/scala/io/scalajs/util/OptionHelper.scala index 232996b22..9be5b14c5 100644 --- a/core/src/main/scala/io/scalajs/util/OptionHelper.scala +++ b/core/src/main/scala/io/scalajs/util/OptionHelper.scala @@ -13,7 +13,7 @@ object OptionHelper { * Option Extensions * @param valueA the given [[Option optional value]] */ - implicit class OptionExtensions[T](val valueA: Option[T]) extends AnyVal { + implicit final class OptionExtensions[T](val valueA: Option[T]) extends AnyVal { @inline def ?==(valueB: js.UndefOr[T]): Boolean = valueA.exists(v => valueB.exists(_ == v)) @@ -39,7 +39,7 @@ object OptionHelper { * Option Boolean Extensions * @param value the given [[Option value]] */ - implicit class OptionBoolExtensions(val value: Option[Boolean]) extends AnyVal { + implicit final class OptionBoolExtensions(val value: Option[Boolean]) extends AnyVal { @inline def isTrue: Boolean = value.contains(true) @@ -49,7 +49,7 @@ object OptionHelper { * Option Double Extensions * @param value the given [[Option value]] */ - implicit class OptionDoubleExtensions(val value: Option[Double]) extends AnyVal { + implicit final class OptionDoubleExtensions(val value: Option[Double]) extends AnyVal { @inline def orZero: Double = value getOrElse 0.0 @@ -59,7 +59,7 @@ object OptionHelper { * Option Integer Extensions * @param value the given [[Option value]] */ - implicit class OptionIntExtensions(val value: Option[Int]) extends AnyVal { + implicit final class OptionIntExtensions(val value: Option[Int]) extends AnyVal { @inline def orZero: Int = value getOrElse 0 diff --git a/core/src/main/scala/io/scalajs/util/PromiseHelper.scala b/core/src/main/scala/io/scalajs/util/PromiseHelper.scala index 8649d8b52..07dd11315 100644 --- a/core/src/main/scala/io/scalajs/util/PromiseHelper.scala +++ b/core/src/main/scala/io/scalajs/util/PromiseHelper.scala @@ -273,7 +273,7 @@ object PromiseHelper { * @param task the given [[Future task]] * @tparam T the return type of the task */ - implicit class TimeExtensions[T](val task: Future[T]) extends AnyVal { + implicit final class TimeExtensions[T](val task: Future[T]) extends AnyVal { @inline def withTimer(action: String, showHeader: Boolean = false)(implicit ec: ExecutionContext): Future[T] = { diff --git a/core/src/main/scala/io/scalajs/util/ScalaJsHelper.scala b/core/src/main/scala/io/scalajs/util/ScalaJsHelper.scala index a49b4e5b2..3e31601bf 100644 --- a/core/src/main/scala/io/scalajs/util/ScalaJsHelper.scala +++ b/core/src/main/scala/io/scalajs/util/ScalaJsHelper.scala @@ -30,7 +30,7 @@ object ScalaJsHelper { * js.Dynamic to Value Extensions * @param obj the given [[js.Dynamic object]] */ - implicit class JsAnyExtensions(val obj: js.Any) extends AnyVal { + implicit final class JsAnyExtensions(val obj: js.Any) extends AnyVal { @inline def asUndefOr[T]: js.UndefOr[T] = obj.asInstanceOf[js.UndefOr[T]].flat @@ -61,7 +61,7 @@ object ScalaJsHelper { * js.Array Extensions * @param array the given [[js.Array array]] */ - implicit class JsArrayExtensions[A](val array: js.Array[A]) extends AnyVal { + implicit final class JsArrayExtensions[A](val array: js.Array[A]) extends AnyVal { @inline def indexWhereOpt(f: A => Boolean): Option[Int] = array.indexWhere(f) match { @@ -83,7 +83,7 @@ object ScalaJsHelper { * js.Dictionary Extensions * @param dict the given [[js.Dictionary dictionary]] */ - implicit class JsDictionaryExtensions[A](val dict: js.Dictionary[A]) extends AnyVal { + implicit final class JsDictionaryExtensions[A](val dict: js.Dictionary[A]) extends AnyVal { @inline def replaceWith(items: (String, A)*): Unit = {