The nfc-helpers.js
requires an implementation of
the WebNFCTest
interfaces, which should emulate platform Web NFC backends.
The WebNFCTest
interface is defined as:
class NFCTestChromium {
initialize(); // Sets up the testing environment.
async reset(); // Frees the resources.
getMockNFC(); // Returns `MockNFC` interface.
};
class MockNFC {
setHWStatus(number status); // Sets the hardware status.
setReadingMessage(NDEFMessageInit message); // Sets message that is used to deliver NFC reading updates.
setPendingPushCompleted(boolean result); // Sets if the pending push is completed.
setPendingMakeReadOnlyCompleted(boolean result); // Sets if the pending makeReadOnly is completed.
pushedMessage(); // Gets the pushed `NDEFMessageSource`.
writeOptions(); // Gets the pushed `NDEFWriteOptions`.
simulateNonNDEFTagDiscovered(); // Simulates that the NFC device discovered does not expose NDEF technology.
setIsFormattedTag(boolean isFormatted); // Sets if the NFC tag has formatted NDEF message.
};
The Chromium implementation of the WebNFCTest
interface is located in
nfc-mock.js.
Other browser vendors should provide their own implementations of
the WebNFCTest
interfaces.