From 4e7c29313f0b3586617eb73c9ba44c23786c0aaf Mon Sep 17 00:00:00 2001 From: exoego Date: Tue, 26 May 2020 20:27:12 +0900 Subject: [PATCH] Updates util module for Node.js v14 --- .../scalajs/nodejs/util/InspectOptions.scala | 4 +- .../io/scalajs/nodejs/util/TextEncoder.scala | 1 + .../scala/io/scalajs/nodejs/util/Util.scala | 78 ++++++++++--------- 3 files changed, 44 insertions(+), 39 deletions(-) diff --git a/app/current/src/main/scala/io/scalajs/nodejs/util/InspectOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/util/InspectOptions.scala index 1959d6698..10eff6ead 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/util/InspectOptions.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/util/InspectOptions.scala @@ -22,6 +22,7 @@ import scala.scalajs.js.| * @param compact For Node.js v9.9.0+ * @param sorted For Node.js v10.12.0+ * @param getters For Node.js v11.5.0+ + * @param maxStringLength Fot Node.js v14.0.0+ Specifies the maximum number of characters to include when formatting. Set to null or Infinity to show all elements. @ * * @see [[https://nodejs.org/api/util.html#util_util_inspect_object_options]] */ @@ -34,5 +35,6 @@ class InspectOptions(var showHidden: js.UndefOr[Boolean] = false, var breakLength: Int = 80, var compact: js.UndefOr[Boolean | Int] = 3, var sorted: js.UndefOr[Boolean | js.Function2[String, String, Int]] = js.undefined, - var getters: js.UndefOr[Boolean | String] = false + var getters: js.UndefOr[Boolean | String] = false, + var maxStringLength: js.UndefOr[Int] = js.undefined ) extends js.Object diff --git a/app/current/src/main/scala/io/scalajs/nodejs/util/TextEncoder.scala b/app/current/src/main/scala/io/scalajs/nodejs/util/TextEncoder.scala index d9de15ddd..cdaab757b 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/util/TextEncoder.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/util/TextEncoder.scala @@ -5,6 +5,7 @@ import scala.scalajs.js.annotation.JSImport import scala.scalajs.js.typedarray.Uint8Array @js.native @JSImport("util", "TextEncoder") +// TODO: The class can be available on the global object when Node.js v10 is drooped class TextEncoder() extends js.Object { def this(encoding: String) = this() diff --git a/app/current/src/main/scala/io/scalajs/nodejs/util/Util.scala b/app/current/src/main/scala/io/scalajs/nodejs/util/Util.scala index 90f76f6b2..89fb700fd 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/util/Util.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/util/Util.scala @@ -81,43 +81,45 @@ trait PromisifyObject extends js.Function1[js.Function, js.Function] { @js.native trait UtilTypes extends js.Object { - def isAnyArrayBuffer(value: js.Any): Boolean = js.native - def isArgumentsObject(value: js.Any): Boolean = js.native - def isArrayBuffer(value: js.Any): Boolean = js.native - def isAsyncFunction(value: js.Any): Boolean = js.native - def isBigInt64Array(value: js.Any): Boolean = js.native - def isBigUint64Array(value: js.Any): Boolean = js.native - def isBooleanObject(value: js.Any): Boolean = js.native - def isBoxedPrimitive(value: js.Any): Boolean = js.native - def isDataView(value: js.Any): Boolean = js.native - def isDate(value: js.Any): Boolean = js.native - def isExternal(value: js.Any): Boolean = js.native - def isFloat32Array(value: js.Any): Boolean = js.native - def isFloat64Array(value: js.Any): Boolean = js.native - def isGeneratorFunction(value: js.Any): Boolean = js.native - def isGeneratorObject(value: js.Any): Boolean = js.native - def isInt8Array(value: js.Any): Boolean = js.native - def isInt16Array(value: js.Any): Boolean = js.native - def isInt32Array(value: js.Any): Boolean = js.native - def isMap(value: js.Any): Boolean = js.native - def isMapIterator(value: js.Any): Boolean = js.native - def isModuleNamespaceObject(value: js.Any): Boolean = js.native - def isNativeError(value: js.Any): Boolean = js.native - def isNumberObject(value: js.Any): Boolean = js.native - def isPromise(value: js.Any): Boolean = js.native - def isProxy(value: js.Any): Boolean = js.native - def isRegExp(value: js.Any): Boolean = js.native - def isSet(value: js.Any): Boolean = js.native - def isSetIterator(value: js.Any): Boolean = js.native - def isSharedArrayBuffer(value: js.Any): Boolean = js.native - def isStringObject(value: js.Any): Boolean = js.native - def isSymbolObject(value: js.Any): Boolean = js.native - def isTypedArray(value: js.Any): Boolean = js.native - def isUint8Array(value: js.Any): Boolean = js.native - def isUint8ClampedArray(value: js.Any): Boolean = js.native - def isUint16Array(value: js.Any): Boolean = js.native - def isUint32Array(value: js.Any): Boolean = js.native - def isWeakMap(value: js.Any): Boolean = js.native - def isWeakSet(value: js.Any): Boolean = js.native + def isAnyArrayBuffer(value: js.Any): Boolean = js.native + def isArgumentsObject(value: js.Any): Boolean = js.native + def isArrayBuffer(value: js.Any): Boolean = js.native + def isAsyncFunction(value: js.Any): Boolean = js.native + def isBigInt64Array(value: js.Any): Boolean = js.native + def isBigUint64Array(value: js.Any): Boolean = js.native + def isBooleanObject(value: js.Any): Boolean = js.native + def isBoxedPrimitive(value: js.Any): Boolean = js.native + def isDataView(value: js.Any): Boolean = js.native + def isDate(value: js.Any): Boolean = js.native + def isExternal(value: js.Any): Boolean = js.native + def isFloat32Array(value: js.Any): Boolean = js.native + def isFloat64Array(value: js.Any): Boolean = js.native + def isGeneratorFunction(value: js.Any): Boolean = js.native + def isGeneratorObject(value: js.Any): Boolean = js.native + def isInt8Array(value: js.Any): Boolean = js.native + def isInt16Array(value: js.Any): Boolean = js.native + def isInt32Array(value: js.Any): Boolean = js.native + def isMap(value: js.Any): Boolean = js.native + def isMapIterator(value: js.Any): Boolean = js.native + def isModuleNamespaceObject(value: js.Any): Boolean = js.native + def isNativeError(value: js.Any): Boolean = js.native + def isNumberObject(value: js.Any): Boolean = js.native + def isPromise(value: js.Any): Boolean = js.native + def isProxy(value: js.Any): Boolean = js.native + def isRegExp(value: js.Any): Boolean = js.native + def isSet(value: js.Any): Boolean = js.native + def isSetIterator(value: js.Any): Boolean = js.native + def isSharedArrayBuffer(value: js.Any): Boolean = js.native + def isStringObject(value: js.Any): Boolean = js.native + def isSymbolObject(value: js.Any): Boolean = js.native + def isTypedArray(value: js.Any): Boolean = js.native + def isUint8Array(value: js.Any): Boolean = js.native + def isUint8ClampedArray(value: js.Any): Boolean = js.native + def isUint16Array(value: js.Any): Boolean = js.native + def isUint32Array(value: js.Any): Boolean = js.native + def isWeakMap(value: js.Any): Boolean = js.native + def isWeakSet(value: js.Any): Boolean = js.native + + @deprecated("Use value instanceof WebAssembly.Module instead.", "Node.js v14.0.0") def isWebAssemblyCompiledModule(value: js.Any): Boolean = js.native }