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

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 (62) hide show
  1. package/LICENSE +30 -30
  2. package/README.md +673 -673
  3. package/bundles/iotize-device-com-nfc.cordova.umd.js +967 -946
  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/public_api.js +1 -1
  9. package/esm2015/www/cordova-interface.js +1 -1
  10. package/esm2015/www/errors.js +30 -30
  11. package/esm2015/www/errors.js.map +1 -1
  12. package/esm2015/www/index.js +6 -6
  13. package/esm2015/www/index.js.map +1 -1
  14. package/esm2015/www/logger.js +2 -2
  15. package/esm2015/www/logger.js.map +1 -1
  16. package/esm2015/www/ndef/definitions.js +16 -16
  17. package/esm2015/www/ndef/definitions.js.map +1 -1
  18. package/esm2015/www/ndef/parse-ndef-message.js +164 -164
  19. package/esm2015/www/ndef/parse-ndef-message.js.map +1 -1
  20. package/esm2015/www/nfc-com-protocol.js +169 -169
  21. package/esm2015/www/tap-ndef/definitions.js +1 -1
  22. package/esm2015/www/tap-ndef/definitions.js.map +1 -1
  23. package/esm2015/www/tap-ndef/index.js +2 -2
  24. package/esm2015/www/tap-ndef/index.js.map +1 -1
  25. package/esm2015/www/tap-ndef/parse-ndef-message.js +51 -51
  26. package/esm2015/www/tap-ndef/parse-ndef-message.js.map +1 -1
  27. package/esm2015/www/utility.js +10 -10
  28. package/esm2015/www/utility.js.map +1 -1
  29. package/esm2015/www/utility.ngsummary.json +1 -1
  30. package/fesm2015/iotize-device-com-nfc.cordova.js +425 -425
  31. package/fesm2015/iotize-device-com-nfc.cordova.js.map +1 -1
  32. package/iotize-device-com-nfc.cordova.d.ts +4 -4
  33. package/package.json +1 -1
  34. package/plugin.xml +1 -1
  35. package/public_api.d.ts +1 -1
  36. package/src/android/build.gradle +38 -38
  37. package/src/android/gradle/wrapper/gradle-wrapper.properties +6 -6
  38. package/src/android/gradlew +172 -172
  39. package/src/android/gradlew.bat +84 -84
  40. package/src/android/local.properties +8 -8
  41. package/src/android/src/com/chariotsolutions/nfc/plugin/JSONBuilder.java +60 -60
  42. package/src/android/src/com/chariotsolutions/nfc/plugin/NfcPluginError.java +15 -15
  43. package/src/android/src/com/chariotsolutions/nfc/plugin/PluginResponse.java +85 -85
  44. package/src/android/src/com/chariotsolutions/nfc/plugin/Util.java +140 -140
  45. package/src/ios/NFCTagReader.swift +6 -0
  46. package/src/ios/NFCTapPlugin.swift +2 -2
  47. package/www/cordova-interface.d.ts +34 -34
  48. package/www/errors.d.ts +17 -17
  49. package/www/index.d.ts +6 -6
  50. package/www/logger.d.ts +2 -2
  51. package/www/ndef/definitions.d.ts +15 -15
  52. package/www/ndef/parse-ndef-message.d.ts +69 -69
  53. package/www/nfc-com-protocol.d.ts +36 -36
  54. package/www/tap-ndef/definitions.d.ts +25 -25
  55. package/www/tap-ndef/index.d.ts +2 -2
  56. package/www/tap-ndef/parse-ndef-message.d.ts +6 -6
  57. package/www/utility.d.ts +2 -2
  58. package/src/android/.gradle/4.10.1/fileChanges/last-build.bin +0 -0
  59. package/src/android/.gradle/4.10.1/fileHashes/fileHashes.bin +0 -0
  60. package/src/android/.gradle/4.10.1/fileHashes/fileHashes.lock +0 -0
  61. package/src/android/.gradle/4.10.1/gc.properties +0 -0
  62. package/src/android/.gradle/vcs-1/gc.properties +0 -0
