From 77276de4584bdbf452d6e7302b38ee0c94b728e3 Mon Sep 17 00:00:00 2001 From: exoego Date: Mon, 9 Sep 2019 10:27:35 +0900 Subject: [PATCH] Add experimental Storage API support. --- .../dom/experimental/storage/package.scala | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/main/scala/org/scalajs/dom/experimental/storage/package.scala diff --git a/src/main/scala/org/scalajs/dom/experimental/storage/package.scala b/src/main/scala/org/scalajs/dom/experimental/storage/package.scala new file mode 100644 index 000000000..95e98ac6e --- /dev/null +++ b/src/main/scala/org/scalajs/dom/experimental/storage/package.scala @@ -0,0 +1,32 @@ +package org.scalajs.dom.experimental + +import org.scalajs.dom + +import scala.language.implicitConversions +import scala.scalajs.js + +/** + * https://storage.spec.whatwg.org/ + */ +package object storage { + implicit def toNavigatorStorage(navigator: dom.Navigator): NavigatorStorage = + navigator.asInstanceOf[NavigatorStorage] + + @js.native + trait NavigatorStorage extends js.Object { + val storage: StorageManager = js.native + } + + @js.native + trait StorageManager extends js.Any { + def persisted(): js.Promise[Boolean] = js.native + def persist(): js.Promise[Boolean] = js.native + def estimate(): js.Promise[StorageEstimate] = js.native + } + + @js.native + trait StorageEstimate extends js.Any { + val usage: Double = js.native + val quota: Double = js.native + } +}