diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index 0430bdd26..618905f0e 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -13972,10 +13972,10 @@ IDBCursor[JC] def primaryKey: IDBKey IDBCursor[JC] def source: S IDBCursor[JC] def update(value: IDBValue): IDBRequest[S, IDBKey] IDBCursorDirection[JT] -IDBCursorDirection[SO] def next: IDBCursorDirection -IDBCursorDirection[SO] def nextunique: IDBCursorDirection -IDBCursorDirection[SO] def prev: IDBCursorDirection -IDBCursorDirection[SO] def prevunique: IDBCursorDirection +IDBCursorDirection[SO] val next: IDBCursorDirection +IDBCursorDirection[SO] val nextunique: IDBCursorDirection +IDBCursorDirection[SO] val prev: IDBCursorDirection +IDBCursorDirection[SO] val prevunique: IDBCursorDirection IDBCursorReadOnly[JC] def advance(count: Double): Unit IDBCursorReadOnly[JC] def continue(key: IDBKey?): Unit IDBCursorReadOnly[JC] def direction: IDBCursorDirection @@ -14120,13 +14120,13 @@ IDBTransaction[JC] var onerror: js.Function1[Event, _] IDBTransaction[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit IDBTransaction[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit IDBTransactionDurability[JT] -IDBTransactionDurability[SO] def default: IDBTransactionDurability -IDBTransactionDurability[SO] def relaxed: IDBTransactionDurability -IDBTransactionDurability[SO] def strict: IDBTransactionDurability +IDBTransactionDurability[SO] val default: IDBTransactionDurability +IDBTransactionDurability[SO] val relaxed: IDBTransactionDurability +IDBTransactionDurability[SO] val strict: IDBTransactionDurability IDBTransactionMode[JT] -IDBTransactionMode[SO] def readonly: IDBTransactionMode -IDBTransactionMode[SO] def readwrite: IDBTransactionMode -IDBTransactionMode[SO] def versionchange: IDBTransactionMode +IDBTransactionMode[SO] val readonly: IDBTransactionMode +IDBTransactionMode[SO] val readwrite: IDBTransactionMode +IDBTransactionMode[SO] val versionchange: IDBTransactionMode IDBTransactionOptions[JT] val durability: js.UndefOr[IDBTransactionDurability] IDBVersionChangeEvent[JC] def bubbles: Boolean IDBVersionChangeEvent[JC] def cancelBubble: Boolean diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index 0430bdd26..618905f0e 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -13972,10 +13972,10 @@ IDBCursor[JC] def primaryKey: IDBKey IDBCursor[JC] def source: S IDBCursor[JC] def update(value: IDBValue): IDBRequest[S, IDBKey] IDBCursorDirection[JT] -IDBCursorDirection[SO] def next: IDBCursorDirection -IDBCursorDirection[SO] def nextunique: IDBCursorDirection -IDBCursorDirection[SO] def prev: IDBCursorDirection -IDBCursorDirection[SO] def prevunique: IDBCursorDirection +IDBCursorDirection[SO] val next: IDBCursorDirection +IDBCursorDirection[SO] val nextunique: IDBCursorDirection +IDBCursorDirection[SO] val prev: IDBCursorDirection +IDBCursorDirection[SO] val prevunique: IDBCursorDirection IDBCursorReadOnly[JC] def advance(count: Double): Unit IDBCursorReadOnly[JC] def continue(key: IDBKey?): Unit IDBCursorReadOnly[JC] def direction: IDBCursorDirection @@ -14120,13 +14120,13 @@ IDBTransaction[JC] var onerror: js.Function1[Event, _] IDBTransaction[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit IDBTransaction[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit IDBTransactionDurability[JT] -IDBTransactionDurability[SO] def default: IDBTransactionDurability -IDBTransactionDurability[SO] def relaxed: IDBTransactionDurability -IDBTransactionDurability[SO] def strict: IDBTransactionDurability +IDBTransactionDurability[SO] val default: IDBTransactionDurability +IDBTransactionDurability[SO] val relaxed: IDBTransactionDurability +IDBTransactionDurability[SO] val strict: IDBTransactionDurability IDBTransactionMode[JT] -IDBTransactionMode[SO] def readonly: IDBTransactionMode -IDBTransactionMode[SO] def readwrite: IDBTransactionMode -IDBTransactionMode[SO] def versionchange: IDBTransactionMode +IDBTransactionMode[SO] val readonly: IDBTransactionMode +IDBTransactionMode[SO] val readwrite: IDBTransactionMode +IDBTransactionMode[SO] val versionchange: IDBTransactionMode IDBTransactionOptions[JT] val durability: js.UndefOr[IDBTransactionDurability] IDBVersionChangeEvent[JC] def bubbles: Boolean IDBVersionChangeEvent[JC] def cancelBubble: Boolean diff --git a/src/main/scala/org/scalajs/dom/ClientType.scala b/src/main/scala-2/org/scalajs/dom/ClientType.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/ClientType.scala rename to src/main/scala-2/org/scalajs/dom/ClientType.scala diff --git a/src/main/scala/org/scalajs/dom/FrameType.scala b/src/main/scala-2/org/scalajs/dom/FrameType.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/FrameType.scala rename to src/main/scala-2/org/scalajs/dom/FrameType.scala diff --git a/src/main/scala/org/scalajs/dom/IDBCursorDirection.scala b/src/main/scala-2/org/scalajs/dom/IDBCursorDirection.scala similarity index 78% rename from src/main/scala/org/scalajs/dom/IDBCursorDirection.scala rename to src/main/scala-2/org/scalajs/dom/IDBCursorDirection.scala index f3fb2c660..84e287b03 100644 --- a/src/main/scala/org/scalajs/dom/IDBCursorDirection.scala +++ b/src/main/scala-2/org/scalajs/dom/IDBCursorDirection.scala @@ -16,20 +16,20 @@ object IDBCursorDirection { /** The cursor shows all records, including duplicates. It starts at the upper bound of the key range and moves * downwards (monotonically decreasing in the order of keys). */ - @inline def prev: IDBCursorDirection = "prev".asInstanceOf[IDBCursorDirection] + val prev: IDBCursorDirection = "prev".asInstanceOf[IDBCursorDirection] /** The cursor shows all records, excluding duplicates. If multiple records exist with the same key, only the first * one iterated is retrieved. It starts at the upper bound of the key range and moves downwards. */ - @inline def prevunique: IDBCursorDirection = "prevunique".asInstanceOf[IDBCursorDirection] + val prevunique: IDBCursorDirection = "prevunique".asInstanceOf[IDBCursorDirection] /** The cursor shows all records, including duplicates. It starts at the lower bound of the key range and moves * upwards (monotonically increasing in the order of keys). */ - @inline def next: IDBCursorDirection = "next".asInstanceOf[IDBCursorDirection] + val next: IDBCursorDirection = "next".asInstanceOf[IDBCursorDirection] /** The cursor shows all records, excluding duplicates. If multiple records exist with the same key, only the first * one iterated is retrieved. It starts at the lower bound of the key range and moves upwards. */ - @inline def nextunique: IDBCursorDirection = "nextunique".asInstanceOf[IDBCursorDirection] + val nextunique: IDBCursorDirection = "nextunique".asInstanceOf[IDBCursorDirection] } diff --git a/src/main/scala/org/scalajs/dom/IDBTransactionDurability.scala b/src/main/scala-2/org/scalajs/dom/IDBTransactionDurability.scala similarity index 62% rename from src/main/scala/org/scalajs/dom/IDBTransactionDurability.scala rename to src/main/scala-2/org/scalajs/dom/IDBTransactionDurability.scala index 503f8dfd2..cb7a45e28 100644 --- a/src/main/scala/org/scalajs/dom/IDBTransactionDurability.scala +++ b/src/main/scala-2/org/scalajs/dom/IDBTransactionDurability.scala @@ -12,7 +12,7 @@ import scala.scalajs.js sealed trait IDBTransactionDurability extends js.Any object IDBTransactionDurability { - @inline def default: IDBTransactionDurability = "default".asInstanceOf[IDBTransactionDurability] - @inline def strict: IDBTransactionDurability = "strict".asInstanceOf[IDBTransactionDurability] - @inline def relaxed: IDBTransactionDurability = "relaxed".asInstanceOf[IDBTransactionDurability] + val default: IDBTransactionDurability = "default".asInstanceOf[IDBTransactionDurability] + val strict: IDBTransactionDurability = "strict".asInstanceOf[IDBTransactionDurability] + val relaxed: IDBTransactionDurability = "relaxed".asInstanceOf[IDBTransactionDurability] } diff --git a/src/main/scala/org/scalajs/dom/IDBTransactionMode.scala b/src/main/scala-2/org/scalajs/dom/IDBTransactionMode.scala similarity index 82% rename from src/main/scala/org/scalajs/dom/IDBTransactionMode.scala rename to src/main/scala-2/org/scalajs/dom/IDBTransactionMode.scala index be0f0eefe..f29adb3de 100644 --- a/src/main/scala/org/scalajs/dom/IDBTransactionMode.scala +++ b/src/main/scala-2/org/scalajs/dom/IDBTransactionMode.scala @@ -17,14 +17,14 @@ sealed trait IDBTransactionMode extends js.Any object IDBTransactionMode { /** Allows data to be read but not changed. It is the default transaction mode. */ - @inline def readonly: IDBTransactionMode = "readonly".asInstanceOf[IDBTransactionMode] + val readonly: IDBTransactionMode = "readonly".asInstanceOf[IDBTransactionMode] /** Allows any operation to be performed, including ones that delete and create object stores and indexes. This mode * is for updating the version number of transactions that were started using the setVersion() method of IDBDatabase * objects. Transactions of this mode cannot run concurrently with other transactions. */ - @inline def versionchange: IDBTransactionMode = "versionchange".asInstanceOf[IDBTransactionMode] + val versionchange: IDBTransactionMode = "versionchange".asInstanceOf[IDBTransactionMode] /** Allows reading and writing of data in existing data stores to be changed. */ - @inline def readwrite: IDBTransactionMode = "readwrite".asInstanceOf[IDBTransactionMode] + val readwrite: IDBTransactionMode = "readwrite".asInstanceOf[IDBTransactionMode] } diff --git a/src/main/scala/org/scalajs/dom/KeyFormat.scala b/src/main/scala-2/org/scalajs/dom/KeyFormat.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/KeyFormat.scala rename to src/main/scala-2/org/scalajs/dom/KeyFormat.scala diff --git a/src/main/scala/org/scalajs/dom/KeyType.scala b/src/main/scala-2/org/scalajs/dom/KeyType.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/KeyType.scala rename to src/main/scala-2/org/scalajs/dom/KeyType.scala diff --git a/src/main/scala/org/scalajs/dom/KeyUsage.scala b/src/main/scala-2/org/scalajs/dom/KeyUsage.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/KeyUsage.scala rename to src/main/scala-2/org/scalajs/dom/KeyUsage.scala diff --git a/src/main/scala/org/scalajs/dom/MIMEType.scala b/src/main/scala-2/org/scalajs/dom/MIMEType.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/MIMEType.scala rename to src/main/scala-2/org/scalajs/dom/MIMEType.scala diff --git a/src/main/scala/org/scalajs/dom/MediaDeviceKind.scala b/src/main/scala-2/org/scalajs/dom/MediaDeviceKind.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/MediaDeviceKind.scala rename to src/main/scala-2/org/scalajs/dom/MediaDeviceKind.scala diff --git a/src/main/scala/org/scalajs/dom/MediaStreamTrackState.scala b/src/main/scala-2/org/scalajs/dom/MediaStreamTrackState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/MediaStreamTrackState.scala rename to src/main/scala-2/org/scalajs/dom/MediaStreamTrackState.scala diff --git a/src/main/scala/org/scalajs/dom/PermissionName.scala b/src/main/scala-2/org/scalajs/dom/PermissionName.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/PermissionName.scala rename to src/main/scala-2/org/scalajs/dom/PermissionName.scala diff --git a/src/main/scala/org/scalajs/dom/PermissionState.scala b/src/main/scala-2/org/scalajs/dom/PermissionState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/PermissionState.scala rename to src/main/scala-2/org/scalajs/dom/PermissionState.scala diff --git a/src/main/scala/org/scalajs/dom/PushEncryptionKeyName.scala b/src/main/scala-2/org/scalajs/dom/PushEncryptionKeyName.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/PushEncryptionKeyName.scala rename to src/main/scala-2/org/scalajs/dom/PushEncryptionKeyName.scala diff --git a/src/main/scala/org/scalajs/dom/PushPermissionState.scala b/src/main/scala-2/org/scalajs/dom/PushPermissionState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/PushPermissionState.scala rename to src/main/scala-2/org/scalajs/dom/PushPermissionState.scala diff --git a/src/main/scala/org/scalajs/dom/RTCBundlePolicy.scala b/src/main/scala-2/org/scalajs/dom/RTCBundlePolicy.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RTCBundlePolicy.scala rename to src/main/scala-2/org/scalajs/dom/RTCBundlePolicy.scala diff --git a/src/main/scala/org/scalajs/dom/RTCDataChannelState.scala b/src/main/scala-2/org/scalajs/dom/RTCDataChannelState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RTCDataChannelState.scala rename to src/main/scala-2/org/scalajs/dom/RTCDataChannelState.scala diff --git a/src/main/scala/org/scalajs/dom/RTCIceConnectionState.scala b/src/main/scala-2/org/scalajs/dom/RTCIceConnectionState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RTCIceConnectionState.scala rename to src/main/scala-2/org/scalajs/dom/RTCIceConnectionState.scala diff --git a/src/main/scala/org/scalajs/dom/RTCIceGatheringState.scala b/src/main/scala-2/org/scalajs/dom/RTCIceGatheringState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RTCIceGatheringState.scala rename to src/main/scala-2/org/scalajs/dom/RTCIceGatheringState.scala diff --git a/src/main/scala/org/scalajs/dom/RTCIceTransportPolicy.scala b/src/main/scala-2/org/scalajs/dom/RTCIceTransportPolicy.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RTCIceTransportPolicy.scala rename to src/main/scala-2/org/scalajs/dom/RTCIceTransportPolicy.scala diff --git a/src/main/scala/org/scalajs/dom/RTCSdpType.scala b/src/main/scala-2/org/scalajs/dom/RTCSdpType.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RTCSdpType.scala rename to src/main/scala-2/org/scalajs/dom/RTCSdpType.scala diff --git a/src/main/scala/org/scalajs/dom/RTCSignalingState.scala b/src/main/scala-2/org/scalajs/dom/RTCSignalingState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RTCSignalingState.scala rename to src/main/scala-2/org/scalajs/dom/RTCSignalingState.scala diff --git a/src/main/scala/org/scalajs/dom/RTCStatsType.scala b/src/main/scala-2/org/scalajs/dom/RTCStatsType.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RTCStatsType.scala rename to src/main/scala-2/org/scalajs/dom/RTCStatsType.scala diff --git a/src/main/scala/org/scalajs/dom/ReferrerPolicy.scala b/src/main/scala-2/org/scalajs/dom/ReferrerPolicy.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/ReferrerPolicy.scala rename to src/main/scala-2/org/scalajs/dom/ReferrerPolicy.scala diff --git a/src/main/scala/org/scalajs/dom/RequestCache.scala b/src/main/scala-2/org/scalajs/dom/RequestCache.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RequestCache.scala rename to src/main/scala-2/org/scalajs/dom/RequestCache.scala diff --git a/src/main/scala/org/scalajs/dom/RequestCredentials.scala b/src/main/scala-2/org/scalajs/dom/RequestCredentials.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RequestCredentials.scala rename to src/main/scala-2/org/scalajs/dom/RequestCredentials.scala diff --git a/src/main/scala/org/scalajs/dom/RequestDestination.scala b/src/main/scala-2/org/scalajs/dom/RequestDestination.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RequestDestination.scala rename to src/main/scala-2/org/scalajs/dom/RequestDestination.scala diff --git a/src/main/scala/org/scalajs/dom/RequestMode.scala b/src/main/scala-2/org/scalajs/dom/RequestMode.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RequestMode.scala rename to src/main/scala-2/org/scalajs/dom/RequestMode.scala diff --git a/src/main/scala/org/scalajs/dom/RequestRedirect.scala b/src/main/scala-2/org/scalajs/dom/RequestRedirect.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RequestRedirect.scala rename to src/main/scala-2/org/scalajs/dom/RequestRedirect.scala diff --git a/src/main/scala/org/scalajs/dom/RequestType.scala b/src/main/scala-2/org/scalajs/dom/RequestType.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/RequestType.scala rename to src/main/scala-2/org/scalajs/dom/RequestType.scala diff --git a/src/main/scala/org/scalajs/dom/ResponseType.scala b/src/main/scala-2/org/scalajs/dom/ResponseType.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/ResponseType.scala rename to src/main/scala-2/org/scalajs/dom/ResponseType.scala diff --git a/src/main/scala/org/scalajs/dom/ServiceWorkerState.scala b/src/main/scala-2/org/scalajs/dom/ServiceWorkerState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/ServiceWorkerState.scala rename to src/main/scala-2/org/scalajs/dom/ServiceWorkerState.scala diff --git a/src/main/scala/org/scalajs/dom/VisibilityState.scala b/src/main/scala-2/org/scalajs/dom/VisibilityState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/VisibilityState.scala rename to src/main/scala-2/org/scalajs/dom/VisibilityState.scala diff --git a/src/main/scala/org/scalajs/dom/WriteableState.scala b/src/main/scala-2/org/scalajs/dom/WriteableState.scala similarity index 100% rename from src/main/scala/org/scalajs/dom/WriteableState.scala rename to src/main/scala-2/org/scalajs/dom/WriteableState.scala diff --git a/src/main/scala-3/org/scalajs/dom/ClientType.scala b/src/main/scala-3/org/scalajs/dom/ClientType.scala new file mode 100644 index 000000000..adec227ef --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/ClientType.scala @@ -0,0 +1,15 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type ClientType = String + +object ClientType { + val window: ClientType = "window" + + val worker: ClientType = "worker" + + val sharedworker: ClientType = "sharedworker" + + val all: ClientType = "all" +} diff --git a/src/main/scala-3/org/scalajs/dom/FrameType.scala b/src/main/scala-3/org/scalajs/dom/FrameType.scala new file mode 100644 index 000000000..7ce70a97d --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/FrameType.scala @@ -0,0 +1,23 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type FrameType = String + +/** part of ServiceWorker + * [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#client-frametype ¶4.2.2 frameType]] of + * serviceWorker spec + */ +object FrameType { + + /** The window client's global object's browsing context is an auxiliary browsing context. */ + val auxiliary: FrameType = "auxiliary" + + /** The window client's global object's browsing context is a top-level browsing context. */ + val `top-level`: FrameType = "top-level" + + /** The window client's global object's browsing context is a nested browsing context. */ + val nested: FrameType = "nested" + + val none: FrameType = "none" +} diff --git a/src/main/scala-3/org/scalajs/dom/IDBCursorDirection.scala b/src/main/scala-3/org/scalajs/dom/IDBCursorDirection.scala new file mode 100644 index 000000000..ebea97fe2 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/IDBCursorDirection.scala @@ -0,0 +1,34 @@ +/** All documentation for facades is thanks to Mozilla Contributors at https://developer.mozilla.org/en-US/docs/Web/API + * and available under the Creative Commons Attribution-ShareAlike v2.5 or later. + * http://creativecommons.org/licenses/by-sa/2.5/ + * + * Everything else is under the MIT License http://opensource.org/licenses/MIT + */ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type IDBCursorDirection = js.Any + +object IDBCursorDirection { + + /** The cursor shows all records, including duplicates. It starts at the upper bound of the key range and moves + * downwards (monotonically decreasing in the order of keys). + */ + val prev: IDBCursorDirection = "prev" + + /** The cursor shows all records, excluding duplicates. If multiple records exist with the same key, only the first + * one iterated is retrieved. It starts at the upper bound of the key range and moves downwards. + */ + val prevunique: IDBCursorDirection = "prevunique" + + /** The cursor shows all records, including duplicates. It starts at the lower bound of the key range and moves + * upwards (monotonically increasing in the order of keys). + */ + val next: IDBCursorDirection = "next" + + /** The cursor shows all records, excluding duplicates. If multiple records exist with the same key, only the first + * one iterated is retrieved. It starts at the lower bound of the key range and moves upwards. + */ + val nextunique: IDBCursorDirection = "nextunique" +} diff --git a/src/main/scala-3/org/scalajs/dom/IDBTransactionDurability.scala b/src/main/scala-3/org/scalajs/dom/IDBTransactionDurability.scala new file mode 100644 index 000000000..861e2eb96 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/IDBTransactionDurability.scala @@ -0,0 +1,17 @@ +/** All documentation for facades is thanks to Mozilla Contributors at https://developer.mozilla.org/en-US/docs/Web/API + * and available under the Creative Commons Attribution-ShareAlike v2.5 or later. + * http://creativecommons.org/licenses/by-sa/2.5/ + * + * Everything else is under the MIT License http://opensource.org/licenses/MIT + */ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type IDBTransactionDurability = String + +object IDBTransactionDurability { + val default: IDBTransactionDurability = "default" + val strict: IDBTransactionDurability = "strict" + val relaxed: IDBTransactionDurability = "relaxed" +} diff --git a/src/main/scala-3/org/scalajs/dom/IDBTransactionMode.scala b/src/main/scala-3/org/scalajs/dom/IDBTransactionMode.scala new file mode 100644 index 000000000..0dfad9e60 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/IDBTransactionMode.scala @@ -0,0 +1,29 @@ +/** All documentation for facades is thanks to Mozilla Contributors at https://developer.mozilla.org/en-US/docs/Web/API + * and available under the Creative Commons Attribution-ShareAlike v2.5 or later. + * http://creativecommons.org/licenses/by-sa/2.5/ + * + * Everything else is under the MIT License http://opensource.org/licenses/MIT + */ +package org.scalajs.dom + +import scala.scalajs.js + +/** IndexedDB transaction mode Provides constants for IDB Transaction modes These constants have been removed from + * browser support and replaced by String values + */ +opaque type IDBTransactionMode = String + +object IDBTransactionMode { + + /** Allows data to be read but not changed. It is the default transaction mode. */ + val readonly: IDBTransactionMode = "readonly" + + /** Allows any operation to be performed, including ones that delete and create object stores and indexes. This mode + * is for updating the version number of transactions that were started using the setVersion() method of IDBDatabase + * objects. Transactions of this mode cannot run concurrently with other transactions. + */ + val versionchange: IDBTransactionMode = "versionchange" + + /** Allows reading and writing of data in existing data stores to be changed. */ + val readwrite: IDBTransactionMode = "readwrite" +} diff --git a/src/main/scala-3/org/scalajs/dom/KeyFormat.scala b/src/main/scala-3/org/scalajs/dom/KeyFormat.scala new file mode 100644 index 000000000..aec989ed1 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/KeyFormat.scala @@ -0,0 +1,21 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[http://www.w3.org/TR/WebCryptoAPI/#dfn-KeyFormat ¶14.2 Data Types]] in W3C spec */ +opaque type KeyFormat = String + +object KeyFormat { + + /** An unformatted sequence of bytes. Intended for secret keys. */ + val raw: KeyFormat = "raw" + + /** The DER encoding of the PrivateKeyInfo structure from RFC 5208. */ + val pkcs8: KeyFormat = "pkcs8" + + /** The DER encoding of the SubjectPublicKeyInfo structure from RFC 5280. */ + val spki: KeyFormat = "spki" + + /** The key is a JsonWebKey dictionary encoded as a JavaScript object */ + val jwk: KeyFormat = "jwk" +} diff --git a/src/main/scala-3/org/scalajs/dom/KeyType.scala b/src/main/scala-3/org/scalajs/dom/KeyType.scala new file mode 100644 index 000000000..073aadd9c --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/KeyType.scala @@ -0,0 +1,12 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[http://www.w3.org/TR/WebCryptoAPI/#cryptokey-interface ¶13 CryptoKey interface]] in W3C doc */ +opaque type KeyType = String + +object KeyType { + val public: KeyType = "public" + val `private`: KeyType = "private" + val secret: KeyType = "secret" +} diff --git a/src/main/scala-3/org/scalajs/dom/KeyUsage.scala b/src/main/scala-3/org/scalajs/dom/KeyUsage.scala new file mode 100644 index 000000000..7b300ab6a --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/KeyUsage.scala @@ -0,0 +1,17 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** See [[http://www.w3.org/TR/WebCryptoAPI/#cryptokey-interface ¶ 13. CryptoKey Interface]] of w3c spec */ +opaque type KeyUsage = String + +object KeyUsage { + val encrypt: KeyUsage = "encrypt" + val decrypt: KeyUsage = "decrypt" + val sign: KeyUsage = "sign" + val verify: KeyUsage = "verify" + val deriveKey: KeyUsage = "deriveKey" + val deriveBits: KeyUsage = "deriveBits" + val wrapKey: KeyUsage = "wrapKey" + val unwrapKey: KeyUsage = "unwrapKey" +} diff --git a/src/main/scala-3/org/scalajs/dom/MIMEType.scala b/src/main/scala-3/org/scalajs/dom/MIMEType.scala new file mode 100644 index 000000000..40cb8b7da --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/MIMEType.scala @@ -0,0 +1,15 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type MIMEType = String + +object MIMEType { + val `text/html`: MIMEType = "text/html" + val `text/xml`: MIMEType = "text/xml" + val `application/xml`: MIMEType = "application/xml" + + val `application/xhtml+xml`: MIMEType = + "application/xhtml+xml" + val `image/svg+xml`: MIMEType = "image/svg+xml" +} diff --git a/src/main/scala-3/org/scalajs/dom/MediaDeviceKind.scala b/src/main/scala-3/org/scalajs/dom/MediaDeviceKind.scala new file mode 100644 index 000000000..0e7d4267f --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/MediaDeviceKind.scala @@ -0,0 +1,19 @@ +/** https://www.w3.org/TR/2016/CR-mediacapture-streams-20160519/ */ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[https://www.w3.org/TR/2016/CR-mediacapture-streams-20160519/#idl-def-MediaDeviceKind]] in W3C spec */ +opaque type MediaDeviceKind = String + +object MediaDeviceKind { + + /** Represents an audio input device; for example a microphone. */ + val audioinput: MediaDeviceKind = "audioinput" + + /** Represents an audio output device; for example a pair of headphones. */ + val audiooutput: MediaDeviceKind = "audiooutput" + + /** Represents a video input device; for example a webcam. */ + val videoinput: MediaDeviceKind = "videoinput" +} diff --git a/src/main/scala-3/org/scalajs/dom/MediaStreamTrackState.scala b/src/main/scala-3/org/scalajs/dom/MediaStreamTrackState.scala new file mode 100644 index 000000000..cb51d86de --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/MediaStreamTrackState.scala @@ -0,0 +1,23 @@ +/** https://www.w3.org/TR/2016/CR-mediacapture-streams-20160519/ */ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[https://www.w3.org/TR/2013/WD-mediacapture-streams-20130903/#widl-MediaStream-onended]] in W3C spec */ +opaque type MediaStreamTrackState = String + +object MediaStreamTrackState { + + /** The track is active (the track's underlying media source is making a best-effort attempt to provide data in real + * time). The output of a track in the live state can be switched on and off with the enabled attribute. + */ + val live: MediaStreamTrackState = "live" + + /** The track has ended (the track's underlying media source is no longer providing data, and will never provide more + * data for this track). Once a track enters this state, it never exits it. + * + * For example, a video track in a MediaStream ends if the user unplugs the USB web camera that acts as the track's + * media source. + */ + val ended: MediaStreamTrackState = "ended" +} diff --git a/src/main/scala-3/org/scalajs/dom/PermissionName.scala b/src/main/scala-3/org/scalajs/dom/PermissionName.scala new file mode 100644 index 000000000..c7013a3da --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/PermissionName.scala @@ -0,0 +1,15 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type PermissionName = String + +object PermissionName { + val geolocation: PermissionName = "geolocation" + val midi: PermissionName = "midi" + val notifications: PermissionName = "notifications" + val push: PermissionName = "push" + + val `persistent-storage`: PermissionName = + "persistent-storage" +} diff --git a/src/main/scala-3/org/scalajs/dom/PermissionState.scala b/src/main/scala-3/org/scalajs/dom/PermissionState.scala new file mode 100644 index 000000000..65544a216 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/PermissionState.scala @@ -0,0 +1,11 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type PermissionState = String + +object PermissionState { + val granted: PermissionState = "granted" + val denied: PermissionState = "denied" + val prompt: PermissionState = "prompt" +} diff --git a/src/main/scala-3/org/scalajs/dom/PushEncryptionKeyName.scala b/src/main/scala-3/org/scalajs/dom/PushEncryptionKeyName.scala new file mode 100644 index 000000000..f6a214625 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/PushEncryptionKeyName.scala @@ -0,0 +1,22 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** This represents a JavaScript enumeration representing the various keys you an request from a [[PushSubscription]] as + * described here: [[http://www.w3.org/TR/push-api/#idl-def-PushEncryptionKeyName]] + */ +opaque type PushEncryptionKeyName = String + +/** Static definitions for [[PushEncryptionKeyName]] */ +object PushEncryptionKeyName { + + /** used to retrieve the P-256 ECDH Diffie-Hellman public key described here: + * [[https://tools.ietf.org/html/draft-ietf-webpush-encryption-01]] + */ + val p256dh: PushEncryptionKeyName = "p256dh" + + /** used to retrieve the authentication secret described here: + * [[https://tools.ietf.org/html/draft-ietf-webpush-encryption-01]] + */ + val auth: PushEncryptionKeyName = "auth" +} diff --git a/src/main/scala-3/org/scalajs/dom/PushPermissionState.scala b/src/main/scala-3/org/scalajs/dom/PushPermissionState.scala new file mode 100644 index 000000000..3520703c1 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/PushPermissionState.scala @@ -0,0 +1,21 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** This represents a JavaScript enumeration describing the state of permissions for pushing described here: + * [[http://www.w3.org/TR/push-api/#idl-def-PushPermissionState]] + */ +opaque type PushPermissionState = String + +/** Static definitions for [[PushPermissionState]] */ +object PushPermissionState { + + /** The webapp has permission to use the Push API. */ + val granted: PushPermissionState = "granted" + + /** The webapp has been denied permission to use the Push API. */ + val denied: PushPermissionState = "denied" + + /** The webapp needs to ask for permission in order to use the Push API. */ + val prompt: PushPermissionState = "prompt" +} diff --git a/src/main/scala-3/org/scalajs/dom/RTCBundlePolicy.scala b/src/main/scala-3/org/scalajs/dom/RTCBundlePolicy.scala new file mode 100644 index 000000000..4ff7f73b0 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RTCBundlePolicy.scala @@ -0,0 +1,25 @@ +/** http://www.w3.org/TR/2015/WD-webrtc-20150210/ */ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[https://www.w3.org/TR/2015/WD-webrtc-20150210/#idl-def-RTCBundlePolicy]] in W3C spec */ +opaque type RTCBundlePolicy = String + +object RTCBundlePolicy { + + /** Gather ICE candidates for each media type in use (audio, video, and data). If the remote endpoint is not + * BUNDLE-aware, negotiate only one audio and video track on separate transports. + */ + val balanced: RTCBundlePolicy = "balanced" + + /** Gather ICE candidates for each track. If the remote endpoint is not BUNDLE-aware, negotiate all media tracks on + * separate transports. + */ + val `max-compat`: RTCBundlePolicy = "max-compat" + + /** Gather ICE candidates for only one track. If the remote endpoint is not BUNDLE-aware, negotiate only one media + * track. + */ + val `max-bundle`: RTCBundlePolicy = "max-bundle" +} diff --git a/src/main/scala-3/org/scalajs/dom/RTCDataChannelState.scala b/src/main/scala-3/org/scalajs/dom/RTCDataChannelState.scala new file mode 100644 index 000000000..780c0a6f5 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RTCDataChannelState.scala @@ -0,0 +1,26 @@ +/** http://www.w3.org/TR/2015/WD-webrtc-20150210/ */ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[https://www.w3.org/TR/2015/WD-webrtc-20150210/#idl-def-RTCDataChannelState]] in W3C spec */ +opaque type RTCDataChannelState = String + +object RTCDataChannelState { + + /** The user agent is attempting to establish the underlying data transport. This is the initial state of a + * RTCDataChannel object created with createDataChannel(). + */ + val connecting: RTCDataChannelState = "connecting" + + /** The underlying data transport is established and communication is possible. This is the initial state of a + * RTCDataChannel object dispatched as a part of a RTCDataChannelEvent. + */ + val open: RTCDataChannelState = "open" + + /** The procedure to close down the underlying data transport has started. */ + val closing: RTCDataChannelState = "closing" + + /** The underlying data transport has been closed or could not be established. */ + val closed: RTCDataChannelState = "closed" +} diff --git a/src/main/scala-3/org/scalajs/dom/RTCIceConnectionState.scala b/src/main/scala-3/org/scalajs/dom/RTCIceConnectionState.scala new file mode 100644 index 000000000..2cab2abaa --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RTCIceConnectionState.scala @@ -0,0 +1,41 @@ +/** http://www.w3.org/TR/2015/WD-webrtc-20150210/ */ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[https://www.w3.org/TR/2015/WD-webrtc-20150210/#rtciceconnectionstate-enum]] in W3C spec */ +opaque type RTCIceConnectionState = String + +object RTCIceConnectionState { + + /** The ICE Agent is gathering addresses and/or waiting for remote candidates to be supplied. */ + val `new`: RTCIceConnectionState = "new" + + /** The ICE Agent has received remote candidates on at least one component, and is checking candidate pairs but has + * not yet found a connection. In addition to checking, it may also still be gathering. + */ + val checking: RTCIceConnectionState = "checking" + + /** The ICE Agent has found a usable connection for all components but is still checking other candidate pairs to see + * if there is a better connection. It may also still be gathering. + */ + val connected: RTCIceConnectionState = "connected" + + /** The ICE Agent has finished gathering and checking and found a connection for all components. Open issue: it is not + * clear how the non controlling ICE side knows it is in the state. + */ + val completed: RTCIceConnectionState = "completed" + + /** The ICE Agent is finished checking all candidate pairs and failed to find a connection for at least one component. + * Connections may have been found for some components. + */ + val failed: RTCIceConnectionState = "failed" + + /** Liveness checks have failed for one or more components. This is more aggressive than failed, and may trigger + * intermittently (and resolve itself without action) on a flaky network. + */ + val disconnected: RTCIceConnectionState = "disconnected" + + /** The ICE Agent has shut down and is no longer responding to STUN requests. */ + val closed: RTCIceConnectionState = "closed" +} diff --git a/src/main/scala-3/org/scalajs/dom/RTCIceGatheringState.scala b/src/main/scala-3/org/scalajs/dom/RTCIceGatheringState.scala new file mode 100644 index 000000000..f94c6f65c --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RTCIceGatheringState.scala @@ -0,0 +1,20 @@ +/** http://www.w3.org/TR/2015/WD-webrtc-20150210/ */ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type RTCIceGatheringState = String + +object RTCIceGatheringState { + + /** The object was just created, and no networking has occurred yet. */ + val `new`: RTCIceGatheringState = "new" + + /** The ICE engine is in the process of gathering candidates for this RTCPeerConnection. */ + val gathering: RTCIceGatheringState = "gathering" + + /** The ICE engine has completed gathering. Events such as adding a new interface or a new TURN server will cause the + * state to go back to gathering. + */ + val complete: RTCIceGatheringState = "complete" +} diff --git a/src/main/scala-3/org/scalajs/dom/RTCIceTransportPolicy.scala b/src/main/scala-3/org/scalajs/dom/RTCIceTransportPolicy.scala new file mode 100644 index 000000000..9dac209d9 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RTCIceTransportPolicy.scala @@ -0,0 +1,21 @@ +/** http://www.w3.org/TR/2015/WD-webrtc-20150210/ */ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[https://www.w3.org/TR/2015/WD-webrtc-20150210/#idl-def-RTCIceTransportPolicy]] in W3C spec */ +opaque type RTCIceTransportPolicy = String + +object RTCIceTransportPolicy { + + /** The ICE engine must not send or receive any packets at this point. */ + val none: RTCIceTransportPolicy = "none" + + /** The ICE engine must only use media relay candidates such as candidates passing through a TURN server. This can be + * used to reduce leakage of IP addresses in certain use cases. + */ + val relay: RTCIceTransportPolicy = "relay" + + /** The ICE engine may use any type of candidates when this value is specified. */ + val all: RTCIceTransportPolicy = "all" +} diff --git a/src/main/scala-3/org/scalajs/dom/RTCSdpType.scala b/src/main/scala-3/org/scalajs/dom/RTCSdpType.scala new file mode 100644 index 000000000..03bfc4e3b --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RTCSdpType.scala @@ -0,0 +1,25 @@ +/** http://www.w3.org/TR/2015/WD-webrtc-20150210/ */ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[https://www.w3.org/TR/2015/WD-webrtc-20150210/#idl-def-RTCSdpType]] in W3C spec */ +opaque type RTCSdpType = String + +object RTCSdpType { + + /** An RTCSdpType of "offer" indicates that a description should be treated as an [SDP] offer. */ + val offer: RTCSdpType = "offer" + + /** An RTCSdpType of "pranswer" indicates that a description should be treated as an [SDP] answer, but not a final + * answer. A description used as an SDP "pranswer" may be applied as a response to a SDP offer, or an update to a + * previously sent SDP "pranswer". + */ + val pranswer: RTCSdpType = "pranswer" + + /** An RTCSdpType of "answer" indicates that a description should be treated as an [SDP] final answer, and the + * offer-answer exchange should be considered complete. A description used as an SDP answer may be applied as a + * response to an SDP offer or as an update to a previously sent SDP "pranswer". + */ + val answer: RTCSdpType = "answer" +} diff --git a/src/main/scala-3/org/scalajs/dom/RTCSignalingState.scala b/src/main/scala-3/org/scalajs/dom/RTCSignalingState.scala new file mode 100644 index 000000000..81ab9175a --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RTCSignalingState.scala @@ -0,0 +1,35 @@ +/** http://www.w3.org/TR/2015/WD-webrtc-20150210/ */ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type RTCSignalingState = String + +object RTCSignalingState { + + /** There is no offer­answer exchange in progress. This is also the initial state in which case the local and remote + * descriptions are empty. + */ + val stable: RTCSignalingState = "stable" + + /** A local description, of type "offer", has been successfully applied. */ + val `have-local-offer`: RTCSignalingState = "have-local-offer" + + /** A remote description, of type "offer", has been successfully applied. */ + val `have-remote-offer`: RTCSignalingState = "have-remote-offer" + + /** A remote description of type "offer" has been successfully applied and a local description of type "pranswer" has + * been successfully applied. + */ + val `have-local-pranswer`: RTCSignalingState = + "have-local-pranswer" + + /** A local description of type "offer" has been successfully applied and a remote description of type "pranswer" has + * been successfully applied. + */ + val `have-remote-pranswer`: RTCSignalingState = + "have-remote-pranswer" + + /** The connection is closed. */ + val closed: RTCSignalingState = "closed" +} diff --git a/src/main/scala-3/org/scalajs/dom/RTCStatsType.scala b/src/main/scala-3/org/scalajs/dom/RTCStatsType.scala new file mode 100644 index 000000000..41b6d7038 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RTCStatsType.scala @@ -0,0 +1,16 @@ +/** http://www.w3.org/TR/2015/WD-webrtc-20150210/ */ +package org.scalajs.dom + +import scala.scalajs.js + +/** see [[https://www.w3.org/TR/2015/WD-webrtc-20150210/#idl-def-RTCStatsType]] in W3C spec */ +opaque type RTCStatsType = String + +object RTCStatsType { + + /** Inbound RTP. */ + val `inbound-rtp`: RTCStatsType = "inbound-rtp" + + /** Outbound RTP. */ + val `outbound-rtp`: RTCStatsType = "outbound-rtp" +} diff --git a/src/main/scala-3/org/scalajs/dom/ReferrerPolicy.scala b/src/main/scala-3/org/scalajs/dom/ReferrerPolicy.scala new file mode 100644 index 000000000..118b34453 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/ReferrerPolicy.scala @@ -0,0 +1,18 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type ReferrerPolicy = String + +object ReferrerPolicy { + val empty: ReferrerPolicy = "" + val `no-referrer`: ReferrerPolicy = "no-referrer" + + val `no-referrer-when-downgrade`: ReferrerPolicy = + "no-referrer-when-downgrade" + val `origin-only`: ReferrerPolicy = "origin-only" + + val `origin-when-cross-origin`: ReferrerPolicy = + "origin-when-cross-origin" + val `unsafe-url`: ReferrerPolicy = "unsafe-url" +} diff --git a/src/main/scala-3/org/scalajs/dom/RequestCache.scala b/src/main/scala-3/org/scalajs/dom/RequestCache.scala new file mode 100644 index 000000000..6df97619a --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RequestCache.scala @@ -0,0 +1,15 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** Fetch APIs [[https://fetch.spec.whatwg.org/#requestcache RequestCache enum]] */ +opaque type RequestCache = String + +object RequestCache { + val default: RequestCache = "default" + val `no-store`: RequestCache = "no-store" + val reload: RequestCache = "reload" + val `no-cache`: RequestCache = "no-cache" + val `force-cache`: RequestCache = "force-cache" + val `only-if-cached`: RequestCache = "only-if-cached" +} diff --git a/src/main/scala-3/org/scalajs/dom/RequestCredentials.scala b/src/main/scala-3/org/scalajs/dom/RequestCredentials.scala new file mode 100644 index 000000000..f8b873498 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RequestCredentials.scala @@ -0,0 +1,12 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** Fetch APIs [[https://fetch.spec.whatwg.org/#requestcredentials RequestCredentials enum]] */ +opaque type RequestCredentials = String + +object RequestCredentials { + val omit: RequestCredentials = "omit" + val `same-origin`: RequestCredentials = "same-origin" + val include: RequestCredentials = "include" +} diff --git a/src/main/scala-3/org/scalajs/dom/RequestDestination.scala b/src/main/scala-3/org/scalajs/dom/RequestDestination.scala new file mode 100644 index 000000000..41143b9bf --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RequestDestination.scala @@ -0,0 +1,15 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** Fetch APIs [[https://fetch.spec.whatwg.org/#requestdestination RequestDestination enum]] */ +opaque type RequestDestination = String + +object RequestDestination { + val empty: RequestDestination = "" + val document: RequestDestination = "document" + val sharedworker: RequestDestination = "sharedworker" + val subresource: RequestDestination = "subresource" + val unknown: RequestDestination = "unknown" + val worker: RequestDestination = "worker" +} diff --git a/src/main/scala-3/org/scalajs/dom/RequestMode.scala b/src/main/scala-3/org/scalajs/dom/RequestMode.scala new file mode 100644 index 000000000..832015f7e --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RequestMode.scala @@ -0,0 +1,13 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** Fetch API's [[https://fetch.spec.whatwg.org/#requestmode RequestMode enum]] */ +opaque type RequestMode = String + +object RequestMode { + val navigate: RequestMode = "navigate" + val `same-origin`: RequestMode = "same-origin" + val `no-cors`: RequestMode = "no-cors" + val cors: RequestMode = "cors" +} diff --git a/src/main/scala-3/org/scalajs/dom/RequestRedirect.scala b/src/main/scala-3/org/scalajs/dom/RequestRedirect.scala new file mode 100644 index 000000000..6398a62ce --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RequestRedirect.scala @@ -0,0 +1,12 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** Fetch API's [[https://fetch.spec.whatwg.org/#requestredirect RequestRedirect enum]] */ +opaque type RequestRedirect = String + +object RequestRedirect { + val follow: RequestRedirect = "follow" + val error: RequestRedirect = "error" + val manual: RequestRedirect = "manual" +} diff --git a/src/main/scala-3/org/scalajs/dom/RequestType.scala b/src/main/scala-3/org/scalajs/dom/RequestType.scala new file mode 100644 index 000000000..c79e7f449 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/RequestType.scala @@ -0,0 +1,17 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** Fetch APIs [[https://fetch.spec.whatwg.org/#requesttype RequestType enum]] */ +opaque type RequestType = String + +object RequestType { + val empty: RequestType = "" + val audio: RequestType = "audio" + val font: RequestType = "font" + val image: RequestType = "image" + val script: RequestType = "script" + val style: RequestType = "style" + val track: RequestType = "track" + val video: RequestType = "video" +} diff --git a/src/main/scala-3/org/scalajs/dom/ResponseType.scala b/src/main/scala-3/org/scalajs/dom/ResponseType.scala new file mode 100644 index 000000000..b1d50a1ed --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/ResponseType.scala @@ -0,0 +1,15 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type ResponseType = String + +/** see [[https://fetch.spec.whatwg.org/#responsetype]] of whatwg Fetch spec */ +object ResponseType { + val basic: ResponseType = "basic" + val cors: ResponseType = "cors" + val default: ResponseType = "default" + val error: ResponseType = "error" + val opaque: ResponseType = "opaque" + val opaqueredirect: ResponseType = "opaqueredirect" +} diff --git a/src/main/scala-3/org/scalajs/dom/ServiceWorkerState.scala b/src/main/scala-3/org/scalajs/dom/ServiceWorkerState.scala new file mode 100644 index 000000000..f848788e0 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/ServiceWorkerState.scala @@ -0,0 +1,35 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#service-worker-obj ¶3.1 ServiceWorker]] of + * ServiceWorker whatwg spec. + */ +opaque type ServiceWorkerState = String + +object ServiceWorkerState { + + /** The service worker in this state is considered an installing worker. During this state, event.waitUntil(f) can be + * called inside the oninstall event handler to extend the life of the installing worker until the passed promise + * resolves successfully. This is primarily used to ensure that the service worker is not active until all of the + * core caches are populated. + */ + val installing: ServiceWorkerState = "installing" + + /** The service worker in this state is considered a waiting worker. */ + val installed: ServiceWorkerState = "installed" + + /** The service worker in this state is considered an active worker. During this state, event.waitUntil(f) can be + * called inside the onactivate event handler to extend the life of the active worker until the passed promise + * resolves successfully. No functional events are dispatched until the state becomes activated. + */ + val activating: ServiceWorkerState = "activating" + + /** The service worker in this state is considered an active worker ready to handle functional events. */ + val activated: ServiceWorkerState = "activated" + + /** A new service worker is replacing the current service worker, or the current service worker is being discarded due + * to an install failure. + */ + val redundant: ServiceWorkerState = "redundant" +} diff --git a/src/main/scala-3/org/scalajs/dom/VisibilityState.scala b/src/main/scala-3/org/scalajs/dom/VisibilityState.scala new file mode 100644 index 000000000..da02444a2 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/VisibilityState.scala @@ -0,0 +1,33 @@ +/** All documentation for facades is thanks to Mozilla Contributors at https://developer.mozilla.org/en-US/docs/Web/API + * and available under the Creative Commons Attribution-ShareAlike v2.5 or later. + * http://creativecommons.org/licenses/by-sa/2.5/ + * + * Everything else is under the MIT License http://opensource.org/licenses/MIT + */ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type VisibilityState = String + +object VisibilityState { + + /** The page content may be at least partially visible. In practice this means that the page is the foreground tab of + * a non-minimized window. + */ + val visible: VisibilityState = "visible" + + /** The page content is not visible to the user. In practice this means that the document is either a background tab + * or part of a minimized window, or the OS screen lock is active. + */ + val hidden: VisibilityState = "hidden" + + /** the page content is being prerendered and is not visible to the user (considered hidden for purposes of + * document.hidden). The document may start in this state, but will never transition to it from another value. Note: + * browser support is optional. + */ + val prerender: VisibilityState = "prerender" + + /** The page is being unloaded from memory. Note: browser support is optional. */ + val unloaded: VisibilityState = "unloaded" +} diff --git a/src/main/scala-3/org/scalajs/dom/WriteableState.scala b/src/main/scala-3/org/scalajs/dom/WriteableState.scala new file mode 100644 index 000000000..46a72e086 --- /dev/null +++ b/src/main/scala-3/org/scalajs/dom/WriteableState.scala @@ -0,0 +1,31 @@ +package org.scalajs.dom + +import scala.scalajs.js + +// the stream API is defined in https://streams.spec.whatwg.org/ + +/** [[https://streams.spec.whatwg.org/#ws-state ¶4.2.4.3. get state]] of whatwg streams spec */ +opaque type WriteableState = String + +object WriteableState { + + /** The stream’s internal queue is full; that is, the stream is exerting backpressure. Use .ready to be notified of + * when the pressure subsides. + */ + val waiting: WriteableState = "waiting" + + /** The stream’s internal queue is not full; call .write() until backpressure is exerted. */ + val writable: WriteableState = "writable" + + /** The stream’s .close() method has been called, and a command to close is in the queue or being processed by the + * underlying sink; attempts to write will now fail. + */ + val closing: WriteableState = "closing" + + /** The underlying sink has been closed; writing is no longer possible. */ + val closed: WriteableState = "closed" + + /** An error occurred interacting with the underlying sink or the stream has been aborted, so the stream is now dead. + */ + val errored: WriteableState = "errored" +} diff --git a/src/main/scala/org/scalajs/dom/RTCConfiguration.scala b/src/main/scala/org/scalajs/dom/RTCConfiguration.scala index dbb1f7726..ae0652ba3 100644 --- a/src/main/scala/org/scalajs/dom/RTCConfiguration.scala +++ b/src/main/scala/org/scalajs/dom/RTCConfiguration.scala @@ -31,9 +31,9 @@ object RTCConfiguration { peerIdentity: js.UndefOr[String] = js.undefined): RTCConfiguration = { val result = js.Dynamic.literal() iceServers.foreach(result.iceServers = _) - iceTransportPolicy.foreach(result.iceTransportPolicy = _) - bundlePolicy.foreach(result.bundlePolicy = _) - peerIdentity.foreach(result.peerIdentity = _) + iceTransportPolicy.foreach(x => result.iceTransportPolicy = x.asInstanceOf[js.Any]) + bundlePolicy.foreach(x => result.bundlePolicy = x.asInstanceOf[js.Any]) + peerIdentity.foreach(x => result.peerIdentity = x.asInstanceOf[js.Any]) result.asInstanceOf[RTCConfiguration] } } diff --git a/src/main/scala/org/scalajs/dom/RTCSessionDescriptionInit.scala b/src/main/scala/org/scalajs/dom/RTCSessionDescriptionInit.scala index 4b08152dc..594305546 100644 --- a/src/main/scala/org/scalajs/dom/RTCSessionDescriptionInit.scala +++ b/src/main/scala/org/scalajs/dom/RTCSessionDescriptionInit.scala @@ -16,7 +16,7 @@ object RTCSessionDescriptionInit { def apply(`type`: js.UndefOr[RTCSdpType] = js.undefined, sdp: js.UndefOr[String] = js.undefined): RTCSessionDescriptionInit = { val result = js.Dynamic.literal() - `type`.foreach(result.`type` = _) + `type`.foreach(x => result.`type` = x.asInstanceOf[js.Any]) sdp.foreach(result.sdp = _) result.asInstanceOf[RTCSessionDescriptionInit] }