Skip to content

Commit 65a35e3

Browse files
committed
Add trait NDEFReadingEventInit and other fixes
1 parent 4f7043a commit 65a35e3

File tree

10 files changed

+119
-61
lines changed

10 files changed

+119
-61
lines changed

api-reports/2_12.txt

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16464,7 +16464,7 @@ MutationRecord[JT] def previousSibling: Node
1646416464
MutationRecord[JT] def removedNodes: NodeList[Node]
1646516465
MutationRecord[JT] def target: Node
1646616466
MutationRecord[JT] def `type`: String
16467-
NDEFMessage[JC] var records: FrozenArray[NDEFRecord]
16467+
NDEFMessage[JC] def records: FrozenArray[NDEFRecord]
1646816468
NDEFReader[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
1646916469
NDEFReader[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
1647016470
NDEFReader[JC] def dispatchEvent(evt: Event): Boolean
@@ -16482,35 +16482,41 @@ NDEFReader[JC] def write(message: js.typedarray.ArrayBuffer, options: NDEFWriteO
1648216482
NDEFReader[JC] def write(message: js.typedarray.DataView): js.Promise[Unit]
1648316483
NDEFReader[JC] def write(message: js.typedarray.DataView, options: NDEFWriteOptions): js.Promise[Unit]
1648416484
NDEFReader[JC] def write(message: js.typedarray.TypedArray[_, _], options: NDEFWriteOptions?): js.Promise[Unit]
16485-
NDEFReadingEvent[JT] def bubbles: Boolean
16486-
NDEFReadingEvent[JT] def cancelBubble: Boolean
16487-
NDEFReadingEvent[JT] def cancelable: Boolean
16488-
NDEFReadingEvent[JT] def composed: Boolean
16489-
NDEFReadingEvent[JT] def currentTarget: EventTarget
16490-
NDEFReadingEvent[JT] def defaultPrevented: Boolean
16491-
NDEFReadingEvent[JT] def eventPhase: Int
16492-
NDEFReadingEvent[JT] def isTrusted: Boolean
16493-
NDEFReadingEvent[JT] var message: NDEFMessage
16494-
NDEFReadingEvent[JT] def preventDefault(): Unit
16495-
NDEFReadingEvent[JT] var serialNumber: String
16496-
NDEFReadingEvent[JT] def stopImmediatePropagation(): Unit
16497-
NDEFReadingEvent[JT] def stopPropagation(): Unit
16498-
NDEFReadingEvent[JT] def target: EventTarget
16499-
NDEFReadingEvent[JT] def timeStamp: Double
16500-
NDEFReadingEvent[JT] def `type`: String
16501-
NDEFRecord[JC] var data: js.typedarray.DataView
16502-
NDEFRecord[JC] var encoding: js.UndefOr[String]
16503-
NDEFRecord[JC] var id: js.UndefOr[String]
16504-
NDEFRecord[JC] var lang: js.UndefOr[String]
16505-
NDEFRecord[JC] var mediaType: js.UndefOr[String]
16506-
NDEFRecord[JC] var recordType: String
16507-
NDEFRecord[JC] def toRecords(): js.Array[NDEFRecord]
16485+
NDEFReadingEvent[JC] def bubbles: Boolean
16486+
NDEFReadingEvent[JC] def cancelBubble: Boolean
16487+
NDEFReadingEvent[JC] def cancelable: Boolean
16488+
NDEFReadingEvent[JC] def composed: Boolean
16489+
NDEFReadingEvent[JC] def currentTarget: EventTarget
16490+
NDEFReadingEvent[JC] def defaultPrevented: Boolean
16491+
NDEFReadingEvent[JC] def eventPhase: Int
16492+
NDEFReadingEvent[JC] def isTrusted: Boolean
16493+
NDEFReadingEvent[JC] def message: NDEFMessage
16494+
NDEFReadingEvent[JC] def preventDefault(): Unit
16495+
NDEFReadingEvent[JC] def serialNumber: String
16496+
NDEFReadingEvent[JC] def stopImmediatePropagation(): Unit
16497+
NDEFReadingEvent[JC] def stopPropagation(): Unit
16498+
NDEFReadingEvent[JC] def target: EventTarget
16499+
NDEFReadingEvent[JC] def timeStamp: Double
16500+
NDEFReadingEvent[JC] def `type`: String
16501+
NDEFReadingEventInit[JT] var bubbles: js.UndefOr[Boolean]
16502+
NDEFReadingEventInit[JT] var cancelable: js.UndefOr[Boolean]
16503+
NDEFReadingEventInit[JT] var composed: js.UndefOr[Boolean]
16504+
NDEFReadingEventInit[JT] var message: NDEFRecordInit
16505+
NDEFReadingEventInit[JT] var scoped: js.UndefOr[Boolean]
16506+
NDEFReadingEventInit[JT] var serialNumber: js.UndefOr[AbortSignal]
16507+
NDEFRecord[JC] def data: js.typedarray.DataView
16508+
NDEFRecord[JC] def encoding: js.UndefOr[String]
16509+
NDEFRecord[JC] def id: js.UndefOr[String]
16510+
NDEFRecord[JC] def lang: js.UndefOr[String]
16511+
NDEFRecord[JC] def mediaType: js.UndefOr[String]
16512+
NDEFRecord[JC] def recordType: String
16513+
NDEFRecord[JC] def toRecords(): js.UndefOr[js.Array[NDEFRecord]]
1650816514
NDEFRecordInit[JT] var data: js.UndefOr[String | js.typedarray.DataView | js.typedarray.ArrayBuffer | js.typedarray.TypedArray[_, _] | js.typedarray.DataView | js.Array[NDEFRecord]]
1650916515
NDEFRecordInit[JT] var encoding: js.UndefOr[String]
1651016516
NDEFRecordInit[JT] var id: js.UndefOr[String]
1651116517
NDEFRecordInit[JT] var lang: js.UndefOr[String]
1651216518
NDEFRecordInit[JT] var mediaType: js.UndefOr[String]
16513-
NDEFRecordInit[JT] var recordType: js.UndefOr[String]
16519+
NDEFRecordInit[JT] var recordType: String
1651416520
NDEFScanOptions[JT] var signal: js.UndefOr[AbortSignal]
1651516521
NDEFWriteOptions[JT] var overwrite: js.UndefOr[Boolean]
1651616522
NDEFWriteOptions[JT] var signal: js.UndefOr[AbortSignal]

api-reports/2_13.txt

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16464,7 +16464,7 @@ MutationRecord[JT] def previousSibling: Node
1646416464
MutationRecord[JT] def removedNodes: NodeList[Node]
1646516465
MutationRecord[JT] def target: Node
1646616466
MutationRecord[JT] def `type`: String
16467-
NDEFMessage[JC] var records: FrozenArray[NDEFRecord]
16467+
NDEFMessage[JC] def records: FrozenArray[NDEFRecord]
1646816468
NDEFReader[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
1646916469
NDEFReader[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
1647016470
NDEFReader[JC] def dispatchEvent(evt: Event): Boolean
@@ -16482,35 +16482,41 @@ NDEFReader[JC] def write(message: js.typedarray.ArrayBuffer, options: NDEFWriteO
1648216482
NDEFReader[JC] def write(message: js.typedarray.DataView): js.Promise[Unit]
1648316483
NDEFReader[JC] def write(message: js.typedarray.DataView, options: NDEFWriteOptions): js.Promise[Unit]
1648416484
NDEFReader[JC] def write(message: js.typedarray.TypedArray[_, _], options: NDEFWriteOptions?): js.Promise[Unit]
16485-
NDEFReadingEvent[JT] def bubbles: Boolean
16486-
NDEFReadingEvent[JT] def cancelBubble: Boolean
16487-
NDEFReadingEvent[JT] def cancelable: Boolean
16488-
NDEFReadingEvent[JT] def composed: Boolean
16489-
NDEFReadingEvent[JT] def currentTarget: EventTarget
16490-
NDEFReadingEvent[JT] def defaultPrevented: Boolean
16491-
NDEFReadingEvent[JT] def eventPhase: Int
16492-
NDEFReadingEvent[JT] def isTrusted: Boolean
16493-
NDEFReadingEvent[JT] var message: NDEFMessage
16494-
NDEFReadingEvent[JT] def preventDefault(): Unit
16495-
NDEFReadingEvent[JT] var serialNumber: String
16496-
NDEFReadingEvent[JT] def stopImmediatePropagation(): Unit
16497-
NDEFReadingEvent[JT] def stopPropagation(): Unit
16498-
NDEFReadingEvent[JT] def target: EventTarget
16499-
NDEFReadingEvent[JT] def timeStamp: Double
16500-
NDEFReadingEvent[JT] def `type`: String
16501-
NDEFRecord[JC] var data: js.typedarray.DataView
16502-
NDEFRecord[JC] var encoding: js.UndefOr[String]
16503-
NDEFRecord[JC] var id: js.UndefOr[String]
16504-
NDEFRecord[JC] var lang: js.UndefOr[String]
16505-
NDEFRecord[JC] var mediaType: js.UndefOr[String]
16506-
NDEFRecord[JC] var recordType: String
16507-
NDEFRecord[JC] def toRecords(): js.Array[NDEFRecord]
16485+
NDEFReadingEvent[JC] def bubbles: Boolean
16486+
NDEFReadingEvent[JC] def cancelBubble: Boolean
16487+
NDEFReadingEvent[JC] def cancelable: Boolean
16488+
NDEFReadingEvent[JC] def composed: Boolean
16489+
NDEFReadingEvent[JC] def currentTarget: EventTarget
16490+
NDEFReadingEvent[JC] def defaultPrevented: Boolean
16491+
NDEFReadingEvent[JC] def eventPhase: Int
16492+
NDEFReadingEvent[JC] def isTrusted: Boolean
16493+
NDEFReadingEvent[JC] def message: NDEFMessage
16494+
NDEFReadingEvent[JC] def preventDefault(): Unit
16495+
NDEFReadingEvent[JC] def serialNumber: String
16496+
NDEFReadingEvent[JC] def stopImmediatePropagation(): Unit
16497+
NDEFReadingEvent[JC] def stopPropagation(): Unit
16498+
NDEFReadingEvent[JC] def target: EventTarget
16499+
NDEFReadingEvent[JC] def timeStamp: Double
16500+
NDEFReadingEvent[JC] def `type`: String
16501+
NDEFReadingEventInit[JT] var bubbles: js.UndefOr[Boolean]
16502+
NDEFReadingEventInit[JT] var cancelable: js.UndefOr[Boolean]
16503+
NDEFReadingEventInit[JT] var composed: js.UndefOr[Boolean]
16504+
NDEFReadingEventInit[JT] var message: NDEFRecordInit
16505+
NDEFReadingEventInit[JT] var scoped: js.UndefOr[Boolean]
16506+
NDEFReadingEventInit[JT] var serialNumber: js.UndefOr[AbortSignal]
16507+
NDEFRecord[JC] def data: js.typedarray.DataView
16508+
NDEFRecord[JC] def encoding: js.UndefOr[String]
16509+
NDEFRecord[JC] def id: js.UndefOr[String]
16510+
NDEFRecord[JC] def lang: js.UndefOr[String]
16511+
NDEFRecord[JC] def mediaType: js.UndefOr[String]
16512+
NDEFRecord[JC] def recordType: String
16513+
NDEFRecord[JC] def toRecords(): js.UndefOr[js.Array[NDEFRecord]]
1650816514
NDEFRecordInit[JT] var data: js.UndefOr[String | js.typedarray.DataView | js.typedarray.ArrayBuffer | js.typedarray.TypedArray[_, _] | js.typedarray.DataView | js.Array[NDEFRecord]]
1650916515
NDEFRecordInit[JT] var encoding: js.UndefOr[String]
1651016516
NDEFRecordInit[JT] var id: js.UndefOr[String]
1651116517
NDEFRecordInit[JT] var lang: js.UndefOr[String]
1651216518
NDEFRecordInit[JT] var mediaType: js.UndefOr[String]
16513-
NDEFRecordInit[JT] var recordType: js.UndefOr[String]
16519+
NDEFRecordInit[JT] var recordType: String
1651416520
NDEFScanOptions[JT] var signal: js.UndefOr[AbortSignal]
1651516521
NDEFWriteOptions[JT] var overwrite: js.UndefOr[Boolean]
1651616522
NDEFWriteOptions[JT] var signal: js.UndefOr[AbortSignal]

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@ import scala.scalajs.js.annotation.JSGlobal
77
* or could be written to an NFC tag. An instance is acquired by calling the NDEFMessage() constructor or from the
88
* NDEFReadingEvent.message property, which is passed to the reading event.
99
*
10-
* @param records
11-
* The records property of NDEFMessage interface represents a list of NDEFRecords present in the NDEF message.
10+
* @see
11+
* https://w3c.github.io/web-nfc/#the-ndefmessage-interface
12+
*
13+
* @param messageInit
14+
* property of NDEFMessage interface represents a list of NDEFRecords present in the NDEF message.
1215
*/
1316
@js.native
1417
@JSGlobal
15-
class NDEFMessage(recordsAgr: js.Array[NDEFRecordInit]) extends js.Object {
18+
class NDEFMessage(messageInit: js.Array[NDEFRecordInit]) extends js.Object {
1619

1720
/** Returns the list of NDEF records contained in the message. */
1821
def records: FrozenArray[NDEFRecord] = js.native

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import scala.scalajs.js.annotation.JSGlobal
66
/** The [[NDEFReader]] interface of the Web NFC API (https://developer.mozilla.org/en-US/docs/Web/API/Web_NFC_API) is
77
* used to read from and write data to compatible NFC devices, e.g. NFC tags supporting NDEF, when these devices are
88
* within the reader's magnetic induction field.
9+
*
10+
* @see
11+
* https://w3c.github.io/web-nfc/#the-ndefreader-object
912
*/
1013
@JSGlobal("NDEFReader")
1114
@js.native
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
package org.scalajs.dom
22

33
import scala.scalajs.js
4+
import scala.scalajs.js.annotation.JSGlobal
45

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

1418
/** Returns an NDEFMessage object containing the received message. */
1519
def message: NDEFMessage = js.native
@@ -18,5 +22,4 @@ trait NDEFReadingEvent extends Event {
1822
* if no serial number is available.
1923
*/
2024
def serialNumber: String = js.native
21-
2225
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package org.scalajs.dom
2+
3+
import scala.scalajs.js
4+
5+
/** NDEFReadingEventInit is used to initialize a new event with a serial number and the NDEFMessageInit data via the
6+
* message member. If serialNumber is not present or is null, empty string will be used to init the event.
7+
*
8+
* @see
9+
* https://developer.mozilla.org/en-US/docs/Web/API/NDEFReadingEvent/NDEFReadingEvent#parameters
10+
* @see
11+
* https://w3c.github.io/web-nfc/#the-ndefreader-object
12+
*/
13+
trait NDEFReadingEventInit extends EventInit {
14+
15+
/** A string with the name of the event. It is case-sensitive and browsers always set it to reading. Default is "" an
16+
* empty string
17+
*/
18+
var serialNumber: js.UndefOr[AbortSignal] = js.undefined
19+
20+
/** An object that, in addition of the properties defined in Event(), can have the following properties: serialNumber;
21+
* message
22+
*/
23+
var message: NDEFRecordInit
24+
}

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ import scala.scalajs.js.annotation.JSGlobal
55

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

1316
/** Returns the record type of the record. Records must have either a standardized well-known type name such as
1417
* "empty", "text", "url", "smart-poster", "absolute-url", "mime", or "unknown" or else an external type name, which
@@ -37,5 +40,5 @@ class NDEFRecord(options: NDEFRecordInit) extends js.Object {
3740
/** Converts [[NDEFRecord.data]] to a sequence of records. This allows parsing the payloads of record types which may
3841
* contain nested records, such as smart poster and external type records.
3942
*/
40-
def toRecords(): js.Array[NDEFRecord] = js.native
43+
def toRecords(): js.UndefOr[js.Array[NDEFRecord]] = js.native
4144
}

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ package org.scalajs.dom
33
import scala.scalajs.js
44
import scala.scalajs.js.|
55

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

@@ -47,5 +51,5 @@ trait NDEFRecordInit extends js.Object {
4751
* - "unknown" - The record type is not known.
4852
* - "URL" - A URL as defined by the NDEF-URI specification.
4953
*/
50-
var recordType: js.UndefOr[String] = js.undefined
54+
var recordType: String
5155
}

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

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

33
import scala.scalajs.js
44

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

78
/** An AbortSignal that allows the current write operation to be canceled. */

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@ package org.scalajs.dom
22

33
import scala.scalajs.js
44

5-
/** @see https://developer.mozilla.org/en-US/docs/Web/API/NDEFReader/write */
5+
/** @see
6+
* https://w3c.github.io/web-nfc/#the-ndefwriteoptions-dictionary
7+
* @see
8+
* https://developer.mozilla.org/en-US/docs/Web/API/NDEFReader/write
9+
*/
610
trait NDEFWriteOptions extends js.Object {
711

8-
/** A boolean value specifying whether or not existing records should be overwritten, if such exists. */
12+
/** A boolean value specifying whether or not existing records should be overwritten, if such exists. Default is true
13+
*/
914
var `overwrite`: js.UndefOr[Boolean] = js.undefined
1015

1116
/** An AbortSignal that allows the current write operation to be canceled. */

0 commit comments

Comments
 (0)