@iotize/device-com-nfc.cordova 3.8.1 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/LICENSE +30 -30
  2. package/README.md +673 -673
  3. package/bundles/iotize-device-com-nfc.cordova.umd.js +1108 -967
  4. package/bundles/iotize-device-com-nfc.cordova.umd.js.map +1 -1
  5. package/bundles/iotize-device-com-nfc.cordova.umd.min.js +1 -1
  6. package/bundles/iotize-device-com-nfc.cordova.umd.min.js.map +1 -1
  7. package/esm2015/iotize-device-com-nfc.cordova.js +4 -4
  8. package/esm2015/iotize-device-com-nfc.cordova.ngsummary.json +1 -1
  9. package/esm2015/public_api.js +1 -1
  10. package/esm2015/public_api.ngsummary.json +1 -1
  11. package/esm2015/www/cordova-interface.js +1 -1
  12. package/esm2015/www/cordova-interface.js.map +1 -1
  13. package/esm2015/www/errors.js +30 -30
  14. package/esm2015/www/errors.js.map +1 -1
  15. package/esm2015/www/index.js +6 -6
  16. package/esm2015/www/index.js.map +1 -1
  17. package/esm2015/www/index.metadata.json +1 -1
  18. package/esm2015/www/index.ngsummary.json +1 -1
  19. package/esm2015/www/logger.js +2 -2
  20. package/esm2015/www/logger.js.map +1 -1
  21. package/esm2015/www/ndef/definitions.js +16 -16
  22. package/esm2015/www/ndef/definitions.js.map +1 -1
  23. package/esm2015/www/ndef/parse-ndef-message.js +293 -164
  24. package/esm2015/www/ndef/parse-ndef-message.js.map +1 -1
  25. package/esm2015/www/ndef/parse-ndef-message.metadata.json +1 -1
  26. package/esm2015/www/ndef/parse-ndef-message.ngsummary.json +1 -1
  27. package/esm2015/www/nfc-com-protocol.js +169 -169
  28. package/esm2015/www/nfc-com-protocol.js.map +1 -1
  29. package/esm2015/www/tap-ndef/definitions.js +1 -1
  30. package/esm2015/www/tap-ndef/definitions.js.map +1 -1
  31. package/esm2015/www/tap-ndef/index.js +2 -2
  32. package/esm2015/www/tap-ndef/index.js.map +1 -1
  33. package/esm2015/www/tap-ndef/parse-ndef-message.js +51 -51
  34. package/esm2015/www/tap-ndef/parse-ndef-message.js.map +1 -1
  35. package/esm2015/www/utility.js +10 -10
  36. package/esm2015/www/utility.js.map +1 -1
  37. package/esm2015/www/utility.ngsummary.json +1 -1
  38. package/fesm2015/iotize-device-com-nfc.cordova.js +555 -427
  39. package/fesm2015/iotize-device-com-nfc.cordova.js.map +1 -1
  40. package/iotize-device-com-nfc.cordova.d.ts +4 -4
  41. package/iotize-device-com-nfc.cordova.metadata.json +1 -1
  42. package/package.json +2 -2
  43. package/plugin.xml +98 -98
  44. package/public_api.d.ts +1 -1
  45. package/src/android/.gradle/4.10.1/fileChanges/last-build.bin +0 -0
  46. package/src/android/.gradle/4.10.1/fileHashes/fileHashes.bin +0 -0
  47. package/src/android/.gradle/4.10.1/fileHashes/fileHashes.lock +0 -0
  48. package/src/android/.gradle/4.10.1/gc.properties +0 -0
  49. package/src/android/build.gradle +38 -38
  50. package/src/android/gradle/wrapper/gradle-wrapper.properties +6 -6
  51. package/src/android/gradlew +172 -172
  52. package/src/android/gradlew.bat +84 -84
  53. package/src/android/local.properties +8 -8
  54. package/src/android/src/com/chariotsolutions/nfc/plugin/JSONBuilder.java +60 -60
  55. package/src/android/src/com/chariotsolutions/nfc/plugin/NfcPlugin.java +1151 -1151
  56. package/src/android/src/com/chariotsolutions/nfc/plugin/NfcPluginError.java +15 -15
  57. package/src/android/src/com/chariotsolutions/nfc/plugin/PluginResponse.java +85 -85
  58. package/src/android/src/com/chariotsolutions/nfc/plugin/Util.java +140 -140
  59. package/src/ios/AppDelegate+NFC.swift +51 -51
  60. package/src/ios/NFCHelpers.swift +144 -144
  61. package/src/ios/NFCNDEFDelegate.swift +78 -78
  62. package/src/ios/NFCTagReader.swift +506 -506
  63. package/www/cordova-interface.d.ts +34 -34
  64. package/www/errors.d.ts +17 -17
  65. package/www/index.d.ts +6 -6
  66. package/www/logger.d.ts +2 -2
  67. package/www/ndef/definitions.d.ts +15 -15
  68. package/www/ndef/parse-ndef-message.d.ts +12 -69
  69. package/www/nfc-com-protocol.d.ts +36 -36
  70. package/www/phonegap-nfc.js +911 -911
  71. package/www/tap-ndef/definitions.d.ts +25 -25
  72. package/www/tap-ndef/index.d.ts +2 -2
  73. package/www/tap-ndef/parse-ndef-message.d.ts +6 -6
  74. package/www/utility.d.ts +2 -2
