Skip to content

Commit cf24b55

Browse files
authored
Merge pull request #603 from scala-js/topic/opaque-subtyping
Make opaque string types subtype String
2 parents 44e3cba + 42d6218 commit cf24b55

39 files changed

+41
-41
lines changed

src/main/scala-3/org/scalajs/dom/AppendMode.scala

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

3-
opaque type AppendMode = String
3+
opaque type AppendMode <: String = String
44

55
object AppendMode {
66
val segments: AppendMode = "segments"

src/main/scala-3/org/scalajs/dom/ClientType.scala

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

33
import scala.scalajs.js
44

5-
opaque type ClientType = String
5+
opaque type ClientType <: String = String
66

77
object ClientType {
88
val window: ClientType = "window"

src/main/scala-3/org/scalajs/dom/EndOfStreamError.scala

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

3-
opaque type EndOfStreamError = String
3+
opaque type EndOfStreamError <: String = String
44

55
object EndOfStreamError {
66
val decode: EndOfStreamError = "decode"

src/main/scala-3/org/scalajs/dom/FrameType.scala

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

33
import scala.scalajs.js
44

5-
opaque type FrameType = String
5+
opaque type FrameType <: String = String
66

77
/** part of ServiceWorker
88
* [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#client-frametype ¶4.2.2 frameType]] of

src/main/scala-3/org/scalajs/dom/IDBTransactionDurability.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ package org.scalajs.dom
88

99
import scala.scalajs.js
1010

11-
opaque type IDBTransactionDurability = String
11+
opaque type IDBTransactionDurability <: String = String
1212

1313
object IDBTransactionDurability {
1414
val default: IDBTransactionDurability = "default"

src/main/scala-3/org/scalajs/dom/IDBTransactionMode.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import scala.scalajs.js
1111
/** IndexedDB transaction mode Provides constants for IDB Transaction modes These constants have been removed from
1212
* browser support and replaced by String values
1313
*/
14-
opaque type IDBTransactionMode = String
14+
opaque type IDBTransactionMode <: String = String
1515

1616
object IDBTransactionMode {
1717

src/main/scala-3/org/scalajs/dom/KeyFormat.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package org.scalajs.dom
33
import scala.scalajs.js
44

55
/** see [[http://www.w3.org/TR/WebCryptoAPI/#dfn-KeyFormat ¶14.2 Data Types]] in W3C spec */
6-
opaque type KeyFormat = String
6+
opaque type KeyFormat <: String = String
77

88
object KeyFormat {
99

src/main/scala-3/org/scalajs/dom/KeyType.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package org.scalajs.dom
33
import scala.scalajs.js
44

55
/** see [[http://www.w3.org/TR/WebCryptoAPI/#cryptokey-interface ¶13 CryptoKey interface]] in W3C doc */
6-
opaque type KeyType = String
6+
opaque type KeyType <: String = String
77

88
object KeyType {
99
val public: KeyType = "public"

src/main/scala-3/org/scalajs/dom/KeyUsage.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package org.scalajs.dom
33
import scala.scalajs.js
44

55
/** See [[http://www.w3.org/TR/WebCryptoAPI/#cryptokey-interface ¶ 13. CryptoKey Interface]] of w3c spec */
6-
opaque type KeyUsage = String
6+
opaque type KeyUsage <: String = String
77

88
object KeyUsage {
99
val encrypt: KeyUsage = "encrypt"

src/main/scala-3/org/scalajs/dom/MIMEType.scala

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

33
import scala.scalajs.js
44

5-
opaque type MIMEType = String
5+
opaque type MIMEType <: String = String
66

77
object MIMEType {
88
val `text/html`: MIMEType = "text/html"

0 commit comments

Comments
 (0)