@@ -4,968 +4,989 @@
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 */
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;
158
- return g = { next: verb(0), "throw": verb(1), "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 = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
314
- function verb(n) { if (g[n])
315
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
316
- function resume(n, v) { try {
317
- step(g[n](v));
318
- }
319
- catch (e) {
320
- settle(q[0][3], e);
321
- } }
322
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
323
- function fulfill(value) { resume("next", value); }
324
- function reject(value) { resume("throw", value); }
325
- function settle(f, v) { if (f(v), q.shift(), q.length)
326
- resume(q[0][0], q[0][1]); }
327
- }
328
- function __asyncDelegator(o) {
329
- var i, p;
330
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
331
- 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; }
332
- }
333
- function __asyncValues(o) {
334
- if (!Symbol.asyncIterator)
335
- throw new TypeError("Symbol.asyncIterator is not defined.");
336
- var m = o[Symbol.asyncIterator], i;
337
- 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);
338
- 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); }); }; }
339
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
340
- }
341
- function __makeTemplateObject(cooked, raw) {
342
- if (Object.defineProperty) {
343
- Object.defineProperty(cooked, "raw", { value: raw });
344
- }
345
- else {
346
- cooked.raw = raw;
347
- }
348
- return cooked;
349
- }
350
- ;
351
- var __setModuleDefault = Object.create ? (function (o, v) {
352
- Object.defineProperty(o, "default", { enumerable: true, value: v });
353
- }) : function (o, v) {
354
- o["default"] = v;
355
- };
356
- function __importStar(mod) {
357
- if (mod && mod.__esModule)
358
- return mod;
359
- var result = {};
360
- if (mod != null)
361
- for (var k in mod)
362
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
363
- __createBinding(result, mod, k);
364
- __setModuleDefault(result, mod);
365
- return result;
366
- }
367
- function __importDefault(mod) {
368
- return (mod && mod.__esModule) ? mod : { default: mod };
369
- }
370
- function __classPrivateFieldGet(receiver, state, kind, f) {
371
- if (kind === "a" && !f)
372
- throw new TypeError("Private accessor was defined without a getter");
373
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
374
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
375
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
376
- }
377
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
378
- if (kind === "m")
379
- throw new TypeError("Private method is not writable");
380
- if (kind === "a" && !f)
381
- throw new TypeError("Private accessor was defined without a setter");
382
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
383
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
384
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
385
- }
386
- function __classPrivateFieldIn(state, receiver) {
387
- if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
388
- throw new TypeError("Cannot use 'in' operator on non-object");
389
- return typeof state === "function" ? receiver === state : state.has(receiver);
390
- }
391
- function __addDisposableResource(env, value, async) {
392
- if (value !== null && value !== void 0) {
393
- if (typeof value !== "object" && typeof value !== "function")
394
- throw new TypeError("Object expected.");
395
- var dispose;
396
- if (async) {
397
- if (!Symbol.asyncDispose)
398
- throw new TypeError("Symbol.asyncDispose is not defined.");
399
- dispose = value[Symbol.asyncDispose];
400
- }
401
- if (dispose === void 0) {
402
- if (!Symbol.dispose)
403
- throw new TypeError("Symbol.dispose is not defined.");
404
- dispose = value[Symbol.dispose];
405
- }
406
- if (typeof dispose !== "function")
407
- throw new TypeError("Object not disposable.");
408
- env.stack.push({ value: value, dispose: dispose, async: async });
409
- }
410
- else if (async) {
411
- env.stack.push({ async: true });
412
- }
413
- return value;
414
- }
415
- var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
416
- var e = new Error(message);
417
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
418
- };
419
- function __disposeResources(env) {
420
- function fail(e) {
421
- env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
422
- env.hasError = true;
423
- }
424
- function next() {
425
- while (env.stack.length) {
426
- var rec = env.stack.pop();
427
- try {
428
- var result = rec.dispose && rec.dispose.call(rec.value);
429
- if (rec.async)
430
- return Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
431
- }
432
- catch (e) {
433
- fail(e);
434
- }
435
- }
436
- if (env.hasError)
437
- throw env.error;
438
- }
439
- return next();
440
- }
441
- var tslib_es6 = {
442
- __extends: __extends,
443
- __assign: __assign,
444
- __rest: __rest,
445
- __decorate: __decorate,
446
- __param: __param,
447
- __metadata: __metadata,
448
- __awaiter: __awaiter$1,
449
- __generator: __generator,
450
- __createBinding: __createBinding,
451
- __exportStar: __exportStar,
452
- __values: __values,
453
- __read: __read,
454
- __spread: __spread,
455
- __spreadArrays: __spreadArrays,
456
- __spreadArray: __spreadArray,
457
- __await: __await,
458
- __asyncGenerator: __asyncGenerator,
459
- __asyncDelegator: __asyncDelegator,
460
- __asyncValues: __asyncValues,
461
- __makeTemplateObject: __makeTemplateObject,
462
- __importStar: __importStar,
463
- __importDefault: __importDefault,
464
- __classPrivateFieldGet: __classPrivateFieldGet,
465
- __classPrivateFieldSet: __classPrivateFieldSet,
466
- __classPrivateFieldIn: __classPrivateFieldIn,
467
- __addDisposableResource: __addDisposableResource,
468
- __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,
469
490
  };