@@ -4,993 +4,1134 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.iotize = global.iotize || {}, global.iotize["device-com-nfc"] = global.iotize["device-com-nfc"] || {}, global.iotize["device-com-nfc"].cordova = {}), global.buffer, global.byteConverter, global.api, global.core, global.rxjs, global.debug$1));
5
5
  })(this, (function (exports, buffer, byteConverter, api, core, rxjs, debug$1) { 'use strict';
6
6
 
7
- /******************************************************************************
8
- Copyright (c) Microsoft Corporation.
9
-
10
- Permission to use, copy, modify, and/or distribute this software for any
11
- purpose with or without fee is hereby granted.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
- PERFORMANCE OF THIS SOFTWARE.
20
- ***************************************************************************** */
21
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
22
- var extendStatics = function (d, b) {
23
- extendStatics = Object.setPrototypeOf ||
24
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25
- function (d, b) { for (var p in b)
26
- if (Object.prototype.hasOwnProperty.call(b, p))
27
- d[p] = b[p]; };
28
- return extendStatics(d, b);
29
- };
30
- function __extends(d, b) {
31
- if (typeof b !== "function" && b !== null)
32
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
33
- extendStatics(d, b);
34
- function __() { this.constructor = d; }
35
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
36
- }
37
- var __assign = function () {
38
- __assign = Object.assign || function __assign(t) {
39
- for (var s, i = 1, n = arguments.length; i < n; i++) {
40
- s = arguments[i];
41
- for (var p in s)
42
- if (Object.prototype.hasOwnProperty.call(s, p))
43
- t[p] = s[p];
44
- }
45
- return t;
46
- };
47
- return __assign.apply(this, arguments);
48
- };
49
- function __rest(s, e) {
50
- var t = {};
51
- for (var p in s)
52
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
53
- t[p] = s[p];
54
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
55
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
56
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
57
- t[p[i]] = s[p[i]];
58
- }
59
- return t;
60
- }
61
- function __decorate(decorators, target, key, desc) {
62
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
63
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
64
- r = Reflect.decorate(decorators, target, key, desc);
65
- else
66
- for (var i = decorators.length - 1; i >= 0; i--)
67
- if (d = decorators[i])
68
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
69
- return c > 3 && r && Object.defineProperty(target, key, r), r;
70
- }
71
- function __param(paramIndex, decorator) {
72
- return function (target, key) { decorator(target, key, paramIndex); };
73
- }
74
- function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
75
- function accept(f) { if (f !== void 0 && typeof f !== "function")
76
- throw new TypeError("Function expected"); return f; }
77
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
78
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
79
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
80
- var _, done = false;
81
- for (var i = decorators.length - 1; i >= 0; i--) {
82
- var context = {};
83
- for (var p in contextIn)
84
- context[p] = p === "access" ? {} : contextIn[p];
85
- for (var p in contextIn.access)
86
- context.access[p] = contextIn.access[p];
87
- context.addInitializer = function (f) { if (done)
88
- throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
89
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
90
- if (kind === "accessor") {
91
- if (result === void 0)
92
- continue;
93
- if (result === null || typeof result !== "object")
94
- throw new TypeError("Object expected");
95
- if (_ = accept(result.get))
96
- descriptor.get = _;
97
- if (_ = accept(result.set))
98
- descriptor.set = _;
99
- if (_ = accept(result.init))
100
- initializers.unshift(_);
101
- }
102
- else if (_ = accept(result)) {
103
- if (kind === "field")
104
- initializers.unshift(_);
105
- else
106
- descriptor[key] = _;
107
- }
108
- }
109
- if (target)
110
- Object.defineProperty(target, contextIn.name, descriptor);
111
- done = true;
112
- }
113
- ;
114
- function __runInitializers(thisArg, initializers, value) {
115
- var useValue = arguments.length > 2;
116
- for (var i = 0; i < initializers.length; i++) {
117
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
118
- }
119
- return useValue ? value : void 0;
120
- }
121
- ;
122
- function __propKey(x) {
123
- return typeof x === "symbol" ? x : "".concat(x);
124
- }
125
- ;
126
- function __setFunctionName(f, name, prefix) {
127
- if (typeof name === "symbol")
128
- name = name.description ? "[".concat(name.description, "]") : "";
129
- return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
130
- }
131
- ;
132
- function __metadata(metadataKey, metadataValue) {
133
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
134
- return Reflect.metadata(metadataKey, metadataValue);
135
- }
136
- function __awaiter$1(thisArg, _arguments, P, generator) {
137
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
138
- return new (P || (P = Promise))(function (resolve, reject) {
139
- function fulfilled(value) { try {
140
- step(generator.next(value));
141
- }
142
- catch (e) {
143
- reject(e);
144
- } }
145
- function rejected(value) { try {
146
- step(generator["throw"](value));
147
- }
148
- catch (e) {
149
- reject(e);
150
- } }
151
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
152
- step((generator = generator.apply(thisArg, _arguments || [])).next());
153
- });
154
- }
155
- function __generator(thisArg, body) {
156
- var _ = { label: 0, sent: function () { if (t[0] & 1)
157
- throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
158
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
159
- function verb(n) { return function (v) { return step([n, v]); }; }
160
- function step(op) {
161
- if (f)
162
- throw new TypeError("Generator is already executing.");
163
- while (g && (g = 0, op[0] && (_ = 0)), _)
164
- try {
165
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
166
- return t;
167
- if (y = 0, t)
168
- op = [op[0] & 2, t.value];
169
- switch (op[0]) {
170
- case 0:
171
- case 1:
172
- t = op;
173
- break;
174
- case 4:
175
- _.label++;
176
- return { value: op[1], done: false };
177
- case 5:
178
- _.label++;
179
- y = op[1];
180
- op = [0];
181
- continue;
182
- case 7:
183
- op = _.ops.pop();
184
- _.trys.pop();
185
- continue;
186
- default:
187
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
188
- _ = 0;
189
- continue;
190
- }
191
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
192
- _.label = op[1];
193
- break;
194
- }
195
- if (op[0] === 6 && _.label < t[1]) {
196
- _.label = t[1];
197
- t = op;
198
- break;
199
- }
200
- if (t && _.label < t[2]) {
201
- _.label = t[2];
202
- _.ops.push(op);
203
- break;
204
- }
205
- if (t[2])
206
- _.ops.pop();
207
- _.trys.pop();
208
- continue;
209
- }
210
- op = body.call(thisArg, _);
211
- }
212
- catch (e) {
213
- op = [6, e];
214
- y = 0;
215
- }
216
- finally {
217
- f = t = 0;
218
- }
219
- if (op[0] & 5)
220
- throw op[1];
221
- return { value: op[0] ? op[1] : void 0, done: true };
222
- }
223
- }
224
- var __createBinding = Object.create ? (function (o, m, k, k2) {
225
- if (k2 === undefined)
226
- k2 = k;
227
- var desc = Object.getOwnPropertyDescriptor(m, k);
228
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
229
- desc = { enumerable: true, get: function () { return m[k]; } };
230
- }
231
- Object.defineProperty(o, k2, desc);
232
- }) : (function (o, m, k, k2) {
233
- if (k2 === undefined)
234
- k2 = k;
235
- o[k2] = m[k];
236
- });
237
- function __exportStar(m, o) {
238
- for (var p in m)
239
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
240
- __createBinding(o, m, p);
241
- }
242
- function __values(o) {
243
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
244
- if (m)
245
- return m.call(o);
246
- if (o && typeof o.length === "number")
247
- return {
248
- next: function () {
249
- if (o && i >= o.length)
250
- o = void 0;
251
- return { value: o && o[i++], done: !o };
252
- }
253
- };
254
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
255
- }
256
- function __read(o, n) {
257
- var m = typeof Symbol === "function" && o[Symbol.iterator];
258
- if (!m)
259
- return o;
260
- var i = m.call(o), r, ar = [], e;
261
- try {
262
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
263
- ar.push(r.value);
264
- }
265
- catch (error) {
266
- e = { error: error };
267
- }
268
- finally {
269
- try {
270
- if (r && !r.done && (m = i["return"]))
271
- m.call(i);
272
- }
273
- finally {
274
- if (e)
275
- throw e.error;
276
- }
277
- }
278
- return ar;
279
- }
280
- /** @deprecated */
281
- function __spread() {
282
- for (var ar = [], i = 0; i < arguments.length; i++)
283
- ar = ar.concat(__read(arguments[i]));
284
- return ar;
285
- }
286
- /** @deprecated */
287
- function __spreadArrays() {
288
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
289
- s += arguments[i].length;
290
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
291
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
292
- r[k] = a[j];
293
- return r;
294
- }
295
- function __spreadArray(to, from, pack) {
296
- if (pack || arguments.length === 2)
297
- for (var i = 0, l = from.length, ar; i < l; i++) {
298
- if (ar || !(i in from)) {
299
- if (!ar)
300
- ar = Array.prototype.slice.call(from, 0, i);
301
- ar[i] = from[i];
302
- }
303
- }
304
- return to.concat(ar || Array.prototype.slice.call(from));
305
- }
306
- function __await(v) {
307
- return this instanceof __await ? (this.v = v, this) : new __await(v);
308
- }
309
- function __asyncGenerator(thisArg, _arguments, generator) {
310
- if (!Symbol.asyncIterator)
311
- throw new TypeError("Symbol.asyncIterator is not defined.");
312
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
313
- return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
314
- function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
315
- function verb(n, f) { if (g[n]) {
316
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); };
317
- if (f)
318
- i[n] = f(i[n]);
319
- } }
320
- function resume(n, v) { try {
321
- step(g[n](v));
322
- }
323
- catch (e) {
324
- settle(q[0][3], e);
325
- } }
326
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
327
- function fulfill(value) { resume("next", value); }
328
- function reject(value) { resume("throw", value); }
329
- function settle(f, v) { if (f(v), q.shift(), q.length)
330
- resume(q[0][0], q[0][1]); }
331
- }
332
- function __asyncDelegator(o) {
333
- var i, p;
334
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
335
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
336
- }
337
- function __asyncValues(o) {
338
- if (!Symbol.asyncIterator)
339
- throw new TypeError("Symbol.asyncIterator is not defined.");
340
- var m = o[Symbol.asyncIterator], i;
341
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
342
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
343
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
344
- }
345
- function __makeTemplateObject(cooked, raw) {
346
- if (Object.defineProperty) {
347
- Object.defineProperty(cooked, "raw", { value: raw });
348
- }
349
- else {
350
- cooked.raw = raw;
351
- }
352
- return cooked;
353
- }
354
- ;
355
- var __setModuleDefault = Object.create ? (function (o, v) {
356
- Object.defineProperty(o, "default", { enumerable: true, value: v });
357
- }) : function (o, v) {
358
- o["default"] = v;
359
- };
360
- function __importStar(mod) {
361
- if (mod && mod.__esModule)
362
- return mod;
363
- var result = {};
364
- if (mod != null)
365
- for (var k in mod)
366
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
367
- __createBinding(result, mod, k);
368
- __setModuleDefault(result, mod);
369
- return result;
370
- }
371
- function __importDefault(mod) {
372
- return (mod && mod.__esModule) ? mod : { default: mod };
373
- }
374
- function __classPrivateFieldGet(receiver, state, kind, f) {
375
- if (kind === "a" && !f)
376
- throw new TypeError("Private accessor was defined without a getter");
377
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
378
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
379
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
380
- }
381
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
382
- if (kind === "m")
383
- throw new TypeError("Private method is not writable");
384
- if (kind === "a" && !f)
385
- throw new TypeError("Private accessor was defined without a setter");
386
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
387
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
388
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
389
- }
390
- function __classPrivateFieldIn(state, receiver) {
391
- if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
392
- throw new TypeError("Cannot use 'in' operator on non-object");
393
- return typeof state === "function" ? receiver === state : state.has(receiver);
394
- }
395
- function __addDisposableResource(env, value, async) {
396
- if (value !== null && value !== void 0) {
397
- if (typeof value !== "object" && typeof value !== "function")
398
- throw new TypeError("Object expected.");
399
- var dispose, inner;
400
- if (async) {
401
- if (!Symbol.asyncDispose)
402
- throw new TypeError("Symbol.asyncDispose is not defined.");
403
- dispose = value[Symbol.asyncDispose];
404
- }
405
- if (dispose === void 0) {
406
- if (!Symbol.dispose)
407
- throw new TypeError("Symbol.dispose is not defined.");
408
- dispose = value[Symbol.dispose];
409
- if (async)
410
- inner = dispose;
411
- }
412
- if (typeof dispose !== "function")
413
- throw new TypeError("Object not disposable.");
414
- if (inner)
415
- dispose = function () { try {
416
- inner.call(this);
417
- }
418
- catch (e) {
419
- return Promise.reject(e);
420
- } };
421
- env.stack.push({ value: value, dispose: dispose, async: async });
422
- }
423
- else if (async) {
424
- env.stack.push({ async: true });
425
- }
426
- return value;
427
- }
428
- var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
429
- var e = new Error(message);
430
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
431
- };
432
- function __disposeResources(env) {
433
- function fail(e) {
434
- env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
435
- env.hasError = true;
436
- }
437
- var r, s = 0;
438
- function next() {
439
- while (r = env.stack.pop()) {
440
- try {
441
- if (!r.async && s === 1)
442
- return s = 0, env.stack.push(r), Promise.resolve().then(next);
443
- if (r.dispose) {
444
- var result = r.dispose.call(r.value);
445
- if (r.async)
446
- return s |= 2, Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
447
- }
448
- else
449
- s |= 1;
450
- }
451
- catch (e) {
452
- fail(e);
453
- }
454
- }
455
- if (s === 1)
456
- return env.hasError ? Promise.reject(env.error) : Promise.resolve();
457
- if (env.hasError)
458
- throw env.error;
459
- }
460
- return next();
461
- }
462
- var tslib_es6 = {
463
- __extends: __extends,
464
- __assign: __assign,
465
- __rest: __rest,
466
- __decorate: __decorate,
467
- __param: __param,
468
- __metadata: __metadata,
469
- __awaiter: __awaiter$1,
470
- __generator: __generator,
471
- __createBinding: __createBinding,
472
- __exportStar: __exportStar,
473
- __values: __values,
474
- __read: __read,
475
- __spread: __spread,
476
- __spreadArrays: __spreadArrays,
477
- __spreadArray: __spreadArray,
478
- __await: __await,
479
- __asyncGenerator: __asyncGenerator,
480
- __asyncDelegator: __asyncDelegator,
481
- __asyncValues: __asyncValues,
482
- __makeTemplateObject: __makeTemplateObject,
483
- __importStar: __importStar,
484
- __importDefault: __importDefault,
485
- __classPrivateFieldGet: __classPrivateFieldGet,
486
- __classPrivateFieldSet: __classPrivateFieldSet,
487
- __classPrivateFieldIn: __classPrivateFieldIn,
488
- __addDisposableResource: __addDisposableResource,
489
- __disposeResources: __disposeResources,
7
+ /******************************************************************************
8
+ Copyright (c) Microsoft Corporation.
9
+
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
+ ***************************************************************************** */
21
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
22
+ var extendStatics = function (d, b) {
23
+ extendStatics = Object.setPrototypeOf ||
24
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25
+ function (d, b) { for (var p in b)
26
+ if (Object.prototype.hasOwnProperty.call(b, p))
27
+ d[p] = b[p]; };
28
+ return extendStatics(d, b);
29
+ };
30
+ function __extends(d, b) {
31
+ if (typeof b !== "function" && b !== null)
32
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
33
+ extendStatics(d, b);
34
+ function __() { this.constructor = d; }
35
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
36
+ }
37
+ var __assign = function () {
38
+ __assign = Object.assign || function __assign(t) {
39
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
40
+ s = arguments[i];
41
+ for (var p in s)
42
+ if (Object.prototype.hasOwnProperty.call(s, p))
43
+ t[p] = s[p];
44
+ }
45
+ return t;
46
+ };
47
+ return __assign.apply(this, arguments);
48
+ };
49
+ function __rest(s, e) {
50
+ var t = {};
51
+ for (var p in s)
52
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
53
+ t[p] = s[p];
54
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
55
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
56
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
57
+ t[p[i]] = s[p[i]];
58
+ }
59
+ return t;
60
+ }
61
+ function __decorate(decorators, target, key, desc) {
62
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
63
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
64
+ r = Reflect.decorate(decorators, target, key, desc);
65
+ else
66
+ for (var i = decorators.length - 1; i >= 0; i--)
67
+ if (d = decorators[i])
68
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
69
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
70
+ }
71
+ function __param(paramIndex, decorator) {
72
+ return function (target, key) { decorator(target, key, paramIndex); };
73
+ }
74
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
75
+ function accept(f) { if (f !== void 0 && typeof f !== "function")
76
+ throw new TypeError("Function expected"); return f; }
77
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
78
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
79
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
80
+ var _, done = false;
81
+ for (var i = decorators.length - 1; i >= 0; i--) {
82
+ var context = {};
83
+ for (var p in contextIn)
84
+ context[p] = p === "access" ? {} : contextIn[p];
85
+ for (var p in contextIn.access)
86
+ context.access[p] = contextIn.access[p];
87
+ context.addInitializer = function (f) { if (done)
88
+ throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
89
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
90
+ if (kind === "accessor") {
91
+ if (result === void 0)
92
+ continue;
93
+ if (result === null || typeof result !== "object")
94
+ throw new TypeError("Object expected");
95
+ if (_ = accept(result.get))
96
+ descriptor.get = _;
97
+ if (_ = accept(result.set))
98
+ descriptor.set = _;
99
+ if (_ = accept(result.init))
100
+ initializers.unshift(_);
101
+ }
102
+ else if (_ = accept(result)) {
103
+ if (kind === "field")
104
+ initializers.unshift(_);
105
+ else
106
+ descriptor[key] = _;
107
+ }
108
+ }
109
+ if (target)
110
+ Object.defineProperty(target, contextIn.name, descriptor);
111
+ done = true;
112
+ }
113
+ ;
114
+ function __runInitializers(thisArg, initializers, value) {
115
+ var useValue = arguments.length > 2;
116
+ for (var i = 0; i < initializers.length; i++) {
117
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
118
+ }
119
+ return useValue ? value : void 0;
120
+ }
121
+ ;
122
+ function __propKey(x) {
123
+ return typeof x === "symbol" ? x : "".concat(x);
124
+ }
125
+ ;
126
+ function __setFunctionName(f, name, prefix) {
127
+ if (typeof name === "symbol")
128
+ name = name.description ? "[".concat(name.description, "]") : "";
129
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
130
+ }
131
+ ;
132
+ function __metadata(metadataKey, metadataValue) {
133
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
134
+ return Reflect.metadata(metadataKey, metadataValue);
135
+ }
136
+ function __awaiter$1(thisArg, _arguments, P, generator) {
137
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
138
+ return new (P || (P = Promise))(function (resolve, reject) {
139
+ function fulfilled(value) { try {
140
+ step(generator.next(value));
141
+ }
142
+ catch (e) {
143
+ reject(e);
144
+ } }
145
+ function rejected(value) { try {
146
+ step(generator["throw"](value));
147
+ }
148
+ catch (e) {
149
+ reject(e);
150
+ } }
151
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
152
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
153
+ });
154
+ }
155
+ function __generator(thisArg, body) {
156
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
157
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
158
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
159
+ function verb(n) { return function (v) { return step([n, v]); }; }
160
+ function step(op) {
161
+ if (f)
162
+ throw new TypeError("Generator is already executing.");
163
+ while (g && (g = 0, op[0] && (_ = 0)), _)
164
+ try {
165
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
166
+ return t;
167
+ if (y = 0, t)
168
+ op = [op[0] & 2, t.value];
169
+ switch (op[0]) {
170
+ case 0:
171
+ case 1:
172
+ t = op;
173
+ break;
174
+ case 4:
175
+ _.label++;
176
+ return { value: op[1], done: false };
177
+ case 5:
178
+ _.label++;
179
+ y = op[1];
180
+ op = [0];
181
+ continue;
182
+ case 7:
183
+ op = _.ops.pop();
184
+ _.trys.pop();
185
+ continue;
186
+ default:
187
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
188
+ _ = 0;
189
+ continue;
190
+ }
191
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
192
+ _.label = op[1];
193
+ break;
194
+ }
195
+ if (op[0] === 6 && _.label < t[1]) {
196
+ _.label = t[1];
197
+ t = op;
198
+ break;
199
+ }
200
+ if (t && _.label < t[2]) {
201
+ _.label = t[2];
202
+ _.ops.push(op);
203
+ break;
204
+ }
205
+ if (t[2])
206
+ _.ops.pop();
207
+ _.trys.pop();
208
+ continue;
209
+ }
210
+ op = body.call(thisArg, _);
211
+ }
212
+ catch (e) {
213
+ op = [6, e];
214
+ y = 0;
215
+ }
216
+ finally {
217
+ f = t = 0;
218
+ }
219
+ if (op[0] & 5)
220
+ throw op[1];
221
+ return { value: op[0] ? op[1] : void 0, done: true };
222
+ }
223
+ }
224
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
225
+ if (k2 === undefined)
226
+ k2 = k;
227
+ var desc = Object.getOwnPropertyDescriptor(m, k);
228
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
229
+ desc = { enumerable: true, get: function () { return m[k]; } };
230
+ }
231
+ Object.defineProperty(o, k2, desc);
232
+ }) : (function (o, m, k, k2) {
233
+ if (k2 === undefined)
234
+ k2 = k;
235
+ o[k2] = m[k];
236
+ });
237
+ function __exportStar(m, o) {
238
+ for (var p in m)
239
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
240
+ __createBinding(o, m, p);
241
+ }
242
+ function __values(o) {
243
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
244
+ if (m)
245
+ return m.call(o);
246
+ if (o && typeof o.length === "number")
247
+ return {
248
+ next: function () {
249
+ if (o && i >= o.length)
250
+ o = void 0;
251
+ return { value: o && o[i++], done: !o };
252
+ }
253
+ };
254
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
255
+ }
256
+ function __read(o, n) {
257
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
258
+ if (!m)
259
+ return o;
260
+ var i = m.call(o), r, ar = [], e;
261
+ try {
262
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
263
+ ar.push(r.value);
264
+ }
265
+ catch (error) {
266
+ e = { error: error };
267
+ }
268
+ finally {
269
+ try {
270
+ if (r && !r.done && (m = i["return"]))
271
+ m.call(i);
272
+ }
273
+ finally {
274
+ if (e)
275
+ throw e.error;
276
+ }
277
+ }
278
+ return ar;
279
+ }
280
+ /** @deprecated */
281
+ function __spread() {
282
+ for (var ar = [], i = 0; i < arguments.length; i++)
283
+ ar = ar.concat(__read(arguments[i]));
284
+ return ar;
285
+ }
286
+ /** @deprecated */
287
+ function __spreadArrays() {
288
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
289
+ s += arguments[i].length;
290
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
291
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
292
+ r[k] = a[j];
293
+ return r;
294
+ }
295
+ function __spreadArray(to, from, pack) {
296
+ if (pack || arguments.length === 2)
297
+ for (var i = 0, l = from.length, ar; i < l; i++) {
298
+ if (ar || !(i in from)) {
299
+ if (!ar)
300
+ ar = Array.prototype.slice.call(from, 0, i);
301
+ ar[i] = from[i];
302
+ }
303
+ }
304
+ return to.concat(ar || Array.prototype.slice.call(from));
305
+ }
306
+ function __await(v) {
307
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
308
+ }
309
+ function __asyncGenerator(thisArg, _arguments, generator) {
310
+ if (!Symbol.asyncIterator)
311
+ throw new TypeError("Symbol.asyncIterator is not defined.");
312
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
313
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
314
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
315
+ function verb(n, f) { if (g[n]) {
316
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); };
317
+ if (f)
318
+ i[n] = f(i[n]);
319
+ } }
320
+ function resume(n, v) { try {
321
+ step(g[n](v));
322
+ }
323
+ catch (e) {
324
+ settle(q[0][3], e);
325
+ } }
326
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
327
+ function fulfill(value) { resume("next", value); }
328
+ function reject(value) { resume("throw", value); }
329
+ function settle(f, v) { if (f(v), q.shift(), q.length)
330
+ resume(q[0][0], q[0][1]); }
331
+ }
332
+ function __asyncDelegator(o) {
333
+ var i, p;
334
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
335
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
336
+ }
337
+ function __asyncValues(o) {
338
+ if (!Symbol.asyncIterator)
339
+ throw new TypeError("Symbol.asyncIterator is not defined.");
340
+ var m = o[Symbol.asyncIterator], i;
341
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
342
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
343
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
344
+ }
345
+ function __makeTemplateObject(cooked, raw) {
346
+ if (Object.defineProperty) {
347
+ Object.defineProperty(cooked, "raw", { value: raw });
348
+ }
349
+ else {
350
+ cooked.raw = raw;
351
+ }
352
+ return cooked;
353
+ }
354
+ ;
355
+ var __setModuleDefault = Object.create ? (function (o, v) {
356
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
357
+ }) : function (o, v) {
358
+ o["default"] = v;
359
+ };
360
+ function __importStar(mod) {
361
+ if (mod && mod.__esModule)
362
+ return mod;
363
+ var result = {};
364
+ if (mod != null)
365
+ for (var k in mod)
366
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
367
+ __createBinding(result, mod, k);
368
+ __setModuleDefault(result, mod);
369
+ return result;
370
+ }
371
+ function __importDefault(mod) {
372
+ return (mod && mod.__esModule) ? mod : { default: mod };
373
+ }
374
+ function __classPrivateFieldGet(receiver, state, kind, f) {
375
+ if (kind === "a" && !f)
376
+ throw new TypeError("Private accessor was defined without a getter");
377
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
378
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
379
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
380
+ }
381
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
382
+ if (kind === "m")
383
+ throw new TypeError("Private method is not writable");
384
+ if (kind === "a" && !f)
385
+ throw new TypeError("Private accessor was defined without a setter");
386
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
387
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
388
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
389
+ }
390
+ function __classPrivateFieldIn(state, receiver) {
391
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
392
+ throw new TypeError("Cannot use 'in' operator on non-object");
393
+ return typeof state === "function" ? receiver === state : state.has(receiver);
394
+ }
395
+ function __addDisposableResource(env, value, async) {
396
+ if (value !== null && value !== void 0) {
397
+ if (typeof value !== "object" && typeof value !== "function")
398
+ throw new TypeError("Object expected.");
399
+ var dispose, inner;
400
+ if (async) {
401
+ if (!Symbol.asyncDispose)
402
+ throw new TypeError("Symbol.asyncDispose is not defined.");
403
+ dispose = value[Symbol.asyncDispose];
404
+ }
405
+ if (dispose === void 0) {
406
+ if (!Symbol.dispose)
407
+ throw new TypeError("Symbol.dispose is not defined.");
408
+ dispose = value[Symbol.dispose];
409
+ if (async)
410
+ inner = dispose;
411
+ }
412
+ if (typeof dispose !== "function")
413
+ throw new TypeError("Object not disposable.");
414
+ if (inner)
415
+ dispose = function () { try {
416
+ inner.call(this);
417
+ }
418
+ catch (e) {
419
+ return Promise.reject(e);
420
+ } };
421
+ env.stack.push({ value: value, dispose: dispose, async: async });
422
+ }
423
+ else if (async) {
424
+ env.stack.push({ async: true });
425
+ }
426
+ return value;
427
+ }
428
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
429
+ var e = new Error(message);
430
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
431
+ };
432
+ function __disposeResources(env) {
433
+ function fail(e) {
434
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
435
+ env.hasError = true;
436
+ }
437
+ var r, s = 0;
438
+ function next() {
439
+ while (r = env.stack.pop()) {
440
+ try {
441
+ if (!r.async && s === 1)
442
+ return s = 0, env.stack.push(r), Promise.resolve().then(next);
443
+ if (r.dispose) {
444
+ var result = r.dispose.call(r.value);
445
+ if (r.async)
446
+ return s |= 2, Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
447
+ }
448
+ else
449
+ s |= 1;
450
+ }
451
+ catch (e) {
452
+ fail(e);
453
+ }
454
+ }
455
+ if (s === 1)
456
+ return env.hasError ? Promise.reject(env.error) : Promise.resolve();
457
+ if (env.hasError)
458
+ throw env.error;
459
+ }
460
+ return next();
461
+ }
462
+ var tslib_es6 = {
463
+ __extends: __extends,
464
+ __assign: __assign,
465
+ __rest: __rest,
466
+ __decorate: __decorate,
467
+ __param: __param,
468
+ __metadata: __metadata,
469
+ __awaiter: __awaiter$1,
470
+ __generator: __generator,
471
+ __createBinding: __createBinding,
472
+ __exportStar: __exportStar,
473
+ __values: __values,
474
+ __read: __read,
475
+ __spread: __spread,
476
+ __spreadArrays: __spreadArrays,
477
+ __spreadArray: __spreadArray,
478
+ __await: __await,
479
+ __asyncGenerator: __asyncGenerator,
480
+ __asyncDelegator: __asyncDelegator,
481
+ __asyncValues: __asyncValues,
482
+ __makeTemplateObject: __makeTemplateObject,
483
+ __importStar: __importStar,
484
+ __importDefault: __importDefault,
485
+ __classPrivateFieldGet: __classPrivateFieldGet,
486
+ __classPrivateFieldSet: __classPrivateFieldSet,
487
+ __classPrivateFieldIn: __classPrivateFieldIn,
488
+ __addDisposableResource: __addDisposableResource,
489
+ __disposeResources: __disposeResources,
490
490
  };
