Skip to content

Commit 8f3a06b

Browse files
committed
Move crypto.BufferSource to dom, as a type alias for a union type.
It is defined in the "Common Definitions" of WebIDL.
1 parent 2ae7bc9 commit 8f3a06b

File tree

6 files changed

+32
-32
lines changed

6 files changed

+32
-32
lines changed

api-reports/2_12.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23198,10 +23198,7 @@ crypto/package[SO] type AlgorithmIdentifier = Algorithm | String
2319823198
crypto/package[SO] type BigInteger = Uint8Array
2319923199
crypto/package[SO] type HashAlgorithmIdentifier = HashAlgorithm | String
2320023200
crypto/package[SO] type KeyAlgorithmIdentifier = KeyAlgorithm | String
23201-
crypto/package[SO] implicit def arrayBuffer2BufferSource(b: ArrayBuffer): BufferSource
23202-
crypto/package[SO] implicit def arrayBufferView2BufferSource(b: ArrayBufferView): BufferSource
2320323201
crypto/package[SO] @js.native @JSGlobal("crypto") val crypto: Crypto
23204-
crypto/package.BufferSource[JT]
2320523202
experimental/AbortController[JC] def abort(): Unit
2320623203
experimental/AbortController[JC] val signal: AbortSignal
2320723204
experimental/AbortSignal[JT] def aborted: Boolean
@@ -24674,6 +24671,7 @@ idb[SO] type VersionChangeEvent = IDBVersionChangeEvent
2467424671
idb[SO] def Cursor = IDBCursor
2467524672
idb[SO] def KeyRange = IDBKeyRange
2467624673
idb[SO] def Transaction = IDBTransaction
24674+
package[SO] type BufferSource = ArrayBufferView | ArrayBuffer
2467724675
package[SO] type ClientRect = DOMRect (@deprecated in 2.0.0)
2467824676
package[SO] type ClientRectList = DOMRectList (@deprecated in 2.0.0)
2467924677
package[SO] type NodeListOf[+T <: Node] = NodeList[T] (@deprecated in 2.0.0)

api-reports/2_13.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23198,10 +23198,7 @@ crypto/package[SO] type AlgorithmIdentifier = Algorithm | String
2319823198
crypto/package[SO] type BigInteger = Uint8Array
2319923199
crypto/package[SO] type HashAlgorithmIdentifier = HashAlgorithm | String
2320023200
crypto/package[SO] type KeyAlgorithmIdentifier = KeyAlgorithm | String
23201-
crypto/package[SO] implicit def arrayBuffer2BufferSource(b: ArrayBuffer): BufferSource
23202-
crypto/package[SO] implicit def arrayBufferView2BufferSource(b: ArrayBufferView): BufferSource
2320323201
crypto/package[SO] @js.native @JSGlobal("crypto") val crypto: Crypto
23204-
crypto/package.BufferSource[JT]
2320523202
experimental/AbortController[JC] def abort(): Unit
2320623203
experimental/AbortController[JC] val signal: AbortSignal
2320723204
experimental/AbortSignal[JT] def aborted: Boolean
@@ -24674,6 +24671,7 @@ idb[SO] type VersionChangeEvent = IDBVersionChangeEvent
2467424671
idb[SO] def Cursor = IDBCursor
2467524672
idb[SO] def KeyRange = IDBKeyRange
2467624673
idb[SO] def Transaction = IDBTransaction
24674+
package[SO] type BufferSource = ArrayBufferView | ArrayBuffer
2467724675
package[SO] type ClientRect = DOMRect (@deprecated in 2.0.0)
2467824676
package[SO] type ClientRectList = DOMRectList (@deprecated in 2.0.0)
2467924677
package[SO] type NodeListOf[+T <: Node] = NodeList[T] (@deprecated in 2.0.0)

src/main/scala/org/scalajs/dom/crypto/Crypto.scala

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.scalajs.dom.crypto
22