470
491
 
471
- exports.NfcError = /** @class */ (function (_super) {
472
- __extends(NfcError, _super);
473
- function NfcError(code, message) {
474
- var _this = _super.call(this, message) || this;
475
- _this.code = code;
476
- return _this;
477
- }
478
- NfcError.tagLostError = function () {
479
- return new NfcError(NfcError.ErrorCode.TagLostError, 'NFC tag lost');
480
- };
481
- NfcError.notConnectedError = function () {
482
- return new NfcError(NfcError.ErrorCode.NotConnectedError, 'NFC tag is not connected');
483
- };
484
- NfcError.unknownError = function (errString) {
485
- throw new NfcError(NfcError.ErrorCode.Unknown, errString);
486
- };
487
- NfcError.tagConnectionFailed = function () {
488
- throw new NfcError(NfcError.ErrorCode.NotConnectedError, "Tag connection failed");
489
- };
490
- NfcError.internalError = function (message) {
491
- throw new NfcError(NfcError.ErrorCode.InternalError, message);
492
- };
493
- return NfcError;
494
- }(Error));
495
- (function (NfcError) {
496
- var ErrorCode;
497
- (function (ErrorCode) {
498
- ErrorCode["Unknown"] = "NfcUnknownError";
499
- ErrorCode["InternalError"] = "NfcInternalError";
500
- ErrorCode["TagLostError"] = "NfcTagLostError";
501
- ErrorCode["NotConnectedError"] = "NfcNotConnectedError";
502
- })(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 = {}));
503
524
  })(exports.NfcError || (exports.NfcError = {}));
504
525
 
505
- exports.TNF = void 0;
506
- (function (TNF) {
507
- TNF[TNF["EMPTY"] = 0] = "EMPTY";
508
- TNF[TNF["WELL_KNOWN_TYPE"] = 1] = "WELL_KNOWN_TYPE";
509
- TNF[TNF["MIME_TYPE"] = 2] = "MIME_TYPE";
510
- TNF[TNF["ABSOLUTE_URI"] = 3] = "ABSOLUTE_URI";
511
- TNF[TNF["EXTERNAL"] = 4] = "EXTERNAL";
512
- TNF[TNF["UNKNOWN"] = 5] = "UNKNOWN";
513
- TNF[TNF["UNCHANGED"] = 6] = "UNCHANGED";
514
- TNF[TNF["RFU"] = 7] = "RFU";
515
- })(exports.TNF || (exports.TNF = {}));
516
- var WellKnownType = {
517
- URI: [0x55],
518
- TEXT: [0x54],
519
- 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],
520
541
  };