491
491
 
492
- exports.NfcError = /** @class */ (function (_super) {
493
- __extends(NfcError, _super);
494
- function NfcError(code, message) {
495
- var _this = _super.call(this, message) || this;
496
- _this.code = code;
497
- return _this;
498
- }
499
- NfcError.tagLostError = function () {
500
- return new NfcError(NfcError.ErrorCode.TagLostError, 'NFC tag lost');
501
- };
502
- NfcError.notConnectedError = function () {
503
- return new NfcError(NfcError.ErrorCode.NotConnectedError, 'NFC tag is not connected');
504
- };
505
- NfcError.unknownError = function (errString) {
506
- throw new NfcError(NfcError.ErrorCode.Unknown, errString);
507
- };
508
- NfcError.tagConnectionFailed = function () {
509
- throw new NfcError(NfcError.ErrorCode.NotConnectedError, "Tag connection failed");
510
- };
511
- NfcError.internalError = function (message) {
512
- throw new NfcError(NfcError.ErrorCode.InternalError, message);
513
- };
514
- return NfcError;
515
- }(Error));
516
- (function (NfcError) {
517
- var ErrorCode;
518
- (function (ErrorCode) {
519
- ErrorCode["Unknown"] = "NfcUnknownError";
520
- ErrorCode["InternalError"] = "NfcInternalError";
521
- ErrorCode["TagLostError"] = "NfcTagLostError";
522
- ErrorCode["NotConnectedError"] = "NfcNotConnectedError";
523
- })(ErrorCode = NfcError.ErrorCode || (NfcError.ErrorCode = {}));
492
+ exports.NfcError = /** @class */ (function (_super) {
493
+ __extends(NfcError, _super);
494
+ function NfcError(code, message) {
495
+ var _this = _super.call(this, message) || this;
496
+ _this.code = code;
497
+ return _this;
498
+ }
499
+ NfcError.tagLostError = function () {
500
+ return new NfcError(NfcError.ErrorCode.TagLostError, 'NFC tag lost');
501
+ };
502
+ NfcError.notConnectedError = function () {
503
+ return new NfcError(NfcError.ErrorCode.NotConnectedError, 'NFC tag is not connected');
504
+ };
505
+ NfcError.unknownError = function (errString) {
506
+ throw new NfcError(NfcError.ErrorCode.Unknown, errString);
507
+ };
508
+ NfcError.tagConnectionFailed = function () {
509
+ throw new NfcError(NfcError.ErrorCode.NotConnectedError, "Tag connection failed");
510
+ };
511
+ NfcError.internalError = function (message) {
512
+ throw new NfcError(NfcError.ErrorCode.InternalError, message);
513
+ };
514
+ return NfcError;
515
+ }(Error));
516
+ (function (NfcError) {
517
+ var ErrorCode;
518
+ (function (ErrorCode) {
519
+ ErrorCode["Unknown"] = "NfcUnknownError";
520
+ ErrorCode["InternalError"] = "NfcInternalError";
521
+ ErrorCode["TagLostError"] = "NfcTagLostError";
522
+ ErrorCode["NotConnectedError"] = "NfcNotConnectedError";
523
+ })(ErrorCode = NfcError.ErrorCode || (NfcError.ErrorCode = {}));
524
524
  })(exports.NfcError || (exports.NfcError = {}));
525
525
 
526
- exports.TNF = void 0;
527
- (function (TNF) {
528
- TNF[TNF["EMPTY"] = 0] = "EMPTY";
529
- TNF[TNF["WELL_KNOWN_TYPE"] = 1] = "WELL_KNOWN_TYPE";
530
- TNF[TNF["MIME_TYPE"] = 2] = "MIME_TYPE";
531
- TNF[TNF["ABSOLUTE_URI"] = 3] = "ABSOLUTE_URI";
532
- TNF[TNF["EXTERNAL"] = 4] = "EXTERNAL";
533
- TNF[TNF["UNKNOWN"] = 5] = "UNKNOWN";
534
- TNF[TNF["UNCHANGED"] = 6] = "UNCHANGED";
535
- TNF[TNF["RFU"] = 7] = "RFU";
536
- })(exports.TNF || (exports.TNF = {}));
537
- var WellKnownType = {
538
- URI: [0x55],
539
- TEXT: [0x54],
540
- SMPART_POSTER: [0x53, 0x70],
526
+ exports.TNF = void 0;
527
+ (function (TNF) {
528
+ TNF[TNF["EMPTY"] = 0] = "EMPTY";
529
+ TNF[TNF["WELL_KNOWN_TYPE"] = 1] = "WELL_KNOWN_TYPE";
530
+ TNF[TNF["MIME_TYPE"] = 2] = "MIME_TYPE";
531
+ TNF[TNF["ABSOLUTE_URI"] = 3] = "ABSOLUTE_URI";
532
+ TNF[TNF["EXTERNAL"] = 4] = "EXTERNAL";
533
+ TNF[TNF["UNKNOWN"] = 5] = "UNKNOWN";
534
+ TNF[TNF["UNCHANGED"] = 6] = "UNCHANGED";
535
+ TNF[TNF["RFU"] = 7] = "RFU";
536
+ })(exports.TNF || (exports.TNF = {}));
537
+ var WellKnownType = {
538
+ URI: [0x55],
539
+ TEXT: [0x54],
540
+ SMPART_POSTER: [0x53, 0x70],
541
541
  };
542
542
 
543
- function toAsciiString(payload) {
544
- if (payload.length > 0 && payload[0] === 0) {
545
- payload = payload.slice(1);
546
- }
547
- return byteConverter.bufferToAsciiString(payload);
548
- }
549
- function arrayEquals(a1, a2) {
550
- return (a1.length === a2.length && a1.every(function (a1Item, index) { return a1Item === a2[index]; }));
543
+ function toAsciiString(payload) {
544
+ if (payload.length > 0 && payload[0] === 0) {
545
+ payload = payload.slice(1);
546
+ }
547
+ return byteConverter.bufferToAsciiString(payload);
548
+ }
549
+ function arrayEquals(a1, a2) {
550
+ return (a1.length === a2.length && a1.every(function (a1Item, index) { return a1Item === a2[index]; }));
551
551
  }
552
552
 
553
- function parseNdefMessages(messages) {
554
- return (messages || []).map(parseNdefMessage);
555
- }
556
- function parseNdefMessage(message) {
557
- switch (message.tnf) {
558
- case exports.TNF.ABSOLUTE_URI:
559
- return {
560
- tnf: 'uri',
561
- value: toAsciiString(message.payload),
562
- };
563
- case exports.TNF.WELL_KNOWN_TYPE:
564
- return {
565
- tnf: 'wkt',
566
- value: parseWellKnownType(message),
567
- };
568
- case exports.TNF.EMPTY:
569
- return {
570
- tnf: 'empty',
571
- value: {
572
- type: message.type,
573
- payload: message.payload,
574
- },
575
- };
576
- case exports.TNF.EXTERNAL:
577
- return {
578
- tnf: 'external',
579
- value: paseExternalType(message),
580
- };
581
- case exports.TNF.MIME_TYPE:
582
- return {
583
- tnf: 'mimetype',
584
- value: parseMimeType(message),
585
- };
586
- case exports.TNF.RFU:
587
- return {
588
- tnf: 'rfu',
589
- value: {
590
- type: message.type,
591
- payload: message.payload,
592
- },
593
- };
594
- case exports.TNF.UNCHANGED:
595
- return {
596
- tnf: 'unchanged',
597
- value: {
598
- type: message.type,
599
- payload: message.payload,
600
- },
601
- };
602
- case exports.TNF.UNKNOWN:
603
- return {
604
- tnf: 'unknown',
605
- value: {
606
- type: message.type,
607
- payload: message.payload,
608
- },
609
- };
610
- default:
611
- return {
612
- tnf: message.tnf,
613
- value: {
614
- type: message.type,
615
- payload: message.payload,
616
- },
617
- };
618
- }
619
- }
620
- function parseWellKnownType(message) {
621
- if (arrayEquals(message.type, WellKnownType.URI)) {
622
- var prefixCode = message.payload[0];
623
- var prefix = WELL_KNOWN_TYPE_URI_PREFIX[prefixCode] || '';
624
- return {
625
- type: 'uri',
626
- value: prefix + toAsciiString(message.payload.slice(1)),
627
- };
628
- }
629
- else if (arrayEquals(message.type, WellKnownType.TEXT)) {
630
- var encodingNumber = message.payload[0];
631
- var encoding = 'utf8';
632
- var languageSizeInBytes = 0;
633
- if (typeof encodingNumber === 'number') {
634
- // b0: encodage utf8 s’il vaut 0 et utf16 s’il vaut 1.
635
- // b1: RFU (set to 0)
636
- // b2-b7: la taille en octets de la langue (n)
637
- // B8-B8+n-1: language
638
- // Bn: message
639
- var b0 = encodingNumber & 128;
640
- encoding = b0 ? 'utf16le' : 'utf8';
641
- languageSizeInBytes = encodingNumber & 63;
642
- }
643
- var text = message.payload.slice(languageSizeInBytes + 1);
644
- return {
645
- type: 'text',
646
- value: buffer.Buffer.from(text).toString(encoding),
647
- };
648
- }
649
- // else if (arrayEquals(message.type, WellKnownType.SMPART_POSTER)) {
650
- // return {
651
- // type: 'sp',
652
- // // TODO implement
653
- // payload: message.payload,
654
- // };
655
- // }
656
- else {
657
- return {
658
- type: 'unknown',
659
- value: {
660
- type: message.type,
661
- payload: message.payload,
662
- },
663
- };
664
- }
665
- }
666
- function paseExternalType(message) {
667
- var value = buffer.Buffer.from(message.payload).toString('utf8');
668
- var domain = buffer.Buffer.from(message.type).toString('utf8');
669
- return {
670
- domain: domain,
671
- value: value,
672
- };
673
- }
674
- var WELL_KNOWN_TYPE_URI_PREFIX = {
675
- 0x0: '',
676
- 0x1: 'http://www.',
677
- 0x2: 'http://www.',
678
- 0x3: 'http://',
679
- 0x4: 'https://',
680
- 0x5: 'tel:',
681
- 0x6: 'mailto:',
682
- 0x07: 'ftp://anonymous:anonymous@',
683
- 0x1d: 'file://',
684
- 0x08: 'ftp://ftp.',
685
- 0x09: 'ftps://',
686
- 0x0a: 'sftp://',
687
- 0x0b: 'smb://',
688
- 0x0c: 'nfs://',
689
- 0x0d: 'ftp://',
690
- 0x0e: 'dav://',
691
- 0x0f: 'news:',
692
- 0x10: 'telnet://',
693
- 0x11: 'imap:',
694
- 0x12: 'rtsp://',
695
- 0x13: 'urn:',
696
- 0x14: 'pop:',
697
- 0x15: 'sip:',
698
- 0x16: 'sips:',
699
- 0x17: 'tftp:',
700
- 0x18: 'btspp://',
701
- 0x19: 'btl2cap://',
702
- 0x1a: 'btgoep://',
703
- 0x1b: 'tcpobex://',
704
- 0x1c: 'irdaobex://',
705
- 0x1e: 'urn:epc:id:',
706
- 0x1f: 'urn:epc:tag:',
707
- 0x20: 'urn:epc:pat:',
708
- 0x21: 'urn:epc:raw:',
709
- 0x22: 'urn:epc:',
710
- };
711
- function parseMimeType(message) {
712
- return buffer.Buffer.from(message.payload).toString('utf8');
553
+ function parseNdefMessages(messages) {
554
+ return (messages || []).map(parseNdefMessage);
555
+ }
556
+ function parseNdefMessage(message) {
557
+ switch (message.tnf) {
558
+ case exports.TNF.ABSOLUTE_URI:
559
+ return {
560
+ id: message.id,
561
+ type: message.type,
562
+ tnf: 'uri',
563
+ value: toAsciiString(message.payload),
564
+ };
565
+ case exports.TNF.WELL_KNOWN_TYPE:
566
+ return {
567
+ id: message.id,
568
+ type: message.type,
569
+ tnf: 'wkt',
570
+ value: parseWellKnownType(message),
571
+ };
572
+ case exports.TNF.EMPTY:
573
+ return {
574
+ id: message.id,
575
+ type: message.type,
576
+ tnf: 'empty',
577
+ value: {
578
+ type: message.type,
579
+ payload: message.payload,
580
+ },
581
+ };
582
+ case exports.TNF.EXTERNAL:
583
+ return {
584
+ id: message.id,
585
+ type: message.type,
586
+ tnf: 'external',
587
+ value: paseExternalType(message),
588
+ };
589
+ case exports.TNF.MIME_TYPE:
590
+ return {
591
+ id: message.id,
592
+ type: message.type,
593
+ tnf: 'mimetype',
594
+ value: parseMimeType(message),
595
+ };
596
+ case exports.TNF.RFU:
597
+ return {
598
+ id: message.id,
599
+ type: message.type,
600
+ tnf: 'rfu',
601
+ value: {
602
+ type: message.type,
603
+ payload: message.payload,
604
+ },
605
+ };
606
+ case exports.TNF.UNCHANGED:
607
+ return {
608
+ id: message.id,
609
+ type: message.type,
610
+ tnf: 'unchanged',
611
+ value: {
612
+ type: message.type,
613
+ payload: message.payload,
614
+ },
615
+ };
616
+ case exports.TNF.UNKNOWN:
617
+ return {
618
+ id: message.id,
619
+ type: message.type,
620
+ tnf: 'unknown',
621
+ value: {
622
+ type: message.type,
623
+ payload: message.payload,
624
+ },
625
+ };
626
+ default:
627
+ return {
628
+ id: message.id,
629
+ type: message.type,
630
+ tnf: message.tnf,
631
+ value: {
632
+ type: message.type,
633
+ payload: message.payload,
634
+ },
635
+ };
636
+ }
637
+ }
638
+ function parseWellKnownType(message) {
639
+ if (arrayEquals(message.type.slice(), WellKnownType.URI)) {
640
+ var prefixCode = message.payload[0];
641
+ var prefix = WELL_KNOWN_TYPE_URI_PREFIX[prefixCode] || '';
642
+ return {
643
+ type: 'uri',
644
+ value: prefix + toAsciiString(message.payload.slice(1)),
645
+ };
646
+ }
647
+ else if (arrayEquals(message.type.slice(), WellKnownType.TEXT)) {
648
+ var encodingNumber = message.payload[0];
649
+ var encoding = 'utf8';
650
+ var languageSizeInBytes = 0;
651
+ if (typeof encodingNumber === 'number') {
652
+ // b0: encodage utf8 s’il vaut 0 et utf16 s’il vaut 1.
653
+ // b1: RFU (set to 0)
654
+ // b2-b7: la taille en octets de la langue (n)
655
+ // B8-B8+n-1: language
656
+ // Bn: message
657
+ var b0 = encodingNumber & 128;
658
+ encoding = b0 ? 'utf16le' : 'utf8';
659
+ languageSizeInBytes = encodingNumber & 63;
660
+ }
661
+ var text = message.payload.slice(languageSizeInBytes + 1);
662
+ var language = message.payload.slice(8, languageSizeInBytes + 1);
663
+ return {
664
+ type: 'text',
665
+ value: buffer.Buffer.from(text).toString(encoding),
666
+ encoding: encoding,
667
+ language: buffer.Buffer.from(language).toString(encoding)
668
+ };
669
+ }
670
+ // else if (arrayEquals(message.type.slice(), WellKnownType.SMPART_POSTER)) {
671
+ // return {
672
+ // type: 'sp',
673
+ // // TODO implement
674
+ // payload: message.payload,
675
+ // };
676
+ // }
677
+ else {
678
+ return {
679
+ type: 'unknown',
680
+ value: {
681
+ type: message.type.slice(),
682
+ payload: message.payload,
683
+ },
684
+ };
685
+ }
686
+ }
687
+ function paseExternalType(message) {
688
+ var value = buffer.Buffer.from(message.payload).toString('utf8');
689
+ var domain = buffer.Buffer.from(message.type).toString('utf8');
690
+ return {
691
+ domain: domain,
692
+ value: value,
693
+ };
694
+ }
695
+ var WELL_KNOWN_TYPE_URI_PREFIX = {
696
+ 0x0: '',
697
+ 0x1: 'http://www.',
698
+ 0x2: 'http://www.',
699
+ 0x3: 'http://',
700
+ 0x4: 'https://',
701
+ 0x5: 'tel:',
702
+ 0x6: 'mailto:',
703
+ 0x07: 'ftp://anonymous:anonymous@',
704
+ 0x1d: 'file://',
705
+ 0x08: 'ftp://ftp.',
706
+ 0x09: 'ftps://',
707
+ 0x0a: 'sftp://',
708
+ 0x0b: 'smb://',
709
+ 0x0c: 'nfs://',
710
+ 0x0d: 'ftp://',
711
+ 0x0e: 'dav://',
712
+ 0x0f: 'news:',
713
+ 0x10: 'telnet://',
714
+ 0x11: 'imap:',
715
+ 0x12: 'rtsp://',
716
+ 0x13: 'urn:',
717
+ 0x14: 'pop:',
718
+ 0x15: 'sip:',
719
+ 0x16: 'sips:',
720
+ 0x17: 'tftp:',
721
+ 0x18: 'btspp://',
722
+ 0x19: 'btl2cap://',
723
+ 0x1a: 'btgoep://',
724
+ 0x1b: 'tcpobex://',
725
+ 0x1c: 'irdaobex://',
726
+ 0x1e: 'urn:epc:id:',
727
+ 0x1f: 'urn:epc:tag:',
728
+ 0x20: 'urn:epc:pat:',
729
+ 0x21: 'urn:epc:raw:',
730
+ 0x22: 'urn:epc:',
731
+ };
732
+ function parseMimeType(message) {
733
+ return buffer.Buffer.from(message.payload).toString('utf8');
734
+ }
735
+ function encodeWellKnownType(message) {
736
+ var e_1, _a;
737
+ if (message.value.type == 'uri') {
738
+ //identify the prefix
739
+ var prefixesEntries = Object.entries(WELL_KNOWN_TYPE_URI_PREFIX);
740
+ var prefixByte = 0;
741
+ try {
742
+ for (var prefixesEntries_1 = __values(prefixesEntries), prefixesEntries_1_1 = prefixesEntries_1.next(); !prefixesEntries_1_1.done; prefixesEntries_1_1 = prefixesEntries_1.next()) {
743
+ var _b = __read(prefixesEntries_1_1.value, 2), id = _b[0], prefix = _b[1];
744
+ if (id == '0x0') // Skip first as it is always recognized. (what about 0x1 vs 0x2?)
745
+ continue;
746
+ if (message.value.value.startsWith(prefix)) {
747
+ prefixByte = parseInt(id, 16);
748
+ break;
749
+ }
750
+ }
751
+ }
752
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
753
+ finally {
754
+ try {
755
+ if (prefixesEntries_1_1 && !prefixesEntries_1_1.done && (_a = prefixesEntries_1.return)) _a.call(prefixesEntries_1);
756
+ }
757
+ finally { if (e_1) throw e_1.error; }
758
+ }
759
+ var lengthToSlice = WELL_KNOWN_TYPE_URI_PREFIX[prefixByte].length;
760
+ var slicedString = message.value.value.slice(lengthToSlice);
761
+ return __spreadArray([prefixByte], __read((byteConverter.asciiStringToByteBuffer(slicedString))));
762
+ }
763
+ else if (message.value.type === 'text') {
764
+ // b1: RFU (set to 0)
765
+ // b2-b7: la taille en octets de la langue (n)
766
+ // B8-B8+n-1: language
767
+ // Bn: message
768
+ var firstByte = message.value.encoding == 'utf16le' ? 128 : 0;
769
+ firstByte &= (message.value.language & 63);
770
+ var languageBytes = buffer.Buffer.from(message.value.language, message.value.encoding);
771
+ var textBytes = buffer.Buffer.from(message.value.value, message.value.encoding);
772
+ return __spreadArray(__spreadArray([firstByte], __read(languageBytes)), __read(textBytes));
773
+ }
774
+ else
775
+ return __spreadArray(__spreadArray([], __read(message.value.type)), __read(message.value.payload));
776
+ }
777
+ function encodeExternalType(message) {
778
+ return Array.from(buffer.Buffer.from(message.value.value, 'utf8'));
779
+ }
780
+ function encodeMimeType(message) {
781
+ return Array.from(buffer.Buffer.from(message.value, 'utf8'));
782
+ }
783
+ function encodeNDEFMessages(ndefRecords) {
784
+ return (ndefRecords || []).map(encodeNDEFMessage);
785
+ }
786
+ function encodeNDEFMessage(ndefRecord) {
787
+ switch (ndefRecord.tnf) {
788
+ case 'uri':
789
+ return {
790
+ id: ndefRecord.id,
791
+ type: ndefRecord.type,
792
+ tnf: exports.TNF.ABSOLUTE_URI,
793
+ payload: Array.from(byteConverter.asciiStringToByteBuffer(ndefRecord.value))
794
+ };
795
+ case 'wkt':
796
+ return {
797
+ id: ndefRecord.id,
798
+ type: ndefRecord.type,
799
+ tnf: exports.TNF.WELL_KNOWN_TYPE,
800
+ payload: encodeWellKnownType(ndefRecord),
801
+ };
802
+ case 'empty':
803
+ return {
804
+ id: ndefRecord.id,
805
+ type: ndefRecord.type,
806
+ tnf: exports.TNF.EMPTY,
807
+ payload: ndefRecord.payload,
808
+ };
809
+ case 'external':
810
+ return {
811
+ id: ndefRecord.id,
812
+ type: ndefRecord.type,
813
+ tnf: exports.TNF.EXTERNAL,
814
+ payload: encodeExternalType(ndefRecord),
815
+ };
816
+ case 'mimetype':
817
+ return {
818
+ id: ndefRecord.id,
819
+ type: ndefRecord.type,
820
+ tnf: exports.TNF.MIME_TYPE,
821
+ payload: encodeMimeType(ndefRecord),
822
+ };
823
+ case 'rfu':
824
+ return {
825
+ id: ndefRecord.id,
826
+ type: ndefRecord.type,
827
+ tnf: exports.TNF.RFU,
828
+ payload: ndefRecord.payload
829
+ };
830
+ case 'unchanged':
831
+ return {
832
+ id: ndefRecord.id,
833
+ type: ndefRecord.type,
834
+ tnf: exports.TNF.UNCHANGED,
835
+ payload: ndefRecord.payload,
836
+ };
837
+ case 'unknown':
838
+ return {
839
+ id: ndefRecord.id,
840
+ type: ndefRecord.type,
841
+ tnf: exports.TNF.UNKNOWN,
842
+ payload: ndefRecord.payload,
843
+ };
844
+ default:
845
+ return {
846
+ id: ndefRecord.id,
847
+ type: ndefRecord.type,
848
+ tnf: Number(ndefRecord.tnf),
849
+ payload: ndefRecord.payload,
850
+ };
851
+ }
713
852
  }
714
853
 
715
854
  var debug = debug$1.createDebugger("@iotize/device-com-nfc.cordova");
716
855
 
717
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
718
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
719
- return new (P || (P = Promise))(function (resolve, reject) {
720
- function fulfilled(value) { try {
721
- step(generator.next(value));
722
- }
723
- catch (e) {
724
- reject(e);
725
- } }
726
- function rejected(value) { try {
727
- step(generator["throw"](value));
728
- }
729
- catch (e) {
730
- reject(e);
731
- } }
732
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
733
- step((generator = generator.apply(thisArg, _arguments || [])).next());
734
- });
735
- };
736
- var PromiseQueue = /** @class */ (function () {
737
- function PromiseQueue() {
738
- this.queue = Promise.resolve(true);
739
- }
740
- PromiseQueue.prototype.add = function (operation) {
741
- var _this = this;
742
- return new Promise(function (resolve, reject) {
743
- _this.queue = _this.queue.then(operation).then(resolve).catch(reject);
744
- });
745
- };
746
- return PromiseQueue;
747
- }());
748
- var NFCComProtocol = /** @class */ (function (_super) {
749
- __extends(NFCComProtocol, _super);
750
- function NFCComProtocol(options) {
751
- if (options === void 0) { options = {
752
- connect: {
753
- timeout: 2000,
754
- },
755
- disconnect: {
756
- timeout: 1000,
757
- },
758
- send: {
759
- timeout: 1000,
760
- },
761
- }; }
762
- var _this = _super.call(this) || this;
763
- _this._sendQueue = new PromiseQueue();
764
- _this.options = options;
765
- if (typeof nfc == undefined) {
766
- console.warn('NFC plugin has not been setup properly. Global variable NFC does not exist');
767
- }
768
- return _this;
769
- }
770
- NFCComProtocol.iOSProtocol = function () {
771
- return new NFCComProtocol({
772
- connect: {
773
- timeout: 10000, // bigger timer on connect as connect launches a reading session
774
- },
775
- disconnect: {
776
- timeout: 1000,
777
- },
778
- send: {
779
- timeout: 1000,
780
- },
781
- });
782
- };
783
- /**
784
- * We force tag connection with nfc as we need to refresh tag
785
- * @param options
786
- * @returns
787
- */
788
- NFCComProtocol.prototype.connect = function (options) {
789
- this.connectionState = api.ConnectionState.CONNECTING; // Hack to force NFC tag connect call even if we are already connected
790
- return _super.prototype.connect.call(this, options);
791
- };
792
- /**
793
- * Not used as we have rewrote "connect()" function
794
- * @param options
795
- * @returns
796
- */
797
- NFCComProtocol.prototype._connect = function (options) {
798
- var _this = this;
799
- return rxjs.defer(function () { return __awaiter(_this, void 0, void 0, function () {
800
- var err_1;
801
- return __generator(this, function (_a) {
802
- switch (_a.label) {
803
- case 0:
804
- debug('_connect', options);
805
- _a.label = 1;
806
- case 1:
807
- _a.trys.push([1, 3, , 4]);
808
- return [4 /*yield*/, nfc.connect('android.nfc.tech.NfcV', this.options.connect.timeout)];
809
- case 2:
810
- _a.sent();
811
- return [3 /*break*/, 4];
812
- case 3:
813
- err_1 = _a.sent();
814
- if (typeof err_1 === 'string') {
815
- if (err_1 === 'Tag connection failed') {
816
- throw exports.NfcError.tagConnectionFailed();
817
- }
818
- else {
819
- throw exports.NfcError.unknownError(err_1);
820
- }
821
- }
822
- throw err_1;
823
- case 4: return [2 /*return*/];
824
- }
825
- });
826
- }); });
827
- };
828
- NFCComProtocol.prototype._disconnect = function (options) {
829
- var _this = this;
830
- return rxjs.defer(function () { return __awaiter(_this, void 0, void 0, function () {
831
- return __generator(this, function (_a) {
832
- switch (_a.label) {
833
- case 0: return [4 /*yield*/, nfc.close()];
834
- case 1:
835
- _a.sent();
836
- this._sendQueue = new PromiseQueue();
837
- return [2 /*return*/];
838
- }
839
- });
840
- }); });
841
- };
842
- /**
843
- * Not used
844
- * @param options
845
- * @returns
846
- */
847
- NFCComProtocol.prototype.write = function (data) {
848
- return __awaiter(this, void 0, void 0, function () {
849
- return __generator(this, function (_a) {
850
- throw new Error('Method not implemented.');
851
- });
852
- });
853
- };
854
- /**
855
- * Not used
856
- * @param options
857
- * @returns
858
- */
859
- NFCComProtocol.prototype.read = function () {
860
- return __awaiter(this, void 0, void 0, function () {
861
- return __generator(this, function (_a) {
862
- throw new Error('Method not implemented.');
863
- });
864
- });
865
- };
866
- NFCComProtocol.prototype.send = function (data, options) {
867
- var _this = this;
868
- return rxjs.defer(function () { return __awaiter(_this, void 0, void 0, function () {
869
- var _this = this;
870
- return __generator(this, function (_a) {
871
- switch (_a.label) {
872
- case 0: return [4 /*yield*/, this._sendQueue.add(function () { return __awaiter(_this, void 0, void 0, function () {
873
- var response, errString_1, error;
874
- return __generator(this, function (_a) {
875
- switch (_a.label) {
876
- case 0:
877
- _a.trys.push([0, 2, , 3]);
878
- return [4 /*yield*/, nfc.transceiveTap(byteConverter.bufferToHexString(data))];
879
- case 1:
880
- response = _a.sent();
881
- if (typeof response != 'string') {
882
- throw exports.NfcError.internalError("Internal error. Plugin should respond a hexadecimal string");
883
- }
884
- debug('NFC plugin response: ', response);
885
- return [2 /*return*/, byteConverter.hexStringToBuffer(response)];
886
- case 2:
887
- errString_1 = _a.sent();
888
- if (typeof errString_1 === 'string') {
889
- error = stringToError(errString_1);
890
- if (error.code === exports.NfcError.ErrorCode.NotConnectedError ||
891
- error.code === exports.NfcError.ErrorCode.TagLostError) {
892
- this._onConnectionLost(error);
893
- }
894
- throw error;
895
- }
896
- else {
897
- throw errString_1;
898
- }
899
- return [3 /*break*/, 3];
900
- case 3: return [2 /*return*/];
901
- }
902
- });
903
- }); })];
904
- case 1: return [2 /*return*/, _a.sent()];
905
- }
906
- });
907
- }); });
908
- };
909
- NFCComProtocol.prototype._onConnectionLost = function (error) {
910
- if (this.connectionState !== api.ConnectionState.DISCONNECTED) {
911
- this.setConnectionState(api.ConnectionState.DISCONNECTED);
912
- }
913
- };
914
- return NFCComProtocol;
915
- }(core.QueueComProtocol));
916
- /**
917
- * Convert error string returned by the plugin into an error object
918
- * It only checks a few Android error string for now
919
- *
920
- * TODO complete implementation with other error types
921
- *
922
- * @param errString
923
- */
924
- function stringToError(errString) {
925
- var errStringLc = errString.toLowerCase();
926
- if (errStringLc.indexOf('tag was lost') >= 0) {
927
- return exports.NfcError.tagLostError();
928
- }
929
- else if (errStringLc.indexOf('not connected') >= 0) {
930
- return exports.NfcError.notConnectedError();
931
- }
932
- else {
933
- return exports.NfcError.unknownError(errString);
934
- }
856
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
857
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
858
+ return new (P || (P = Promise))(function (resolve, reject) {
859
+ function fulfilled(value) { try {
860
+ step(generator.next(value));
861
+ }
862
+ catch (e) {
863
+ reject(e);
864
+ } }
865
+ function rejected(value) { try {
866
+ step(generator["throw"](value));
867
+ }
868
+ catch (e) {
869
+ reject(e);
870
+ } }
871
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
872
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
873
+ });
874
+ };
875
+ var PromiseQueue = /** @class */ (function () {
876
+ function PromiseQueue() {
877
+ this.queue = Promise.resolve(true);
878
+ }
879
+ PromiseQueue.prototype.add = function (operation) {
880
+ var _this = this;
881
+ return new Promise(function (resolve, reject) {
882
+ _this.queue = _this.queue.then(operation).then(resolve).catch(reject);
883
+ });
884
+ };
885
+ return PromiseQueue;
886
+ }());
887
+ var NFCComProtocol = /** @class */ (function (_super) {
888
+ __extends(NFCComProtocol, _super);
889
+ function NFCComProtocol(options) {
890
+ if (options === void 0) { options = {
891
+ connect: {
892
+ timeout: 2000,
893
+ },
894
+ disconnect: {
895
+ timeout: 1000,
896
+ },
897
+ send: {
898
+ timeout: 1000,
899
+ },
900
+ }; }
901
+ var _this = _super.call(this) || this;
902
+ _this._sendQueue = new PromiseQueue();
903
+ _this.options = options;
904
+ if (typeof nfc == undefined) {
905
+ console.warn('NFC plugin has not been setup properly. Global variable NFC does not exist');
906
+ }
907
+ return _this;
908
+ }
909
+ NFCComProtocol.iOSProtocol = function () {
910
+ return new NFCComProtocol({
911
+ connect: {
912
+ timeout: 10000, // bigger timer on connect as connect launches a reading session
913
+ },
914
+ disconnect: {
915
+ timeout: 1000,
916
+ },
917
+ send: {
918
+ timeout: 1000,
919
+ },
920
+ });
921
+ };
922
+ /**
923
+ * We force tag connection with nfc as we need to refresh tag
924
+ * @param options
925
+ * @returns
926
+ */
927
+ NFCComProtocol.prototype.connect = function (options) {
928
+ this.connectionState = api.ConnectionState.CONNECTING; // Hack to force NFC tag connect call even if we are already connected
929
+ return _super.prototype.connect.call(this, options);
930
+ };
931
+ /**
932
+ * Not used as we have rewrote "connect()" function
933
+ * @param options
934
+ * @returns
935
+ */
936
+ NFCComProtocol.prototype._connect = function (options) {
937
+ var _this = this;
938
+ return rxjs.defer(function () { return __awaiter(_this, void 0, void 0, function () {
939
+ var err_1;
940
+ return __generator(this, function (_a) {
941
+ switch (_a.label) {
942
+ case 0:
943
+ debug('_connect', options);
944
+ _a.label = 1;
945
+ case 1:
946
+ _a.trys.push([1, 3, , 4]);
947
+ return [4 /*yield*/, nfc.connect('android.nfc.tech.NfcV', this.options.connect.timeout)];
948
+ case 2:
949
+ _a.sent();
950
+ return [3 /*break*/, 4];
951
+ case 3:
952
+ err_1 = _a.sent();
953
+ if (typeof err_1 === 'string') {
954
+ if (err_1 === 'Tag connection failed') {
955
+ throw exports.NfcError.tagConnectionFailed();
956
+ }
957
+ else {
958
+ throw exports.NfcError.unknownError(err_1);
959
+ }
960
+ }
961
+ throw err_1;
962
+ case 4: return [2 /*return*/];
963
+ }
964
+ });
965
+ }); });
966
+ };
967
+ NFCComProtocol.prototype._disconnect = function (options) {
968
+ var _this = this;
969
+ return rxjs.defer(function () { return __awaiter(_this, void 0, void 0, function () {
970
+ return __generator(this, function (_a) {
971
+ switch (_a.label) {
972
+ case 0: return [4 /*yield*/, nfc.close()];
973
+ case 1:
974
+ _a.sent();
975
+ this._sendQueue = new PromiseQueue();
976
+ return [2 /*return*/];
977
+ }
978
+ });
979
+ }); });
980
+ };
981
+ /**
982
+ * Not used
983
+ * @param options
984
+ * @returns
985
+ */
986
+ NFCComProtocol.prototype.write = function (data) {
987
+ return __awaiter(this, void 0, void 0, function () {
988
+ return __generator(this, function (_a) {
989
+ throw new Error('Method not implemented.');
990
+ });
991
+ });
992
+ };
993
+ /**
994
+ * Not used
995
+ * @param options
996
+ * @returns
997
+ */
998
+ NFCComProtocol.prototype.read = function () {
999
+ return __awaiter(this, void 0, void 0, function () {
1000
+ return __generator(this, function (_a) {
1001
+ throw new Error('Method not implemented.');
1002
+ });
1003
+ });
1004
+ };
1005
+ NFCComProtocol.prototype.send = function (data, options) {
1006
+ var _this = this;
1007
+ return rxjs.defer(function () { return __awaiter(_this, void 0, void 0, function () {
1008
+ var _this = this;
1009
+ return __generator(this, function (_a) {
1010
+ switch (_a.label) {
1011
+ case 0: return [4 /*yield*/, this._sendQueue.add(function () { return __awaiter(_this, void 0, void 0, function () {
1012
+ var response, errString_1, error;
1013
+ return __generator(this, function (_a) {
1014
+ switch (_a.label) {
1015
+ case 0:
1016
+ _a.trys.push([0, 2, , 3]);
1017
+ return [4 /*yield*/, nfc.transceiveTap(byteConverter.bufferToHexString(data))];
1018
+ case 1:
1019
+ response = _a.sent();
1020
+ if (typeof response != 'string') {
1021
+ throw exports.NfcError.internalError("Internal error. Plugin should respond a hexadecimal string");
1022
+ }
1023
+ debug('NFC plugin response: ', response);
1024
+ return [2 /*return*/, byteConverter.hexStringToBuffer(response)];
1025
+ case 2:
1026
+ errString_1 = _a.sent();
1027
+ if (typeof errString_1 === 'string') {
1028
+ error = stringToError(errString_1);
1029
+ if (error.code === exports.NfcError.ErrorCode.NotConnectedError ||
1030
+ error.code === exports.NfcError.ErrorCode.TagLostError) {
1031
+ this._onConnectionLost(error);
1032
+ }
1033
+ throw error;
1034
+ }
1035
+ else {
1036
+ throw errString_1;
1037
+ }
1038
+ return [3 /*break*/, 3];
1039
+ case 3: return [2 /*return*/];
1040
+ }
1041
+ });
1042
+ }); })];
1043
+ case 1: return [2 /*return*/, _a.sent()];
1044
+ }
1045
+ });
1046
+ }); });
1047
+ };
1048
+ NFCComProtocol.prototype._onConnectionLost = function (error) {
1049
+ if (this.connectionState !== api.ConnectionState.DISCONNECTED) {
1050
+ this.setConnectionState(api.ConnectionState.DISCONNECTED);
1051
+ }
1052
+ };
1053
+ return NFCComProtocol;
1054
+ }(core.QueueComProtocol));
1055
+ /**
1056
+ * Convert error string returned by the plugin into an error object
1057
+ * It only checks a few Android error string for now
1058
+ *
1059
+ * TODO complete implementation with other error types
1060
+ *
1061
+ * @param errString
1062
+ */
1063
+ function stringToError(errString) {
1064
+ var errStringLc = errString.toLowerCase();
1065
+ if (errStringLc.indexOf('tag was lost') >= 0) {
1066
+ return exports.NfcError.tagLostError();
1067
+ }
1068
+ else if (errStringLc.indexOf('not connected') >= 0) {
1069
+ return exports.NfcError.notConnectedError();
1070
+ }
1071
+ else {
1072
+ return exports.NfcError.unknownError(errString);
1073
+ }
935
1074
  }
936
1075
 
937
- /**
938
- * We manage only on NDEF message with 3 records:
939
- * record 0 = URI; record 1 = AAR; record 2 = BLE MAC ADDRESS / BSSID; record 3: universal link
940
- */
941
- function parseTapNdefMessage(messages) {
942
- var result = {};
943
- if (messages.length >= 1) {
944
- var asciiUri = messages[0].payload;
945
- result.uri = toAsciiString(asciiUri);
946
- }
947
- if (messages.length >= 2) {
948
- result.aar = toAsciiString(messages[1].payload);
949
- }
950
- if (messages.length >= 3) {
951
- var payload3 = messages[2].payload;
952
- var type = payload3[0];
953
- var content = payload3.slice(1);
954
- result.type = type;
955
- switch (type) {
956
- case TapNdefProtocolType.BLE:
957
- result.macAddress = convertBytesToBLEAddress(content);
958
- break;
959
- case TapNdefProtocolType.WiFi:
960
- result.ssid = toAsciiString(content);
961
- break;
962
- }
963
- }
964
- if (messages.length >= 4) {
965
- result.name = toAsciiString(messages[3].payload);
966
- }
967
- return result;
968
- }
969
- var TapNdefProtocolType;
970
- (function (TapNdefProtocolType) {
971
- TapNdefProtocolType[TapNdefProtocolType["WiFi"] = 32] = "WiFi";
972
- TapNdefProtocolType[TapNdefProtocolType["BLE"] = 64] = "BLE";
973
- })(TapNdefProtocolType || (TapNdefProtocolType = {}));
974
- function convertBytesToBLEAddress(bytes) {
975
- return bytes
976
- .map(function (byte) {
977
- if (byte < 0) {
978
- byte += 256;
979
- }
980
- var byteString = '0' + byte.toString(16).toUpperCase();
981
- byteString = byteString.slice(-2);
982
- return byteString;
983
- })
984
- .reverse()
985
- .join(':');
1076
+ /**
1077
+ * We manage only on NDEF message with 3 records:
1078
+ * record 0 = URI; record 1 = AAR; record 2 = BLE MAC ADDRESS / BSSID; record 3: universal link
1079
+ */
1080
+ function parseTapNdefMessage(messages) {
1081
+ var result = {};
1082
+ if (messages.length >= 1) {
1083
+ var asciiUri = messages[0].payload;
1084
+ result.uri = toAsciiString(asciiUri);
1085
+ }
1086
+ if (messages.length >= 2) {
1087
+ result.aar = toAsciiString(messages[1].payload);
1088
+ }
1089
+ if (messages.length >= 3) {
1090
+ var payload3 = messages[2].payload;
1091
+ var type = payload3[0];
1092
+ var content = payload3.slice(1);
1093
+ result.type = type;
1094
+ switch (type) {
1095
+ case TapNdefProtocolType.BLE:
1096
+ result.macAddress = convertBytesToBLEAddress(content);
1097
+ break;
1098
+ case TapNdefProtocolType.WiFi:
1099
+ result.ssid = toAsciiString(content);
1100
+ break;
1101
+ }
1102
+ }
1103
+ if (messages.length >= 4) {
1104
+ result.name = toAsciiString(messages[3].payload);
1105
+ }
1106
+ return result;
1107
+ }
1108
+ var TapNdefProtocolType;
1109
+ (function (TapNdefProtocolType) {
1110
+ TapNdefProtocolType[TapNdefProtocolType["WiFi"] = 32] = "WiFi";
1111
+ TapNdefProtocolType[TapNdefProtocolType["BLE"] = 64] = "BLE";
1112
+ })(TapNdefProtocolType || (TapNdefProtocolType = {}));
1113
+ function convertBytesToBLEAddress(bytes) {
1114
+ return bytes
1115
+ .map(function (byte) {
1116
+ if (byte < 0) {
1117
+ byte += 256;
1118
+ }
1119
+ var byteString = '0' + byte.toString(16).toUpperCase();
1120
+ byteString = byteString.slice(-2);
1121
+ return byteString;
1122
+ })
1123
+ .reverse()
1124
+ .join(':');
986
1125
  }
987
1126
 
988
- /**
989
- * Generated bundle index. Do not edit.
1127
+ /**
1128
+ * Generated bundle index. Do not edit.
990
1129
  */
991
1130
 
992
1131
  exports.NFCComProtocol = NFCComProtocol;
993
1132
  exports.WellKnownType = WellKnownType;
1133
+ exports.encodeNDEFMessage = encodeNDEFMessage;
1134
+ exports.encodeNDEFMessages = encodeNDEFMessages;
994
1135
  exports.parseNdefMessage = parseNdefMessage;
995
1136
  exports.parseNdefMessages = parseNdefMessages;
996
1137
  exports.parseTapNdefMessage = parseTapNdefMessage;