@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
48 lines • 8.38 kB
JavaScript
import { Ndef, NFC, NfcUtil, } from '@awesome-cordova-plugins/nfc/ngx';
import { fromEvent, NEVER } from 'rxjs';
import { hexStringToBuffer } from '@iotize/common/byte-converter';
export { Ndef, NFC, NfcUtil };
export const addTapDeviceListenerImpl = (success, failure) => {
try {
const obs = fromEvent(document, 'nfc-tap-device');
cordova.exec(success, failure, 'NfcPlugin', 'registerTapDevice');
return obs;
}
catch (err) {
if (failure) {
failure(err);
}
return NEVER;
}
};
NFC.prototype.addTapDeviceListener = addTapDeviceListenerImpl;
export const transceiveTapImpl = async (data) => {
const result = await nfc.transceiveTap(data);
if (typeof result === 'string') {
return hexStringToBuffer(result);
}
else {
const errorMsg = typeof result === 'object' && 'error' in result
? result['error']
: `Transceive Tap returned an invalid response type ${typeof result}`;
throw new Error(errorMsg);
}
};
NFC.prototype.transceiveTap = transceiveTapImpl;
export const beginSessionFromTechImpl = async (tech, alertMessage) => {
return await nfc.beginSessionFromTech(tech, alertMessage);
};
NFC.prototype.beginSessionFromTech = beginSessionFromTechImpl;
export const closeSessionImpl = async () => {
return await nfc.endSession();
};
NFC.prototype.closeSession = closeSessionImpl;
export const connectRawImpl = async (tech, timeout) => {
return await nfc.connectRaw(tech, timeout);
};
NFC.prototype.connectRaw = connectRawImpl;
export const setTapDeviceDiscoveryEnabled = async (enabled) => {
return await nfc.setTapDeviceDiscoveryEnabled(enabled);
};
NFC.prototype.setTapDeviceDiscoveryEnabled = setTapDeviceDiscoveryEnabled;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb3RpemUtaW9uaWMvc3JjL2xpYi9uZmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLElBQUksRUFJSixHQUFHLEVBQ0gsT0FBTyxHQUNSLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbEUsT0FBTyxFQUFFLElBQUksRUFBa0MsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBdUI5RCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxPQUFvQixFQUNwQixPQUE4QixFQUNRLEVBQUU7SUFDeEMsSUFBSTtRQUNGLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBMkIsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDNUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sR0FBRyxDQUFDO0tBQ1o7SUFBQyxPQUFPLEdBQVEsRUFBRTtRQUNqQixJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNkO1FBQ0QsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMsQ0FBQztBQUVGLEdBQUcsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEdBQUcsd0JBQXdCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUNwQyxJQUFnQixFQUNLLEVBQUU7SUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQzlCLE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDbEM7U0FBTTtRQUNMLE1BQU0sUUFBUSxHQUNaLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFPLElBQUksTUFBTTtZQUM3QyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNqQixDQUFDLENBQUMsb0RBQW9ELE9BQU8sTUFBTSxFQUFFLENBQUM7UUFDMUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUMzQjtBQUNILENBQUMsQ0FBQztBQUVGLEdBQUcsQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLGlCQUFpQixDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsWUFBcUIsRUFBaUIsRUFBRTtJQUNuRyxPQUFPLE1BQU0sR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUM7QUFFRixHQUFHLENBQUMsU0FBUyxDQUFDLG9CQUFvQixHQUFHLHdCQUF3QixDQUFDO0FBRTlELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEtBQUssSUFBbUIsRUFBRTtJQUN4RCxPQUFPLE1BQU0sR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUVGLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQ2pDLElBQVksRUFDWixPQUFnQixFQUNELEVBQUU7SUFDakIsT0FBTyxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQztBQUVGLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxLQUFLLEVBQy9DLE9BQWdCLEVBQ0QsRUFBRTtJQUNqQixPQUFPLE1BQU0sR0FBRyxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQUVGLEdBQUcsQ0FBQyxTQUFTLENBQUMsNEJBQTRCLEdBQUcsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZGVmLFxuICBOZGVmRXZlbnQsXG4gIE5kZWZSZWNvcmQsXG4gIE5kZWZUYWcsXG4gIE5GQyxcbiAgTmZjVXRpbCxcbn0gZnJvbSAnQGF3ZXNvbWUtY29yZG92YS1wbHVnaW5zL25mYy9uZ3gnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBORVZFUiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVjb3ZlcmFibGVUYXBTdGF0ZUV2ZW50IH0gZnJvbSAnLi4vdGFwLXNjYW5uZXIvdGFwLXNjYW5uZXItbmZjL25mYy1zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29yZG92YUludGVyZmFjZSB9IGZyb20gJ0Bpb3RpemUvZGV2aWNlLWNvbS1uZmMuY29yZG92YSc7XG5pbXBvcnQgeyBoZXhTdHJpbmdUb0J1ZmZlciB9IGZyb20gJ0Bpb3RpemUvY29tbW9uL2J5dGUtY29udmVydGVyJztcblxuZXhwb3J0IHsgTmRlZiwgTmRlZkV2ZW50LCBOZGVmUmVjb3JkLCBOZGVmVGFnLCBORkMsIE5mY1V0aWwgfTtcblxuZGVjbGFyZSB2YXIgY29yZG92YTogYW55OyAvLyBUT0RPIHR5cGluZ1xuZGVjbGFyZSB2YXIgbmZjOiBDb3Jkb3ZhSW50ZXJmYWNlO1xuXG5kZWNsYXJlIG1vZHVsZSAnQGF3ZXNvbWUtY29yZG92YS1wbHVnaW5zL25mYy9uZ3gnIHtcbiAgZXhwb3J0IGludGVyZmFjZSBORkMge1xuICAgIGFkZFRhcERldmljZUxpc3RlbmVyKFxuICAgICAgc3VjY2Vzcz86ICgpID0+IHZvaWQsXG4gICAgICBmYWlsdXJlPzogKGVycjogRXJyb3IpID0+IHZvaWRcbiAgICApOiBPYnNlcnZhYmxlPFJlY292ZXJhYmxlVGFwU3RhdGVFdmVudD47XG5cbiAgICB0cmFuc2NlaXZlVGFwKGlucHV0OiBVaW50OEFycmF5KTogUHJvbWlzZTxVaW50OEFycmF5PjtcblxuICAgIGJlZ2luU2Vzc2lvbkZyb21UZWNoKHRlY2g6IHN0cmluZywgYWxlcnRNZXNzYWdlPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgICBjbG9zZVNlc3Npb24oKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIGNvbm5lY3RSYXcodGVjaDogc3RyaW5nLCB0aW1lb3V0PzogbnVtYmVyKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIHNldFRhcERldmljZURpc2NvdmVyeUVuYWJsZWQodjogYm9vbGVhbik6IFByb21pc2U8dm9pZD47XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGFkZFRhcERldmljZUxpc3RlbmVySW1wbCA9IChcbiAgc3VjY2Vzcz86ICgpID0+IHZvaWQsXG4gIGZhaWx1cmU/OiAoZXJyOiBFcnJvcikgPT4gdm9pZFxuKTogT2JzZXJ2YWJsZTxSZWNvdmVyYWJsZVRhcFN0YXRlRXZlbnQ+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBvYnMgPSBmcm9tRXZlbnQ8UmVjb3ZlcmFibGVUYXBTdGF0ZUV2ZW50Pihkb2N1bWVudCwgJ25mYy10YXAtZGV2aWNlJyk7XG4gICAgY29yZG92YS5leGVjKHN1Y2Nlc3MsIGZhaWx1cmUsICdOZmNQbHVnaW4nLCAncmVnaXN0ZXJUYXBEZXZpY2UnKTtcbiAgICByZXR1cm4gb2JzO1xuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGlmIChmYWlsdXJlKSB7XG4gICAgICBmYWlsdXJlKGVycik7XG4gICAgfVxuICAgIHJldHVybiBORVZFUjtcbiAgfVxufTtcblxuTkZDLnByb3RvdHlwZS5hZGRUYXBEZXZpY2VMaXN0ZW5lciA9IGFkZFRhcERldmljZUxpc3RlbmVySW1wbDtcblxuZXhwb3J0IGNvbnN0IHRyYW5zY2VpdmVUYXBJbXBsID0gYXN5bmMgKFxuICBkYXRhOiBVaW50OEFycmF5XG4pOiBQcm9taXNlPFVpbnQ4QXJyYXk+ID0+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbmZjLnRyYW5zY2VpdmVUYXAoZGF0YSk7XG4gIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBoZXhTdHJpbmdUb0J1ZmZlcihyZXN1bHQpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGVycm9yTXNnID1cbiAgICAgIHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnICYmICdlcnJvcicgaW4gcmVzdWx0XG4gICAgICAgID8gcmVzdWx0WydlcnJvciddXG4gICAgICAgIDogYFRyYW5zY2VpdmUgVGFwIHJldHVybmVkIGFuIGludmFsaWQgcmVzcG9uc2UgdHlwZSAke3R5cGVvZiByZXN1bHR9YDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNc2cpO1xuICB9XG59O1xuXG5ORkMucHJvdG90eXBlLnRyYW5zY2VpdmVUYXAgPSB0cmFuc2NlaXZlVGFwSW1wbDtcblxuZXhwb3J0IGNvbnN0IGJlZ2luU2Vzc2lvbkZyb21UZWNoSW1wbCA9IGFzeW5jICh0ZWNoOiBzdHJpbmcsIGFsZXJ0TWVzc2FnZT86IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICByZXR1cm4gYXdhaXQgbmZjLmJlZ2luU2Vzc2lvbkZyb21UZWNoKHRlY2gsIGFsZXJ0TWVzc2FnZSk7XG59O1xuXG5ORkMucHJvdG90eXBlLmJlZ2luU2Vzc2lvbkZyb21UZWNoID0gYmVnaW5TZXNzaW9uRnJvbVRlY2hJbXBsO1xuXG5leHBvcnQgY29uc3QgY2xvc2VTZXNzaW9uSW1wbCA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgcmV0dXJuIGF3YWl0IG5mYy5lbmRTZXNzaW9uKCk7XG59O1xuXG5ORkMucHJvdG90eXBlLmNsb3NlU2Vzc2lvbiA9IGNsb3NlU2Vzc2lvbkltcGw7XG5cbmV4cG9ydCBjb25zdCBjb25uZWN0UmF3SW1wbCA9IGFzeW5jIChcbiAgdGVjaDogc3RyaW5nLFxuICB0aW1lb3V0PzogbnVtYmVyXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgcmV0dXJuIGF3YWl0IG5mYy5jb25uZWN0UmF3KHRlY2gsIHRpbWVvdXQpO1xufTtcblxuTkZDLnByb3RvdHlwZS5jb25uZWN0UmF3ID0gY29ubmVjdFJhd0ltcGw7XG5cbmV4cG9ydCBjb25zdCBzZXRUYXBEZXZpY2VEaXNjb3ZlcnlFbmFibGVkID0gYXN5bmMgKFxuICBlbmFibGVkOiBib29sZWFuXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgcmV0dXJuIGF3YWl0IG5mYy5zZXRUYXBEZXZpY2VEaXNjb3ZlcnlFbmFibGVkKGVuYWJsZWQpO1xufTtcblxuTkZDLnByb3RvdHlwZS5zZXRUYXBEZXZpY2VEaXNjb3ZlcnlFbmFibGVkID0gc2V0VGFwRGV2aWNlRGlzY292ZXJ5RW5hYmxlZDtcbiJdfQ==