521
542
 
522
- function toAsciiString(payload) {
523
- if (payload.length > 0 && payload[0] === 0) {
524
- payload = payload.slice(1);
525
- }
526
- return byteConverter.bufferToAsciiString(payload);
527
- }
528
- function arrayEquals(a1, a2) {
529
- 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]; }));
530
551
  }
531
552
 
532
- function parseNdefMessages(messages) {
533
- return (messages || []).map(parseNdefMessage);
534
- }
535
- function parseNdefMessage(message) {
536
- switch (message.tnf) {
537
- case exports.TNF.ABSOLUTE_URI:
538
- return {
539
- tnf: 'uri',
540
- value: toAsciiString(message.payload),
541
- };
542
- case exports.TNF.WELL_KNOWN_TYPE:
543
- return {
544
- tnf: 'wkt',
545
- value: parseWellKnownType(message),
546
- };
547
- case exports.TNF.EMPTY:
548
- return {
549
- tnf: 'empty',
550
- value: {
551
- type: message.type,
552
- payload: message.payload,
553
- },
554
- };
555
- case exports.TNF.EXTERNAL:
556
- return {
557
- tnf: 'external',
558
- value: paseExternalType(message),
559
- };
560
- case exports.TNF.MIME_TYPE:
561
- return {
562
- tnf: 'mimetype',
563
- value: parseMimeType(message),
564
- };
565
- case exports.TNF.RFU:
566
- return {
567
- tnf: 'rfu',
568
- value: {
569
- type: message.type,
570
- payload: message.payload,
571
- },
572
- };
573
- case exports.TNF.UNCHANGED:
574
- return {
575
- tnf: 'unchanged',
576
- value: {
577
- type: message.type,
578
- payload: message.payload,
579
- },
580
- };
581
- case exports.TNF.UNKNOWN:
582
- return {
583
- tnf: 'unknown',
584
- value: {
585
- type: message.type,
586
- payload: message.payload,
587
- },
588
- };
589
- default:
590
- return {
591
- tnf: message.tnf,
592
- value: {
593
- type: message.type,
594
- payload: message.payload,
595
- },
596
- };
597
- }
598
- }
599
- function parseWellKnownType(message) {
600
- if (arrayEquals(message.type, WellKnownType.URI)) {
601
- var prefixCode = message.payload[0];
602
- var prefix = WELL_KNOWN_TYPE_URI_PREFIX[prefixCode] || '';
603
- return {
604
- type: 'uri',
605
- value: prefix + toAsciiString(message.payload.slice(1)),
606
- };
607
- }
608
- else if (arrayEquals(message.type, WellKnownType.TEXT)) {
609
- var encodingNumber = message.payload[0];
610
- var encoding = 'utf8';
611
- var languageSizeInBytes = 0;
612
- if (typeof encodingNumber === 'number') {
613
- // b0: encodage utf8 s’il vaut 0 et utf16 s’il vaut 1.
614
- // b1: RFU (set to 0)
615
- // b2-b7: la taille en octets de la langue (n)
616
- // B8-B8+n-1: language
617
- // Bn: message
618
- var b0 = encodingNumber & 128;
619
- encoding = b0 ? 'utf16le' : 'utf8';
620
- languageSizeInBytes = encodingNumber & 63;
621
- }
622
- var text = message.payload.slice(languageSizeInBytes + 1);
623
- return {
624
- type: 'text',
625
- value: buffer.Buffer.from(text).toString(encoding),
626
- };
627
- }
628
- // else if (arrayEquals(message.type, WellKnownType.SMPART_POSTER)) {
629
- // return {
630
- // type: 'sp',
631
- // // TODO implement
632
- // payload: message.payload,
633
- // };
634
- // }
635
- else {
636
- return {
637
- type: 'unknown',
638
- value: {
639
- type: message.type,
640
- payload: message.payload,
641
- },
642
- };
643
- }
644
- }
645
- function paseExternalType(message) {
646
- var value = buffer.Buffer.from(message.payload).toString('utf8');
647
- var domain = buffer.Buffer.from(message.type).toString('utf8');
648
- return {
649
- domain: domain,
650
- value: value,
651
- };
652
- }
653
- var WELL_KNOWN_TYPE_URI_PREFIX = {
654
- 0x0: '',
655
- 0x1: 'http://www.',
656
- 0x2: 'http://www.',
657
- 0x3: 'http://',
658
- 0x4: 'https://',
659
- 0x5: 'tel:',
660
- 0x6: 'mailto:',
661
- 0x07: 'ftp://anonymous:anonymous@',
662
- 0x1d: 'file://',
663
- 0x08: 'ftp://ftp.',
664
- 0x09: 'ftps://',
665
- 0x0a: 'sftp://',
666
- 0x0b: 'smb://',
667
- 0x0c: 'nfs://',
668
- 0x0d: 'ftp://',
669
- 0x0e: 'dav://',
670
- 0x0f: 'news:',
671
- 0x10: 'telnet://',
672
- 0x11: 'imap:',
673
- 0x12: 'rtsp://',
674
- 0x13: 'urn:',
675
- 0x14: 'pop:',
676
- 0x15: 'sip:',
677
- 0x16: 'sips:',
678
- 0x17: 'tftp:',
679
- 0x18: 'btspp://',
680
- 0x19: 'btl2cap://',
681
- 0x1a: 'btgoep://',
682
- 0x1b: 'tcpobex://',
683
- 0x1c: 'irdaobex://',
684
- 0x1e: 'urn:epc:id:',
685
- 0x1f: 'urn:epc:tag:',
686
- 0x20: 'urn:epc:pat:',
687
- 0x21: 'urn:epc:raw:',
688
- 0x22: 'urn:epc:',
689
- };
690
- function parseMimeType(message) {
691
- 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
+ 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');
692
713
  }
