Skip to content
This repository was archived by the owner on Jul 30, 2024. It is now read-only.

Commit 473c72b

Browse files
committed
[buffer] Bump for Node.js v16
1 parent ba8f39e commit 473c72b

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package io.scalajs.nodejs.buffer
2+
3+
import com.thoughtworks.enableMembersIf
4+
import net.exoego.scalajs.types.util.Factory
5+
6+
import scala.scalajs.js
7+
import scala.scalajs.js.annotation.{JSImport, JSName}
8+
import scala.scalajs.js.typedarray.{ArrayBuffer, DataView, TypedArray, Uint8Array}
9+
import scala.scalajs.js.|
10+
11+
@enableMembersIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs16)
12+
@js.native
13+
@JSImport("buffer", "Blob")
14+
class Blob() extends Uint8Array( /* dummy to trick constructor */ -1) {
15+
16+
def this(source: js.Array[String] | js.Array[ArrayBuffer] | js.Array[TypedArray[_, _]] | js.Array[
17+
DataView
18+
] | js.Array[Blob],
19+
options: BlobOptions
20+
) = this()
21+
def this(
22+
source: js.Array[String] | js.Array[ArrayBuffer] | js.Array[TypedArray[_, _]] | js.Array[DataView] | js.Array[
23+
Blob
24+
]
25+
) = this()
26+
27+
def arrayBuffer(): js.Promise[ArrayBuffer] = js.native
28+
29+
def size: Double = js.native
30+
31+
def slice(start: Double, end: Double, `type`: String): Blob = js.native
32+
def slice(start: Double, end: Double): Blob = js.native
33+
def slice(start: Double): Blob = js.native
34+
35+
def text(): js.Promise[String] = js.native
36+
37+
def `type`: String = js.native
38+
39+
/** Alias for [[`type`]]
40+
*/
41+
@JSName("type")
42+
def contentType: String = js.native
43+
}
44+
45+
@Factory
46+
trait BlobOptions extends js.Object {
47+
var encoding: js.UndefOr[String] = js.undefined
48+
var `type`: js.UndefOr[String] = js.undefined
49+
}

app/nodejs-v14/src/main/scala/io/scalajs/nodejs/buffer/package.scala

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.scalajs.nodejs
22

3+
import com.thoughtworks.enableIf
4+
35
import scala.scalajs.js
46
import scala.scalajs.js.annotation.JSImport
57
import scala.scalajs.js.typedarray.Uint8Array
@@ -58,6 +60,14 @@ package object buffer {
5860
def transcode(source: Uint8Array, fromEnc: String, toEnc: String): Buffer =
5961
BufferNamespace.transcode(source, fromEnc, toEnc)
6062

63+
@enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs16)
64+
@deprecated("Use Buffer.from(data, 'base64') instead.", "Node.js v15.13.0")
65+
def atob(data: String): String = js.native
66+
67+
@enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs16)
68+
@deprecated("Use buf.toString('base64') instead.", "Node.js v15.13.0")
69+
def btoa(data: String): String = js.native
70+
6171
/** Returns the maximum number of bytes that will be returned when buf.inspect() is called.
6272
* This can be overridden by user modules. See util.inspect() for more details on buf.inspect() behavior.
6373
*

0 commit comments

Comments
 (0)