Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update scalajs-dom to 2.8.0 #150

Merged
merged 3 commits into from
Sep 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ lazy val V = new {
val munit = "1.0.0-M8" // "0.7.29"

// https://mvnrepository.com/artifact/org.scala-js/scalajs-dom
val scalajsDom = "2.6.0"
val scalajsDom = "2.8.0"
// val scalajsLogging = "1.1.2-SNAPSHOT" //"1.1.2"

// https://mvnrepository.com/artifact/dev.zio/zio
Expand Down
8 changes: 4 additions & 4 deletions webapp/src/main/scala/fmgp/webapp/SandboxSettings.scala
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ object SandboxSettings {
button(
"Register URL protocol handler: web",
onClick --> { _ =>
val n = dom.window.navigator.asInstanceOf[dom.NavigatorProtocolHandler]
val n = dom.window.navigator
n.registerProtocolHandler("did", "#/resolver/%s")
println("""registerProtocolHandler("did", "#/resolver/%s")""")
},
),
button(
"Unregister URL protocol handler: web",
onClick --> { _ =>
val n = dom.window.navigator.asInstanceOf[dom.NavigatorProtocolHandler]
val n = dom.window.navigator
n.unregisterProtocolHandler("did", "#/resolver/%s")
println("""unregisterProtocolHandler("did", "#/resolver/%s")""")
},
Expand All @@ -41,15 +41,15 @@ object SandboxSettings {
button(
"Register URL protocol handler: web+did",
onClick --> { _ =>
val n = dom.window.navigator.asInstanceOf[dom.NavigatorProtocolHandler]
val n = dom.window.navigator
n.registerProtocolHandler("web+did", "#/resolver/%s")
println("""registerProtocolHandler("web+did", "#/resolver/%s")""")
},
),
button(
"Unregister URL protocol handler: web+did",
onClick --> { _ =>
val n = dom.window.navigator.asInstanceOf[dom.NavigatorProtocolHandler]
val n = dom.window.navigator
n.unregisterProtocolHandler("web+did", "#/resolver/%s")
println("""unregisterProtocolHandler("web+did", "#/resolver/%s")""")
},
Expand Down
11 changes: 7 additions & 4 deletions webapp/src/main/scala/org/scalajs/dom/NDEFMessage.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,16 @@ import scala.scalajs.js.annotation.JSGlobal
* or could be written to an NFC tag. An instance is acquired by calling the NDEFMessage() constructor or from the
* NDEFReadingEvent.message property, which is passed to the reading event.
*
* @param records
* The records property of NDEFMessage interface represents a list of NDEFRecords present in the NDEF message.
* @see
* https://w3c.github.io/web-nfc/#the-ndefmessage-interface
*
* @param messageInit
* property of NDEFMessage interface represents a list of NDEFRecords present in the NDEF message.
*/
@js.native
@JSGlobal
class NDEFMessage extends js.Object {
class NDEFMessage(messageInit: js.Array[NDEFRecordInit]) extends js.Object {

/** Returns the list of NDEF records contained in the message. */
var records: FrozenArray[NDEFRecord] = js.native
def records: FrozenArray[NDEFRecord] = js.native
}
7 changes: 6 additions & 1 deletion webapp/src/main/scala/org/scalajs/dom/NDEFReader.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ import scala.scalajs.js.annotation.JSGlobal
/** The [[NDEFReader]] interface of the Web NFC API (https://developer.mozilla.org/en-US/docs/Web/API/Web_NFC_API) is
* used to read from and write data to compatible NFC devices, e.g. NFC tags supporting NDEF, when these devices are
* within the reader's magnetic induction field.
*
* @see
* https://w3c.github.io/web-nfc/#the-ndefreader-object
*/
@JSGlobal("NDEFReader")
@js.native
Expand Down Expand Up @@ -36,7 +39,9 @@ class NDEFReader() extends EventTarget {
*/
def write(message: String, options: NDEFWriteOptions): js.Promise[Unit] = js.native
def write(message: js.typedarray.ArrayBuffer, options: NDEFWriteOptions): js.Promise[Unit] = js.native
// def write(message:js.typedarray.TypedArray[NDEFRecord, ???] , options: NDEFWriteOptions = js.native): js.Promise[Unit] = js.native

def write(message: js.typedarray.TypedArray[_, _],
options: NDEFWriteOptions = js.native): js.Promise[Unit] = js.native
def write(message: js.typedarray.DataView, options: NDEFWriteOptions): js.Promise[Unit] = js.native
def write(message: js.Array[NDEFRecord], options: NDEFWriteOptions): js.Promise[Unit] = js.native

Expand Down
11 changes: 7 additions & 4 deletions webapp/src/main/scala/org/scalajs/dom/NDEFReadingEvent.scala
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
package org.scalajs.dom

import scala.scalajs.js
import scala.scalajs.js.annotation.JSGlobal

/** The NDEFReadingEvent interface of the Web NFC API represents events dispatched on new NFC readings obtained by
* NDEFReader.
*
* @see
* https://developer.mozilla.org/en-US/docs/Web/API/NDEFReadingEvent
* @see
* https://w3c.github.io/web-nfc/#the-ndefreader-object
*/
@js.native
trait NDEFReadingEvent extends Event {
@JSGlobal
class NDEFReadingEvent(typeArg: String, init: NDEFReadingEventInit) extends Event(typeArg, init) {

/** Returns an NDEFMessage object containing the received message. */
var message: NDEFMessage = js.native
def message: NDEFMessage = js.native

/** Returns the serial number of the device, which is used for anti-collision and identification, or an empty string
* if no serial number is available.
*/
var serialNumber: String = js.native

def serialNumber: String = js.native
}
24 changes: 24 additions & 0 deletions webapp/src/main/scala/org/scalajs/dom/NDEFReadingEventInit.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package org.scalajs.dom

import scala.scalajs.js

/** NDEFReadingEventInit is used to initialize a new event with a serial number and the NDEFMessageInit data via the
* message member. If serialNumber is not present or is null, empty string will be used to init the event.
*
* @see
* https://developer.mozilla.org/en-US/docs/Web/API/NDEFReadingEvent/NDEFReadingEvent#parameters
* @see
* https://w3c.github.io/web-nfc/#the-ndefreader-object
*/
trait NDEFReadingEventInit extends EventInit {

/** A string with the name of the event. It is case-sensitive and browsers always set it to reading. Default is "" an
* empty string
*/
var serialNumber: js.UndefOr[AbortSignal] = js.undefined

/** An object that, in addition of the properties defined in Event(), can have the following properties: serialNumber;
* message
*/
var message: NDEFRecordInit
}
19 changes: 11 additions & 8 deletions webapp/src/main/scala/org/scalajs/dom/NDEFRecord.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,40 @@ import scala.scalajs.js.annotation.JSGlobal

/** The [[NDEFRecord]] interface of the Web NFC API provides data that can be read from, or written to, compatible NFC
* devices, e.g. NFC tags supporting NDEF.
*
* @see
* https://w3c.github.io/web-nfc/#the-ndefrecord-interface
*/
@js.native
@JSGlobal
class NDEFRecord extends js.Object {
class NDEFRecord(init: NDEFRecordInit) extends js.Object {

/** Returns the record type of the record. Records must have either a standardized well-known type name such as
* "empty", "text", "url", "smart-poster", "absolute-url", "mime", or "unknown" or else an external type name, which
* consists of a domain name and custom type name separated by a colon (":").
*/
var recordType: String = js.native
def recordType: String = js.native

/** Returns the MIME type of the record. This value will be null if recordType is not equal to "mime". */
var mediaType: js.UndefOr[String] = js.native
def mediaType: js.UndefOr[String] = js.native

/** Returns the record identifier, which is an absolute or relative URL used to identify the record.
*
* Note: The uniqueness of the identifier is enforced only by the generator of the record.
*/
var id: js.UndefOr[String] = js.native
def id: js.UndefOr[String] = js.native

/** Returns a DataView containing the raw bytes of the record's payload. */
var data: js.typedarray.DataView = js.native
def data: js.typedarray.DataView = js.native

/** Returns the encoding of a textual payload, or null otherwise. */
var encoding: js.UndefOr[String] = js.native
def encoding: js.UndefOr[String] = js.native

/** Returns the language of a textual payload, or null if one was not supplied. */
var lang: js.UndefOr[String] = js.native
def lang: js.UndefOr[String] = js.native

/** Converts [[NDEFRecord.data]] to a sequence of records. This allows parsing the payloads of record types which may
* contain nested records, such as smart poster and external type records.
*/
def toRecords(): js.Array[NDEFRecord] = js.native
def toRecords(): js.UndefOr[js.Array[NDEFRecord]] = js.native
}
55 changes: 55 additions & 0 deletions webapp/src/main/scala/org/scalajs/dom/NDEFRecordInit.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package org.scalajs.dom

import scala.scalajs.js
import scala.scalajs.js.|

/** The NDEFRecordInit dictionary is used to initialize an NDEF record with its record type recordType, and optional
* record identifier id and payload data data.
* @see
* https://developer.mozilla.org/en-US/docs/Web/API/NDEFMessage/NDEFMessage
* @see
* https://developer.mozilla.org/en-US/docs/Web/API/NDEFRecord/NDEFRecord
* @see
* https://w3c.github.io/web-nfc/#the-ndefrecord-interface
*/
trait NDEFRecordInit extends js.Object {

/** Contains the data to be transmitted. It can be a string object or literal, an ArrayBuffer, a TypedArray, a
* DataView, or an array of nested records.
*/
var data: js.UndefOr[
String |
js.typedarray.DataView |
js.typedarray.ArrayBuffer |
js.typedarray.TypedArray[_, _] |
js.typedarray.DataView |
js.Array[NDEFRecord]
] = js.undefined

/** A string specifying the record's encoding. */
var encoding: js.UndefOr[String] = js.undefined

/** A developer-defined identifier for the record. */
var id: js.UndefOr[String] = js.undefined

/** A valid language tag according to [RFC 5646: Tags for Identifying Languages (also known as BCP
* 47)](https://datatracker.ietf.org/doc/html/rfc5646).
*/
var lang: js.UndefOr[String] = js.undefined

/** A valid MIME type. */
var mediaType: js.UndefOr[String] = js.undefined

/** A string indicating the type of data stored in data.
*
* It must be one of the following values:
* - "absolute-url" - An absolute URL to the data.
* - "empty" - An empty NDEFRecord.
* - "mime" - A valid MIME type.
* - "smart-poster" - A smart poster as defined by the NDEF-SMARTPOSTER specification.
* - "text" - Text as defined by the NDEF-TEXT specification.
* - "unknown" - The record type is not known.
* - "URL" - A URL as defined by the NDEF-URI specification.
*/
var recordType: String
}
4 changes: 2 additions & 2 deletions webapp/src/main/scala/org/scalajs/dom/NDEFScanOptions.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package org.scalajs.dom

import scala.scalajs.js

@js.native
/** @see https://w3c.github.io/web-nfc/#the-ndefscanoptions-dictionary */
trait NDEFScanOptions extends js.Object {

/** An AbortSignal that allows the current write operation to be canceled. */
def `signal`: js.UndefOr[AbortSignal] = js.native
var `signal`: js.UndefOr[AbortSignal] = js.undefined
}
14 changes: 10 additions & 4 deletions webapp/src/main/scala/org/scalajs/dom/NDEFWriteOptions.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@ package org.scalajs.dom

import scala.scalajs.js

@js.native
/** @see
* https://w3c.github.io/web-nfc/#the-ndefwriteoptions-dictionary
* @see
* https://developer.mozilla.org/en-US/docs/Web/API/NDEFReader/write
*/
trait NDEFWriteOptions extends js.Object {

/** A boolean value specifying whether or not existing records should be overwritten, if such exists. */
def `overwrite`: Boolean = js.native
/** A boolean value specifying whether or not existing records should be overwritten, if such exists. Default is true
*/
var `overwrite`: js.UndefOr[Boolean] = js.undefined

/** An AbortSignal that allows the current write operation to be canceled. */
def `signal`: js.UndefOr[AbortSignal] = js.native
var `signal`: js.UndefOr[AbortSignal] = js.undefined

}

This file was deleted.

Loading