693
714
 
694
715
  var debug = debug$1.createDebugger("@iotize/device-com-nfc.cordova");
695
716
 
696
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
697
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
698
- return new (P || (P = Promise))(function (resolve, reject) {
699
- function fulfilled(value) { try {
700
- step(generator.next(value));
701
- }
702
- catch (e) {
703
- reject(e);
704
- } }
705
- function rejected(value) { try {
706
- step(generator["throw"](value));
707
- }
708
- catch (e) {
709
- reject(e);
710
- } }
711
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
712
- step((generator = generator.apply(thisArg, _arguments || [])).next());
713
- });
714
- };
715
- var PromiseQueue = /** @class */ (function () {
716
- function PromiseQueue() {
717
- this.queue = Promise.resolve(true);
718
- }
719
- PromiseQueue.prototype.add = function (operation) {
720
- var _this = this;
721
- return new Promise(function (resolve, reject) {
722
- _this.queue = _this.queue.then(operation).then(resolve).catch(reject);
723
- });
724
- };
725
- return PromiseQueue;
726
- }());
727
- var NFCComProtocol = /** @class */ (function (_super) {
728
- __extends(NFCComProtocol, _super);
729
- function NFCComProtocol(options) {
730
- if (options === void 0) { options = {
731
- connect: {
732
- timeout: 2000,
733
- },
734
- disconnect: {
735
- timeout: 1000,
736
- },
737
- send: {
738
- timeout: 1000,
739
- },
740
- }; }
741
- var _this = _super.call(this) || this;
742
- _this._sendQueue = new PromiseQueue();
743
- _this.options = options;
744
- if (typeof nfc == undefined) {
745
- console.warn('NFC plugin has not been setup properly. Global variable NFC does not exist');
746
- }
747
- return _this;
748
- }
749
- NFCComProtocol.iOSProtocol = function () {
750
- return new NFCComProtocol({
751
- connect: {
752
- timeout: 10000, // bigger timer on connect as connect launches a reading session
753
- },
754
- disconnect: {
755
- timeout: 1000,
756
- },
757
- send: {
758
- timeout: 1000,
759
- },
760
- });
761
- };
762
- /**
763
- * We force tag connection with nfc as we need to refresh tag
764
- * @param options
765
- * @returns
766
- */
767
- NFCComProtocol.prototype.connect = function (options) {
768
- this.connectionState = api.ConnectionState.CONNECTING; // Hack to force NFC tag connect call even if we are already connected
769
- return _super.prototype.connect.call(this, options);
770
- };
771
- /**
772
- * Not used as we have rewrote "connect()" function
773
- * @param options
774
- * @returns
775
- */
776
- NFCComProtocol.prototype._connect = function (options) {
777
- var _this = this;
778
- return rxjs.defer(function () { return __awaiter(_this, void 0, void 0, function () {
779
- var err_1;
780
- return __generator(this, function (_a) {
781
- switch (_a.label) {
782
- case 0:
783
- debug('_connect', options);
784
- _a.label = 1;
785
- case 1:
786
- _a.trys.push([1, 3, , 4]);
787
- return [4 /*yield*/, nfc.connect('android.nfc.tech.NfcV', this.options.connect.timeout)];
788
- case 2:
789
- _a.sent();
790
- return [3 /*break*/, 4];
791
- case 3:
792
- err_1 = _a.sent();
793
- if (typeof err_1 === 'string') {
794
- if (err_1 === 'Tag connection failed') {
795
- throw exports.NfcError.tagConnectionFailed();
796
- }
797
- else {
798
- throw exports.NfcError.unknownError(err_1);
799
- }
800
- }
801
- throw err_1;
802
- case 4: return [2 /*return*/];
803
- }
804
- });
805
- }); });
806
- };
807
- NFCComProtocol.prototype._disconnect = function (options) {
808
- var _this = this;
809
- return rxjs.defer(function () { return __awaiter(_this, void 0, void 0, function () {
810
- return __generator(this, function (_a) {
811
- switch (_a.label) {
812
- case 0: return [4 /*yield*/, nfc.close()];
813
- case 1:
814
- _a.sent();
815
- this._sendQueue = new PromiseQueue();
816
- return [2 /*return*/];
817
- }
818
- });
819
- }); });
820
- };
821
- /**
822
- * Not used
823
- * @param options
824
- * @returns
825
- */
826
- NFCComProtocol.prototype.write = function (data) {
827
- return __awaiter(this, void 0, void 0, function () {
828
- return __generator(this, function (_a) {
829
- throw new Error('Method not implemented.');
830
- });
831
- });
832
- };
833
- /**
834
- * Not used
835
- * @param options
836
- * @returns
837
- */
838
- NFCComProtocol.prototype.read = function () {
839
- return __awaiter(this, void 0, void 0, function () {
840
- return __generator(this, function (_a) {
841
- throw new Error('Method not implemented.');
842
- });
843
- });
844
- };
845
- NFCComProtocol.prototype.send = function (data, options) {
846
- var _this = this;
847
- return rxjs.defer(function () { return __awaiter(_this, void 0, void 0, function () {
848
- var _this = this;
849
- return __generator(this, function (_a) {
850
- switch (_a.label) {
851
- case 0: return [4 /*yield*/, this._sendQueue.add(function () { return __awaiter(_this, void 0, void 0, function () {
852
- var response, errString_1, error;
853
- return __generator(this, function (_a) {
854
- switch (_a.label) {
855
- case 0:
856
- _a.trys.push([0, 2, , 3]);
857
- return [4 /*yield*/, nfc.transceiveTap(byteConverter.bufferToHexString(data))];
858
- case 1:
859
- response = _a.sent();
860
- if (typeof response != 'string') {
861
- throw exports.NfcError.internalError("Internal error. Plugin should respond a hexadecimal string");
862
- }
863
- debug('NFC plugin response: ', response);
864
- return [2 /*return*/, byteConverter.hexStringToBuffer(response)];
865
- case 2:
866
- errString_1 = _a.sent();
867
- if (typeof errString_1 === 'string') {
868
- error = stringToError(errString_1);
869
- if (error.code === exports.NfcError.ErrorCode.NotConnectedError ||
870
- error.code === exports.NfcError.ErrorCode.TagLostError) {
871
- this._onConnectionLost(error);
872
- }
873
- throw error;
874
- }
875
- else {
876
- throw errString_1;
877
- }
878
- return [3 /*break*/, 3];
879
- case 3: return [2 /*return*/];
880
- }
881
- });
882
- }); })];
883
- case 1: return [2 /*return*/, _a.sent()];
884
- }
885
- });
886
- }); });
887
- };
888
- NFCComProtocol.prototype._onConnectionLost = function (error) {
889
- if (this.connectionState !== api.ConnectionState.DISCONNECTED) {
890
- this.setConnectionState(api.ConnectionState.DISCONNECTED);
891
- }
892
- };
893
- return NFCComProtocol;
894
- }(core.QueueComProtocol));
895
- /**
896
- * Convert error string returned by the plugin into an error object
897
- * It only checks a few Android error string for now
898
- *
899
- * TODO complete implementation with other error types
900
- *
901
- * @param errString
902
- */
903
- function stringToError(errString) {
904
- var errStringLc = errString.toLowerCase();
905
- if (errStringLc.indexOf('tag was lost') >= 0) {
906
- return exports.NfcError.tagLostError();
907
- }
908
- else if (errStringLc.indexOf('not connected') >= 0) {
909
- return exports.NfcError.notConnectedError();
910
- }
911
- else {
912
- return exports.NfcError.unknownError(errString);
913
- }
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
+ }
914
935
  }