3+
import org.scalajs.dom.BufferSource
34
import scala.scalajs.js
45
import scala.scalajs.js.annotation._
56
import scala.scalajs.js.typedarray.ArrayBufferView
@@ -464,7 +465,9 @@ trait RsaOaepParams extends Algorithm {
464465
object RsaOaepParams {
465466
@inline
466467
def apply(name: String, label: BufferSource): RsaOaepParams = {
467-
js.Dynamic.literal(name = name, label = label).asInstanceOf[RsaOaepParams]
468+
js.Dynamic
469+
.literal(name = name, label = label.asInstanceOf[js.Any])
470+
.asInstanceOf[RsaOaepParams]
468471
}
469472
}
470473

@@ -556,7 +559,8 @@ object AesCtrParams {
556559
def apply(name: String, counter: BufferSource,
557560
length: Short): AesCtrParams = {
558561
js.Dynamic
559-
.literal(name = name, counter = counter, length = length)
562+
.literal(name = name, counter = counter.asInstanceOf[js.Any],
563+
length = length)
560564
.asInstanceOf[AesCtrParams]
561565
}
562566
}
@@ -612,8 +616,11 @@ trait AesCbcParams extends Algorithm {
612616

613617
object AesCbcParams {
614618
@inline
615-
def apply(name: String, iv: BufferSource): AesCbcParams =
616-
js.Dynamic.literal(name = name, iv = iv).asInstanceOf[AesCbcParams]
619+
def apply(name: String, iv: BufferSource): AesCbcParams = {
620+
js.Dynamic
621+
.literal(name = name, iv = iv.asInstanceOf[js.Any])
622+
.asInstanceOf[AesCbcParams]
623+
}
617624
}
618625

619626
// AES-CMAC
@@ -648,7 +655,8 @@ object AesGcmParams {
648655
def apply(name: String, iv: BufferSource, additionalData: BufferSource,
649656
tagLength: Short): AesGcmParams = {
650657
js.Dynamic
651-
.literal(name = name, iv = iv, additionalData = additionalData,
658+
.literal(name = name, iv = iv.asInstanceOf[js.Any],
659+
additionalData = additionalData.asInstanceOf[js.Any],
652660
tagLength = tagLength)
653661
.asInstanceOf[AesGcmParams]
654662
}
@@ -664,7 +672,9 @@ trait AesCfbParams extends Algorithm {
664672
object AesCfbParams {
665673
@inline
666674
def apply(name: String, iv: BufferSource): AesCfbParams =
667-
js.Dynamic.literal(name = name, iv = iv).asInstanceOf[AesCfbParams]
675+
js.Dynamic
676+
.literal(name = name, iv = iv.asInstanceOf[js.Any])
677+
.asInstanceOf[AesCfbParams]
668678
}
669679

670680
// AES-KW
@@ -817,9 +827,11 @@ object ConcatParams {
817827
privateInfo: BufferSource): ConcatParams = {
818828
js.Dynamic
819829
.literal(name = name, hash = hash.asInstanceOf[js.Any],
820-
algorithmId = algorithmId, partyUInfo = partyUInfo,
821-
partyVInfo = partyVInfo, publicInfo = publicInfo,
822-
privateInfo = privateInfo)
830+
algorithmId = algorithmId.asInstanceOf[js.Any],
831+
partyUInfo = partyUInfo.asInstanceOf[js.Any],
832+
partyVInfo = partyVInfo.asInstanceOf[js.Any],
833+
publicInfo = publicInfo.asInstanceOf[js.Any],
834+
privateInfo = privateInfo.asInstanceOf[js.Any])
823835
.asInstanceOf[ConcatParams]
824836
}
825837
}
@@ -840,8 +852,9 @@ object HkdfCtrParams {
840852
def apply(name: String, hash: HashAlgorithmIdentifier, label: BufferSource,
841853
context: BufferSource): HkdfCtrParams = {
842854
js.Dynamic
843-
.literal(name = name, hash = hash.asInstanceOf[js.Any], label = label,
844-
context = context)
855+
.literal(name = name, hash = hash.asInstanceOf[js.Any],
856+
label = label.asInstanceOf[js.Any],
857+
context = context.asInstanceOf[js.Any])
845858
.asInstanceOf[HkdfCtrParams]
846859
}
847860
}
@@ -862,8 +875,8 @@ object Pbkdf2Params {
862875
def apply(name: String, salt: BufferSource, iterations: Long,
863876
hash: HashAlgorithmIdentifier): Pbkdf2Params = {
864877
js.Dynamic
865-
.literal(name = name, salt = salt, iterations = iterations.toDouble,
866-
hash = hash.asInstanceOf[js.Any])
878+
.literal(name = name, salt = salt.asInstanceOf[js.Any],
879+
iterations = iterations.toDouble, hash = hash.asInstanceOf[js.Any])
867880
.asInstanceOf[Pbkdf2Params]
868881
}
869882
}

src/main/scala/org/scalajs/dom/crypto/package.scala

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package org.scalajs.dom
22

3-
import scala.language.implicitConversions
43
import scala.scalajs.js
54
import scala.scalajs.js.annotation._
6-
import scala.scalajs.js.typedarray.{ArrayBuffer, ArrayBufferView, Uint8Array}
5+
import scala.scalajs.js.typedarray.Uint8Array
76
import scala.scalajs.js.|
87

98
package object crypto {
@@ -34,13 +33,4 @@ package object crypto {
3433
* Algorithm Identifiers. At the JS layer these have the same structure.
3534
*/
3635
type HashAlgorithmIdentifier = HashAlgorithm | String
37-
38-
@js.native
39-
sealed trait BufferSource extends js.Any
40-
41-
implicit def arrayBuffer2BufferSource(b: ArrayBuffer): BufferSource =
42-
b.asInstanceOf[BufferSource]
43-
44-
implicit def arrayBufferView2BufferSource(b: ArrayBufferView): BufferSource =
45-
b.asInstanceOf[BufferSource]
4636
}

src/main/scala/org/scalajs/dom/experimental/package.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.scalajs.dom
22

3-
import org.scalajs.dom.crypto.BufferSource
43
import scala.scalajs.js
54
import scala.scalajs.js.|
65

src/main/scala/org/scalajs/dom/package.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.scalajs
22

33
import scala.scalajs.js
44
import scala.scalajs.js.annotation._
5-
import scala.scalajs.js.typedarray.ArrayBuffer
5+
import scala.scalajs.js.typedarray.{ArrayBuffer, ArrayBufferView}
66
import scala.scalajs.js.|
77

88
package object dom {
@@ -21,6 +21,8 @@ package object dom {
2121
*/
2222
type Transferable = ArrayBuffer | MessagePort
2323

24+
type BufferSource = ArrayBufferView | ArrayBuffer
25+
2426
@js.native
2527
@JSGlobal("window")
2628
val window: Window = js.native

0 commit comments

Comments
 (0)