Skip to content

Commit 71e569e

Browse files
committed
Migrate storage to dom
1 parent 381b485 commit 71e569e

File tree

5 files changed

+73
-42
lines changed

5 files changed

+73
-42
lines changed

api-reports/2_12.txt

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14360,6 +14360,7 @@ Navigator[JC] def languages: js.Array[String]
1436014360
Navigator[JC] def onLine: Boolean
1436114361
Navigator[JC] def platform: String
1436214362
Navigator[JC] def sendBeacon(url: String, data: BodyInit?): Boolean
14363+
Navigator[JC] val storage: StorageManager
1436314364
Navigator[JC] def userAgent: String
1436414365
Navigator[JC] def vibrate(duration: Double): Boolean
1436514366
Navigator[JC] def vibrate(pattern: js.Array[Double]): Boolean
@@ -22873,6 +22874,8 @@ Storage[JC] def key(index: Int): String
2287322874
Storage[JC] var length: Int
2287422875
Storage[JC] def removeItem(key: String): Unit
2287522876
Storage[JC] def setItem(key: String, data: String): Unit
22877+
StorageEstimate[JT] val quota: Double
22878+
StorageEstimate[JT] val usage: Double
2287622879
StorageEvent[JC] def bubbles: Boolean
2287722880
StorageEvent[JC] def cancelBubble: Boolean
2287822881
StorageEvent[JC] def cancelable: Boolean
@@ -22900,6 +22903,9 @@ StorageEventInit[JT] var oldValue: js.UndefOr[String]
2290022903
StorageEventInit[JT] var scoped: js.UndefOr[Boolean]
2290122904
StorageEventInit[JT] var storageArea: js.UndefOr[Storage]
2290222905
StorageEventInit[JT] var url: js.UndefOr[String]
22906+
StorageManager[JT] def estimate(): js.Promise[StorageEstimate]
22907+
StorageManager[JT] def persist(): js.Promise[Boolean]
22908+
StorageManager[JT] def persisted(): js.Promise[Boolean]
2290322909
StyleMedia[JT] def matchMedium(mediaquery: String): Boolean
2290422910
StyleMedia[JT] def `type`: String
2290522911
StyleSheet[JC] def disabled: Boolean
@@ -25143,19 +25149,22 @@ experimental/sharedworkers/SharedWorkerGlobalScope[JT] def removeEventListener[T
2514325149
experimental/sharedworkers/SharedWorkerGlobalScope[JT] def self: this.type
2514425150
experimental/sharedworkers/SharedWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int
2514525151
experimental/sharedworkers/SharedWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int
25146-
experimental/storage/package[SO] def estimate(): js.Promise[StorageEstimate]
25147-
experimental/storage/package[SO] def persist(): js.Promise[Boolean]
25148-
experimental/storage/package[SO] def persisted(): js.Promise[Boolean]
25149-
experimental/storage/package[SO] val quota: Double
25150-
experimental/storage/package[SO] val storage: StorageManager
25151-
experimental/storage/package[SO] implicit def toNavigatorStorage(navigator: dom.Navigator): NavigatorStorage
25152-
experimental/storage/package[SO] val usage: Double
25153-
experimental/storage/package.NavigatorStorage[JT] val storage: StorageManager
25154-
experimental/storage/package.StorageEstimate[JT] val quota: Double
25155-
experimental/storage/package.StorageEstimate[JT] val usage: Double
25156-
experimental/storage/package.StorageManager[JT] def estimate(): js.Promise[StorageEstimate]
25157-
experimental/storage/package.StorageManager[JT] def persist(): js.Promise[Boolean]
25158-
experimental/storage/package.StorageManager[JT] def persisted(): js.Promise[Boolean]
25152+
experimental/storage/package[SO] type StorageEstimate = dom.StorageEstimate (@deprecated in 2.0.0)
25153+
experimental/storage/package[SO] type StorageManager = dom.StorageManager (@deprecated in 2.0.0)
25154+
experimental/storage/package[SO] implicit def toNavigatorStorage(navigator: dom.Navigator): dom.Navigator (@deprecated in 2.0.0)
25155+
experimental/storage/package.NavigatorStorage[JT] def appName: String (@deprecated in 2.0.0)
25156+
experimental/storage/package.NavigatorStorage[JT] def appVersion: String (@deprecated in 2.0.0)
25157+
experimental/storage/package.NavigatorStorage[JT] def clipboard: Clipboard (@deprecated in 2.0.0)
25158+
experimental/storage/package.NavigatorStorage[JT] def geolocation: Geolocation (@deprecated in 2.0.0)
25159+
experimental/storage/package.NavigatorStorage[JT] def language: String (@deprecated in 2.0.0)
25160+
experimental/storage/package.NavigatorStorage[JT] def languages: js.Array[String] (@deprecated in 2.0.0)
25161+
experimental/storage/package.NavigatorStorage[JT] def onLine: Boolean (@deprecated in 2.0.0)
25162+
experimental/storage/package.NavigatorStorage[JT] def platform: String (@deprecated in 2.0.0)
25163+
experimental/storage/package.NavigatorStorage[JT] def sendBeacon(url: String, data: BodyInit?): Boolean (@deprecated in 2.0.0)
25164+
experimental/storage/package.NavigatorStorage[JT] val storage: StorageManager (@deprecated in 2.0.0)
25165+
experimental/storage/package.NavigatorStorage[JT] def userAgent: String (@deprecated in 2.0.0)
25166+
experimental/storage/package.NavigatorStorage[JT] def vibrate(duration: Double): Boolean (@deprecated in 2.0.0)
25167+
experimental/storage/package.NavigatorStorage[JT] def vibrate(pattern: js.Array[Double]): Boolean (@deprecated in 2.0.0)
2515925168
experimental/webgl/ANGLE_instanced_arrays[SO]
2516025169
experimental/webgl/EXT_blend_minmax[SO]
2516125170
experimental/webgl/EXT_color_buffer_half_float[SO]

api-reports/2_13.txt

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14360,6 +14360,7 @@ Navigator[JC] def languages: js.Array[String]
1436014360
Navigator[JC] def onLine: Boolean
1436114361
Navigator[JC] def platform: String
1436214362
Navigator[JC] def sendBeacon(url: String, data: BodyInit?): Boolean
14363+
Navigator[JC] val storage: StorageManager
1436314364
Navigator[JC] def userAgent: String
1436414365
Navigator[JC] def vibrate(duration: Double): Boolean
1436514366
Navigator[JC] def vibrate(pattern: js.Array[Double]): Boolean
@@ -22873,6 +22874,8 @@ Storage[JC] def key(index: Int): String
2287322874
Storage[JC] var length: Int
2287422875
Storage[JC] def removeItem(key: String): Unit
2287522876
Storage[JC] def setItem(key: String, data: String): Unit
22877+
StorageEstimate[JT] val quota: Double
22878+
StorageEstimate[JT] val usage: Double
2287622879
StorageEvent[JC] def bubbles: Boolean
2287722880
StorageEvent[JC] def cancelBubble: Boolean
2287822881
StorageEvent[JC] def cancelable: Boolean
@@ -22900,6 +22903,9 @@ StorageEventInit[JT] var oldValue: js.UndefOr[String]
2290022903
StorageEventInit[JT] var scoped: js.UndefOr[Boolean]
2290122904
StorageEventInit[JT] var storageArea: js.UndefOr[Storage]
2290222905
StorageEventInit[JT] var url: js.UndefOr[String]
22906+
StorageManager[JT] def estimate(): js.Promise[StorageEstimate]
22907+
StorageManager[JT] def persist(): js.Promise[Boolean]
22908+
StorageManager[JT] def persisted(): js.Promise[Boolean]
2290322909
StyleMedia[JT] def matchMedium(mediaquery: String): Boolean
2290422910
StyleMedia[JT] def `type`: String
2290522911
StyleSheet[JC] def disabled: Boolean
@@ -25143,19 +25149,22 @@ experimental/sharedworkers/SharedWorkerGlobalScope[JT] def removeEventListener[T
2514325149
experimental/sharedworkers/SharedWorkerGlobalScope[JT] def self: this.type
2514425150
experimental/sharedworkers/SharedWorkerGlobalScope[JT] def setInterval(handler: js.Function0[Any], timeout: Double): Int
2514525151
experimental/sharedworkers/SharedWorkerGlobalScope[JT] def setTimeout(handler: js.Function0[Any], timeout: Double): Int
25146-
experimental/storage/package[SO] def estimate(): js.Promise[StorageEstimate]
25147-
experimental/storage/package[SO] def persist(): js.Promise[Boolean]
25148-
experimental/storage/package[SO] def persisted(): js.Promise[Boolean]
25149-
experimental/storage/package[SO] val quota: Double
25150-
experimental/storage/package[SO] val storage: StorageManager
25151-
experimental/storage/package[SO] implicit def toNavigatorStorage(navigator: dom.Navigator): NavigatorStorage
25152-
experimental/storage/package[SO] val usage: Double
25153-
experimental/storage/package.NavigatorStorage[JT] val storage: StorageManager
25154-
experimental/storage/package.StorageEstimate[JT] val quota: Double
25155-
experimental/storage/package.StorageEstimate[JT] val usage: Double
25156-
experimental/storage/package.StorageManager[JT] def estimate(): js.Promise[StorageEstimate]
25157-
experimental/storage/package.StorageManager[JT] def persist(): js.Promise[Boolean]
25158-
experimental/storage/package.StorageManager[JT] def persisted(): js.Promise[Boolean]
25152+
experimental/storage/package[SO] type StorageEstimate = dom.StorageEstimate (@deprecated in 2.0.0)
25153+
experimental/storage/package[SO] type StorageManager = dom.StorageManager (@deprecated in 2.0.0)
25154+
experimental/storage/package[SO] implicit def toNavigatorStorage(navigator: dom.Navigator): dom.Navigator (@deprecated in 2.0.0)
25155+
experimental/storage/package.NavigatorStorage[JT] def appName: String (@deprecated in 2.0.0)
25156+
experimental/storage/package.NavigatorStorage[JT] def appVersion: String (@deprecated in 2.0.0)
25157+
experimental/storage/package.NavigatorStorage[JT] def clipboard: Clipboard (@deprecated in 2.0.0)
25158+
experimental/storage/package.NavigatorStorage[JT] def geolocation: Geolocation (@deprecated in 2.0.0)
25159+
experimental/storage/package.NavigatorStorage[JT] def language: String (@deprecated in 2.0.0)
25160+
experimental/storage/package.NavigatorStorage[JT] def languages: js.Array[String] (@deprecated in 2.0.0)
25161+
experimental/storage/package.NavigatorStorage[JT] def onLine: Boolean (@deprecated in 2.0.0)
25162+
experimental/storage/package.NavigatorStorage[JT] def platform: String (@deprecated in 2.0.0)
25163+
experimental/storage/package.NavigatorStorage[JT] def sendBeacon(url: String, data: BodyInit?): Boolean (@deprecated in 2.0.0)
25164+
experimental/storage/package.NavigatorStorage[JT] val storage: StorageManager (@deprecated in 2.0.0)
25165+
experimental/storage/package.NavigatorStorage[JT] def userAgent: String (@deprecated in 2.0.0)
25166+
experimental/storage/package.NavigatorStorage[JT] def vibrate(duration: Double): Boolean (@deprecated in 2.0.0)
25167+
experimental/storage/package.NavigatorStorage[JT] def vibrate(pattern: js.Array[Double]): Boolean (@deprecated in 2.0.0)
2515925168
experimental/webgl/ANGLE_instanced_arrays[SO]
2516025169
experimental/webgl/EXT_blend_minmax[SO]
2516125170
experimental/webgl/EXT_color_buffer_half_float[SO]

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

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,18 @@ import scala.scalajs.js
77
/** https://storage.spec.whatwg.org/ */
88
package object storage {
99

10-
implicit def toNavigatorStorage(navigator: dom.Navigator): NavigatorStorage =
11-
navigator.asInstanceOf[NavigatorStorage]
10+
@deprecated("use dom.Navigator directly instead", "2.0.0")
11+
implicit def toNavigatorStorage(navigator: dom.Navigator): dom.Navigator =
12+
navigator
1213

14+
@deprecated("use dom.Navigator directly instead", "2.0.0")
1315
@js.native
14-
trait NavigatorStorage extends js.Object {
15-
val storage: StorageManager = js.native
16-
}
16+
trait NavigatorStorage extends dom.Navigator
1717

18-
@js.native
19-
trait StorageManager extends js.Any {
20-
def persisted(): js.Promise[Boolean] = js.native
21-
def persist(): js.Promise[Boolean] = js.native
22-
def estimate(): js.Promise[StorageEstimate] = js.native
23-
}
18+
@deprecated("use dom.StorageManager instead", "2.0.0")
19+
type StorageManager = dom.StorageManager
20+
21+
@deprecated("use dom.StorageEstimate instead", "2.0.0")
22+
type StorageEstimate = dom.StorageEstimate
2423

25-
@js.native
26-
trait StorageEstimate extends js.Any {
27-
val usage: Double = js.native
28-
val quota: Double = js.native
29-
}
3024
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,9 @@ class Navigator
325325
* The data parameter is the ArrayBufferView, Blob, DOMString, or FormData data that is to be transmitted.
326326
*/
327327
def sendBeacon(url: String, data: BodyInit = js.native): Boolean = js.native
328+
329+
/** https://storage.spec.whatwg.org/ */
330+
val storage: StorageManager = js.native
328331
}
329332

330333
@js.native
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package org.scalajs.dom
2+
3+
import scala.scalajs.js
4+
5+
@js.native
6+
trait StorageManager extends js.Any {
7+
def persisted(): js.Promise[Boolean] = js.native
8+
def persist(): js.Promise[Boolean] = js.native
9+
def estimate(): js.Promise[StorageEstimate] = js.native
10+
}
11+
12+
@js.native
13+
trait StorageEstimate extends js.Any {
14+
val usage: Double = js.native
15+
val quota: Double = js.native
16+
}

0 commit comments

Comments
 (0)