915
936
 
916
- /**
917
- * We manage only on NDEF message with 3 records:
918
- * record 0 = URI; record 1 = AAR; record 2 = BLE MAC ADDRESS / BSSID; record 3: universal link
919
- */
920
- function parseTapNdefMessage(messages) {
921
- var result = {};
922
- if (messages.length >= 1) {
923
- var asciiUri = messages[0].payload;
924
- result.uri = toAsciiString(asciiUri);
925
- }
926
- if (messages.length >= 2) {
927
- result.aar = toAsciiString(messages[1].payload);
928
- }
929
- if (messages.length >= 3) {
930
- var payload3 = messages[2].payload;
931
- var type = payload3[0];
932
- var content = payload3.slice(1);
933
- result.type = type;
934
- switch (type) {
935
- case TapNdefProtocolType.BLE:
936
- result.macAddress = convertBytesToBLEAddress(content);
937
- break;
938
- case TapNdefProtocolType.WiFi:
939
- result.ssid = toAsciiString(content);
940
- break;
941
- }
942
- }
943
- if (messages.length >= 4) {
944
- result.name = toAsciiString(messages[3].payload);
945
- }
946
- return result;
947
- }
948
- var TapNdefProtocolType;
949
- (function (TapNdefProtocolType) {
950
- TapNdefProtocolType[TapNdefProtocolType["WiFi"] = 32] = "WiFi";
951
- TapNdefProtocolType[TapNdefProtocolType["BLE"] = 64] = "BLE";
952
- })(TapNdefProtocolType || (TapNdefProtocolType = {}));
953
- function convertBytesToBLEAddress(bytes) {
954
- return bytes
955
- .map(function (byte) {
956
- if (byte < 0) {
957
- byte += 256;
958
- }
959
- var byteString = '0' + byte.toString(16).toUpperCase();
960
- byteString = byteString.slice(-2);
961
- return byteString;
962
- })
963
- .reverse()
964
- .join(':');
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(':');
965
986
  }
966
987
 
967
- /**
968
- * Generated bundle index. Do not edit.
988
+ /**
989
+ * Generated bundle index. Do not edit.
969
990
  */
970
991
 
971
992
  exports.NFCComProtocol = NFCComProtocol;