@iotize/device-com-ble.cordova 3.6.0 → 3.6.3

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 (45) hide show
  1. package/bundles/iotize-device-com-ble.cordova.umd.js +19 -0
  2. package/bundles/iotize-device-com-ble.cordova.umd.js.map +1 -1
  3. package/bundles/iotize-device-com-ble.cordova.umd.min.js +1 -1
  4. package/bundles/iotize-device-com-ble.cordova.umd.min.js.map +1 -1
  5. package/esm2015/iotize-device-com-ble.cordova.ngsummary.json +1 -1
  6. package/esm2015/lib/definitions.js.map +1 -1
  7. package/esm2015/lib/utility.js +18 -0
  8. package/esm2015/lib/utility.js.map +1 -1
  9. package/esm2015/lib/utility.metadata.json +1 -1
  10. package/esm2015/lib/utility.ngsummary.json +1 -1
  11. package/esm2015/public_api.js +1 -1
  12. package/esm2015/public_api.js.map +1 -1
  13. package/esm2015/public_api.metadata.json +1 -1
  14. package/esm2015/public_api.ngsummary.json +1 -1
  15. package/fesm2015/iotize-device-com-ble.cordova.js +19 -1
  16. package/fesm2015/iotize-device-com-ble.cordova.js.map +1 -1
  17. package/iotize-device-com-ble.cordova.metadata.json +1 -1
  18. package/lib/definitions.d.ts +2 -0
  19. package/lib/utility.d.ts +4 -0
  20. package/package.json +1 -1
  21. package/public_api.d.ts +1 -1
  22. package/src/android/build.gradle +27 -27
  23. package/src/android/src/ble/BLECom.java +10 -6
  24. package/src/android/src/ble/BLEComError.java +119 -119
  25. package/src/android/src/ble/BLEProtocol.java +874 -0
  26. package/src/android/src/ble/BLEScanner.java +283 -283
  27. package/src/android/src/ble/JSONBuilder.java +83 -83
  28. package/src/android/src/ble/PluginResponse.java +129 -129
  29. package/src/android/src/ble/TapUtility.java +26 -26
  30. package/src/android/src/ble/characteristics/AbstractLwM2MRequestCharacteristic.java +48 -0
  31. package/src/android/src/ble/characteristics/CharacteristicAdapter.java +221 -0
  32. package/src/android/src/ble/characteristics/CharacteristicAdapterCallbacks.java +21 -0
  33. package/src/android/src/ble/characteristics/LwM2M20BytesRequestCharacteristicAdapter.java +161 -0
  34. package/src/android/src/ble/characteristics/LwM2MMTURequestCharacteristicAdapter.java +134 -0
  35. package/src/android/src/ble/commands/BLECommand.java +18 -0
  36. package/src/android/src/ble/commands/CharacteristicOperationCompletedNotifier.java +38 -0
  37. package/src/android/src/ble/commands/CommandCompletedNotifier.java +10 -0
  38. package/src/android/src/ble/commands/DescriptorOperationCompletedNotifier.java +37 -0
  39. package/src/android/src/ble/commands/GattOperationCompletedNotifier.java +29 -0
  40. package/src/ios/BLECom.swift +54 -42
  41. package/src/ios/BLEManager.swift +41 -23
  42. package/src/ios/BLETapPeripheral.swift +5 -10
  43. package/src/ios/CBPeripheralConverter.swift +164 -139
  44. package/src/ios/Queue.swift +114 -108
  45. package/iotize-device-com-ble.cordova-3.6.0.tgz +0 -0
@@ -515,6 +515,24 @@
515
515
  throw CordovaBLEError.iotizeBLEMissing();
516
516
  }
517
517
  return iotizeBLE;
518
+ }
519
+ function getScanRecordsFromBytes(bytes) {
520
+ //LTV encoding
521
+ var records = [];
522
+ for (var i = 0; i < bytes.length; i++) {
523
+ //first byte is length
524
+ var size = bytes[i];
525
+ if (size == 0) {
526
+ break;
527
+ }
528
+ var type = bytes[i + 1];
529
+ records.push({
530
+ type: type,
531
+ data: bytes.slice(i + 2, i + size + 1)
532
+ });
533
+ i += size;
534
+ }
535
+ return records;
518
536
  }
519
537
 
520
538
  var __awaiter$3 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -1391,6 +1409,7 @@
1391
1409
  exports.CordovaPeripheralAdapter = CordovaPeripheralAdapter;
1392
1410
  exports.CordovaServiceAdapter = CordovaServiceAdapter;
1393
1411
  exports.getIoTizeBleCordovaPlugin = getIoTizeBleCordovaPlugin;
1412
+ exports.getScanRecordsFromBytes = getScanRecordsFromBytes;
1394
1413
  exports["ɵc"] = IoTizeBleCordovaPlugin;
1395
1414
 
1396
1415
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1 +1 @@
1
- {"version":3,"file":"iotize-device-com-ble.cordova.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.mjs","../../../../src/lib/cordova-ble-error.ts","../../../../src/lib/logger.ts","../../../../src/lib/utility.ts","../../../../src/lib/ble-com-protocol.ts","../../../../src/lib/cordova-service-adapter.ts","../../../../src/lib/scanner.ts","../../../../src/lib/iotize-ble-cordova-plugin.ts","../../../../src/iotize-device-com-ble.cordova.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n 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) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n 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; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n 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);\n 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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { CodeError } from '@iotize/common/error';\n\nexport class CordovaBLEError extends CodeError {\n static invalidErrorResult(errObject: {\n code?: string | undefined;\n message?: string | undefined;\n }): CordovaBLEError {\n return new CordovaBLEError(\n `Internal error: ble cordova plugin returned an unexpected error object`,\n CordovaBLEError.Code.InternalError\n );\n }\n\n static invalidErrorCode(errObject: {\n code?: string | undefined;\n message?: string | undefined;\n }): CordovaBLEError {\n return new CordovaBLEError(\n `Internal error: ble cordova plugin returned an invalid error code ${errObject.code} with message ${errObject.message}`,\n CordovaBLEError.Code.InternalError\n );\n }\n\n static invalidNativeCallResult(result: any, cause: Error): CordovaBLEError {\n return new CordovaBLEError(\n `Internal error: native call returned an invalid data type. ${cause.message}`,\n CordovaBLEError.Code.InternalError\n );\n }\n\n static isValidErrorCode(\n code: string\n ): code is keyof typeof CordovaBLEError.Code {\n return code in CordovaBLEError.Code;\n }\n\n static iotizeBLEMissing() {\n return new CordovaBLEError(\n `iotizeBLE global variable does not exist. Are you sure app is running inside a Cordova application ?`,\n CordovaBLEError.Code.InternalError\n );\n }\n}\n\n/* istanbul ignore next */\nexport namespace CordovaBLEError {\n export enum Code {\n InternalError = 'CordovaBLEErrorInternalError',\n IllegalArgument = 'CordovaBLEErrorIllegalArgument',\n BLENotAvailable = 'CordovaBLEErrorBLENotAvailable',\n InvalidMacAddress = 'InvalidMacAddressInvalidMacAddress',\n ConnectionError = 'CordovaBLEErrorConnectionError',\n RequestError = 'CordovaBLEErrorRequestError',\n LocationServiceDisabled = 'CordovaBLEErrorLocationServiceDisabled',\n DisconnectError = 'CordovaBLEErrorDisconnectError',\n IllegalAction = 'CordovaBLEErrorIllegalAction',\n NotConnectedError = 'CordovaBLEErrorNotConnectedError',\n StatusCodeError = 'CordovaBLEErrorStatusCodeError',\n }\n}\n","import { createDebugger } from \"@iotize/common/debug\";\n\nexport const debug = createDebugger(`@iotize/device-com-ble.cordova`);\n","import { CordovaBLEError } from \"./cordova-ble-error\";\nimport { IoTizeBleCordovaPlugin } from \"./iotize-ble-cordova-plugin\";\n\ndeclare var iotizeBLE: IoTizeBleCordovaPlugin;\n\nexport function getIoTizeBleCordovaPlugin(): IoTizeBleCordovaPlugin {\n if (typeof iotizeBLE !== \"object\") {\n throw CordovaBLEError.iotizeBLEMissing();\n }\n return iotizeBLE;\n}\n","//\n// Copyright 2018 IoTize SAS Inc. Licensed under the MIT license.\n//\n// ble-com-protocol.ts\n// device-com-ble.cordova BLE Cordova Plugin\n//\nimport {\n ComProtocolConnectOptions,\n ComProtocolDisconnectOptions,\n ComProtocolOptions,\n ComProtocolSendOptions,\n ConnectionState,\n} from '@iotize/tap/protocol/api';\nimport { QueueComProtocol } from '@iotize/tap/protocol/core';\nimport { defer, Observable, of, throwError } from 'rxjs';\nimport { catchError, filter, first, tap } from 'rxjs/operators';\nimport { CordovaBLEError } from './cordova-ble-error';\nimport { IoTizeBleCordovaPlugin } from './iotize-ble-cordova-plugin';\nimport { debug } from './logger';\nimport { getIoTizeBleCordovaPlugin } from './utility';\n\nexport class BLEComProtocol extends QueueComProtocol {\n /**\n * Lazy reference to iotizeBLE.\n * We don't want to reference iotizeBLE in constructor as it may be referenced\n * before cordova plugin is loaded\n */\n private get pluginInterface(): IoTizeBleCordovaPlugin {\n return this.cordovaInterfaceOverwrite || getIoTizeBleCordovaPlugin();\n }\n\n constructor(\n private deviceId: string,\n comProtocolOptions?: ComProtocolOptions,\n public readonly cordovaInterfaceOverwrite?: IoTizeBleCordovaPlugin\n ) {\n super();\n if (comProtocolOptions) {\n this.options = comProtocolOptions;\n } else {\n this.options.connect.timeout = 60000;\n }\n }\n\n _connect(options?: ComProtocolConnectOptions): Observable<any> {\n debug('_connect', options);\n return this.pluginInterface\n .connectAndDiscoverTapServices(this.deviceId)\n .pipe(\n tap((state) => {\n this.setConnectionState(state);\n }),\n filter((state) => state === ConnectionState.CONNECTED),\n first()\n );\n }\n\n _disconnect(options?: ComProtocolDisconnectOptions): Observable<any> {\n debug('_disconnect', options);\n return defer(() => this.pluginInterface.disConnect(this.deviceId));\n }\n\n async write(data: Uint8Array): Promise<any> {\n throw new Error('Method not implemented.');\n }\n\n async read(): Promise<Uint8Array> {\n throw new Error('Method not implemented.');\n }\n\n send(\n data: Uint8Array,\n options?: ComProtocolSendOptions\n ): Observable<Uint8Array> {\n return defer(() => this.pluginInterface.send(this.deviceId, data)).pipe(\n catchError((err) => {\n if (\n (err as CordovaBLEError)?.code ===\n CordovaBLEError.Code.NotConnectedError\n ) {\n this.setConnectionState(ConnectionState.DISCONNECTED);\n }\n return throwError(err);\n })\n );\n }\n}\n","import { ConnectionState } from \"@iotize/tap/protocol/api\";\nimport {\n CharacteristicAdapterInterface,\n PeripheralAdapterInterface,\n ServiceAdapterInterface,\n DescriptorAdapterInterface,\n BleComError,\n CharacteristicProperties,\n} from \"@iotize/tap/protocol/ble/common\";\nimport { BehaviorSubject, Observable, Subscription } from \"rxjs\";\nimport {\n distinctUntilChanged,\n filter,\n first,\n map,\n shareReplay,\n} from \"rxjs/operators\";\nimport {\n CharacteristicDescription,\n DescriptorDescription,\n ServiceDescription,\n ServiceList,\n} from \"./definitions\";\nimport { IoTizeBleCordovaPlugin } from \"./iotize-ble-cordova-plugin\";\nimport { getIoTizeBleCordovaPlugin } from \"./utility\";\n\nexport class CordovaPeripheralAdapter\n implements PeripheralAdapterInterface<CordovaServiceAdapter>\n{\n private _stateChange = new BehaviorSubject<ConnectionState>(\n ConnectionState.DISCONNECTED\n );\n private connectionStateSubscription?: Subscription;\n private serviceListCache?: ServiceList;\n\n get stateChange() {\n return this._stateChange.asObservable().pipe(distinctUntilChanged());\n }\n\n get name() {\n // TODO device name ?\n return this.id;\n }\n\n get id() {\n return this.deviceId;\n }\n\n constructor(\n public readonly deviceId: string,\n public readonly cordovaPlugin: IoTizeBleCordovaPlugin = getIoTizeBleCordovaPlugin()\n ) {}\n\n get state(): string {\n return ConnectionState[this._stateChange.value];\n }\n\n async discoverServices<Key extends string = string>(\n serviceUUIDs?: Key[]\n ): Promise<Partial<Record<Key, CordovaServiceAdapter>>> {\n this.serviceListCache = await this.cordovaPlugin.discoverServices(\n this.deviceId\n );\n const result: Partial<Record<Key, CordovaServiceAdapter>> = {};\n if (serviceUUIDs) {\n for (const uuid of serviceUUIDs) {\n const servicDefinition = this.serviceListCache.find(\n (def) => def.uuid === uuid\n );\n if (servicDefinition) {\n result[uuid] = new CordovaServiceAdapter(servicDefinition, this);\n }\n }\n } else {\n for (const serviceDefinition of this.serviceListCache) {\n result[serviceDefinition.uuid as Key] = new CordovaServiceAdapter(\n serviceDefinition,\n this\n );\n }\n }\n return result;\n }\n\n async connect(): Promise<void> {\n this.connectionStateSubscription?.unsubscribe();\n const connectObservable = this.cordovaPlugin\n .connect(this.deviceId)\n .pipe(shareReplay());\n this.connectionStateSubscription = connectObservable.subscribe((state) => {\n this._stateChange.next(state);\n });\n await connectObservable\n .pipe(\n filter((state) => state === ConnectionState.CONNECTED),\n first()\n )\n .toPromise();\n }\n\n async disconnect(): Promise<void> {\n await this.cordovaPlugin.disConnect(this.deviceId);\n this._stateChange.next(ConnectionState.DISCONNECTED);\n this.connectionStateSubscription?.unsubscribe();\n }\n\n async close(): Promise<void> {\n await this.cordovaPlugin.close(this.deviceId);\n this._stateChange.next(ConnectionState.DISCONNECTED);\n this.connectionStateSubscription?.unsubscribe();\n }\n\n async getService(uuid: string): Promise<CordovaServiceAdapter> {\n if (!this.serviceListCache) {\n await this.discoverServices([uuid]);\n }\n const serviceDefinition = this.serviceListCache!.find(\n (s) => s.uuid === uuid\n );\n if (!serviceDefinition) {\n throw BleComError.serviceNotFound(uuid);\n }\n return new CordovaServiceAdapter(serviceDefinition, this);\n }\n}\n\nexport class CordovaServiceAdapter implements ServiceAdapterInterface {\n get uuid() {\n return this.config.uuid;\n }\n\n constructor(\n private readonly config: ServiceDescription,\n public readonly peripheral: CordovaPeripheralAdapter\n ) {}\n\n async getCharacteristic(\n charcUUID: string\n ): Promise<CordovaCharacteristicAdapter> {\n const characteristicDescription = this.config.characteristics?.find(\n (c) => c.uuid === charcUUID\n );\n if (!characteristicDescription) {\n throw BleComError.charcacteristicNotFound(charcUUID);\n }\n return new CordovaCharacteristicAdapter(this, characteristicDescription);\n }\n\n async getCharacteristics(): Promise<CordovaCharacteristicAdapter[]> {\n if (!this.config.characteristics) {\n return [];\n }\n return this.config.characteristics.map(\n (c) => new CordovaCharacteristicAdapter(this, c)\n );\n }\n}\n\nexport class CordovaCharacteristicAdapter\n implements CharacteristicAdapterInterface\n{\n private _dataStream?: Observable<Uint8Array>;\n\n get uuid() {\n return this.config.uuid;\n }\n\n constructor(\n public readonly service: CordovaServiceAdapter,\n public readonly config: CharacteristicDescription\n ) {}\n\n get properties(): CharacteristicProperties {\n return this.config.properties;\n }\n\n get data(): Observable<{ data: Uint8Array; isNotification: boolean }> {\n return this.setupDataStreamIfRequired().pipe(\n map((data) => ({\n data,\n isNotification: true,\n }))\n );\n }\n\n protected get deviceId() {\n return this.service.peripheral.deviceId;\n }\n\n protected get pluginInterface() {\n return this.service.peripheral.cordovaPlugin;\n }\n\n async read(): Promise<Uint8Array> {\n return this.pluginInterface.characteristicReadValue(\n this.deviceId,\n this.service.uuid,\n this.uuid\n );\n }\n\n async getDescriptor(): Promise<CordovaDescriptorAdapter> {\n throw new Error(`Not implemented yet`);\n }\n\n async getDescriptors(): Promise<DescriptorAdapterInterface[]> {\n if (!this.config.descriptors) {\n return [];\n }\n return this.config.descriptors.map(\n (descriptor) => new CordovaDescriptorAdapter(descriptor, this)\n );\n }\n\n async write(\n data: Uint8Array,\n writeWithoutResponse: boolean\n ): Promise<Uint8Array> {\n if (writeWithoutResponse) {\n await this.pluginInterface.characteristicWriteWithoutResponse(\n this.deviceId,\n this.service.uuid,\n this.uuid,\n data\n );\n } else {\n await this.pluginInterface.characteristicWrite(\n this.deviceId,\n this.service.uuid,\n this.uuid,\n data\n );\n }\n return data;\n }\n\n async enableNotifications(enabled?: boolean): Promise<void> {\n if (enabled) {\n this.setupDataStreamIfRequired();\n await this.pluginInterface.characteristicStartNotification(\n this.deviceId,\n this.service.uuid,\n this.uuid\n );\n } else {\n await this.pluginInterface.characteristicStopNotification(\n this.deviceId,\n this.service.uuid,\n this.uuid\n );\n }\n }\n\n setupDataStreamIfRequired() {\n if (!this._dataStream) {\n this._dataStream = this.pluginInterface.characteristicChanged(\n this.deviceId,\n this.service.uuid,\n this.uuid\n );\n }\n return this._dataStream;\n }\n}\n\nexport class CordovaDescriptorAdapter implements DescriptorAdapterInterface {\n get uuid() {\n return this.config.uuid;\n }\n\n constructor(\n public readonly config: DescriptorDescription,\n public readonly characteristic: CordovaCharacteristicAdapter\n ) {}\n\n async readValue(): Promise<Uint8Array> {\n throw new Error(`Reading descriptor value is not implemented yet`);\n }\n\n async writeValue(data: Uint8Array): Promise<void> {\n throw new Error(`Writing descriptor value is not implemented yet`);\n }\n}\n","//\n// Copyright 2018 IoTize SAS Inc. Licensed under the MIT license.\n//\n// scanner.ts\n// device-com-ble.cordova BLE Cordova Plugin\n//\n\nimport { BleComError } from \"@iotize/tap/protocol/ble/common\";\nimport { DeviceScanner, DeviceScannerOptions } from \"@iotize/tap/scanner/api\";\nimport { BehaviorSubject, Observable, Subscription } from \"rxjs\";\nimport { CordovaBLEScanResult, RequestDeviceOptions } from \"./definitions\";\nimport { IoTizeBleCordovaPlugin } from \"./iotize-ble-cordova-plugin\";\nimport { debug } from \"./logger\";\nimport { getIoTizeBleCordovaPlugin } from \"./utility\";\n\n/**\n * BLE Tap scanner for cordova apps\n */\nexport class BLEScanner implements DeviceScanner<CordovaBLEScanResult> {\n private _results = new BehaviorSubject<CordovaBLEScanResult[]>([]);\n private _scanning$ = new BehaviorSubject<boolean>(false);\n private scanSubscription?: Subscription;\n\n /**\n * Lazy reference to iotizeBLE.\n * We don't want to reference iotizeBLE in constructor as it may be referenced\n * before cordova plugin is loaded\n */\n private get cordovaInterface(): IoTizeBleCordovaPlugin {\n return this.cordovaInterfaceOverwrite || getIoTizeBleCordovaPlugin();\n }\n\n /**\n *\n * @param cordovaInterfaceOverwrite overwrite cordova interface. Used for testing\n */\n constructor(\n private cordovaInterfaceOverwrite?: IoTizeBleCordovaPlugin,\n /**\n * Request device options used to filter scan results\n */\n readonly requestDeviceOptions?: RequestDeviceOptions\n ) {}\n\n get scanning(): Observable<boolean> {\n return this._scanning$.asObservable();\n }\n\n get isScanning(): boolean {\n return this._scanning$.value;\n }\n\n /**\n * Gets the observable on the devices$ Subject\n * @return\n */\n get results(): Observable<CordovaBLEScanResult[]> {\n return this._results.asObservable();\n }\n\n /**\n * Launches the scan for BLE devices\n * Throws if BLE is not available\n */\n async start(options?: DeviceScannerOptions): Promise<void> {\n this.scanSubscription?.unsubscribe();\n this.scanSubscription = undefined;\n this.clearResults();\n const isAvailable = await this.checkAvailable();\n if (!isAvailable) {\n throw BleComError.bleNotAvailable(\n `BLE is not available. Make sure that BLE is enabled on your device`\n );\n }\n debug(\"Start Scanning ...\");\n this._scanning$.next(true);\n return new Promise<void>((resolve, reject) => {\n this.scanSubscription = this.cordovaInterface\n .startScan(this.requestDeviceOptions)\n .subscribe(\n (result) => {\n if (result == \"Ok\") {\n resolve();\n return;\n }\n this.addOrRefreshDevice(result);\n },\n (error) => {\n debug(\"Start scan failed with error: \", error);\n this.cordovaInterface\n .getLastError()\n .then((lasterror) => {\n debug(\"Last BLE error \" + lasterror);\n })\n .catch((err) => {\n debug(\"Cannot get last BLE error: \", err);\n });\n reject(error);\n this._scanning$.next(false);\n }\n );\n });\n }\n\n /**\n *\n */\n async stop(): Promise<void> {\n debug(\"Stop Scanning ...\");\n try {\n this.scanSubscription?.unsubscribe();\n this.scanSubscription = undefined;\n await this.cordovaInterface.stopScan();\n this._scanning$.next(false);\n return;\n } catch (err) {\n this._scanning$.next(false);\n throw err;\n }\n }\n\n /**\n * Returns true if this scanner is available\n */\n checkAvailable(): Promise<boolean> {\n return this.cordovaInterface.checkAvailable();\n }\n\n private get devices() {\n return this._results.value;\n }\n\n private clearResults() {\n this._results.next([]);\n }\n\n private addOrRefreshDevice(newDevice: CordovaBLEScanResult) {\n let storedDeviceIndex = this.devices.findIndex(\n (entry) => entry.address == newDevice.address\n );\n if (storedDeviceIndex >= 0) {\n let storedDevice = this.devices[storedDeviceIndex];\n if (\n storedDevice.name != newDevice.name ||\n storedDevice.rssi != newDevice.rssi\n ) {\n debug(\n `Updating device at index ${storedDeviceIndex}, name=${storedDevice.name} with rssi=${storedDevice.rssi}`\n );\n this.devices[storedDeviceIndex] = newDevice;\n // this.devices = [...this.devices];\n this._results.next(this.devices);\n }\n } else {\n debug(\n `Adding new device name=${newDevice.name} with rssi=${newDevice.rssi}`\n );\n this.devices.push(newDevice);\n this._results.next(this.devices);\n }\n }\n}\n","import {\n bufferToHexString,\n hexStringToBuffer as hexStringToBufferCore,\n} from \"@iotize/common/byte-converter\";\nimport { safeEnumValue } from \"@iotize/common/utility\";\nimport { ConnectionState } from \"@iotize/tap/protocol/api\";\nimport { Observable, Subject, defer } from \"rxjs\";\nimport { switchMap } from \"rxjs/operators\";\nimport { map } from \"rxjs/operators\";\nimport { CordovaInterface } from \"./cordova-interface\";\nimport {\n CordovaBLEScanResult,\n RequestDeviceOptions,\n ServiceList,\n} from \"./definitions\";\nimport { CordovaBLEError } from \"./cordova-ble-error\";\n\nfunction hexStringToBuffer(str: string): Uint8Array {\n try {\n return hexStringToBufferCore(str);\n } catch (err) {\n throw CordovaBLEError.invalidNativeCallResult(str, err as Error);\n }\n}\n\ndeclare var cordova: CordovaInterface;\n\nexport class IoTizeBleCordovaPlugin {\n checkAvailable(): Promise<boolean> {\n return this.execSingleResult<boolean>(\"checkAvailable\", []);\n }\n\n requestEnableBle(): Promise<\"OK\"> {\n return this.execSingleResult<\"OK\">(\"enable\", []);\n }\n\n startScan(\n requestDeviceOptions: RequestDeviceOptions | undefined\n ): Observable<CordovaBLEScanResult | \"Ok\"> {\n return this.execMultipleResult<CordovaBLEScanResult | \"Ok\">(\"startScan\", [\n JSON.stringify(requestDeviceOptions),\n ]);\n }\n\n stopScan() {\n return this.execSingleResult<\"OK\">(\"stopScan\", []);\n }\n\n connect(\n deviceId: string,\n enableBleIfNot: boolean = true\n ): Observable<ConnectionState> {\n return this.askBleEnable(enableBleIfNot).pipe(\n switchMap(() => {\n return this.execMultipleResult<string>(\"connect\", [deviceId]).pipe(\n map((state) => {\n if (!(state in ConnectionState)) {\n console.warn(\n `Plugin native code returned an invalid connection state: \"${state}\".`\n );\n }\n return safeEnumValue(ConnectionState, state);\n })\n );\n })\n );\n }\n\n askBleEnable(askEnable: boolean): Observable<void> {\n return defer(async () => {\n if (askEnable) {\n if (!(await this.checkAvailable())) {\n await this.requestEnableBle();\n }\n }\n });\n }\n\n requestMTU(deviceId: string, mtu: number) {\n return this.execSingleResult<\"OK\">(\"requestMTU\", [deviceId, mtu]);\n }\n\n connectAndDiscoverTapServices(\n deviceId: string,\n enableBleIfNot: boolean = true\n ): Observable<ConnectionState> {\n return this.askBleEnable(enableBleIfNot).pipe(\n switchMap(() => {\n return this.execMultipleResult<string>(\n \"connectAndDiscoverTapServices\",\n [deviceId]\n ).pipe(\n map((state) => {\n if (!(state in ConnectionState)) {\n console.warn(\n `Plugin native code returned an invalid connection state: \"${state}\".`\n );\n }\n return safeEnumValue(ConnectionState, state);\n })\n );\n })\n );\n }\n\n disConnect(deviceId: string) {\n return this.execSingleResult<\"OK\">(\"disConnect\", [deviceId]);\n }\n\n close(deviceId: string) {\n return this.execSingleResult<\"OK\">(\"close\", [deviceId]);\n }\n\n isConnected(deviceId: string) {\n return this.execSingleResult<boolean>(\"isConnected\", [deviceId]);\n }\n\n async send(deviceId: string, data: Uint8Array) {\n const hexString = await this.execSingleResult<string>(\"sendRequest\", [\n deviceId,\n bufferToHexString(data),\n ]);\n return hexStringToBuffer(hexString);\n }\n\n getLastError() {\n return this.execSingleResult<string>(\"getLastError\", []);\n }\n\n characteristicStartNotification(\n deviceId: string,\n serviceId: string,\n characId: string\n ) {\n return this.execSingleResult<\"OK\">(\"characteristicStartNotification\", [\n deviceId,\n serviceId,\n characId,\n ]);\n }\n\n characteristicChanged(\n deviceId: string,\n serviceId: string,\n characId: string\n ): Observable<Uint8Array> {\n return this.execMultipleResult<string>(\"characteristicChanged\", [\n deviceId,\n serviceId,\n characId,\n ]).pipe(\n map((hexString) => {\n return hexStringToBuffer(hexString);\n })\n );\n }\n\n characteristicStopNotification(\n deviceId: string,\n serviceId: string,\n characId: string\n ) {\n return this.execSingleResult<\"OK\">(\"characteristicStopNotification\", [\n deviceId,\n serviceId,\n characId,\n ]);\n }\n\n async characteristicReadValue(\n deviceId: string,\n serviceId: string,\n characId: string\n ): Promise<Uint8Array> {\n const hexString = await this.execSingleResult<string>(\n \"characteristicRead\",\n [deviceId, serviceId, characId]\n );\n return hexStringToBuffer(hexString);\n }\n\n characteristicWrite(\n deviceId: string,\n serviceId: string,\n characId: string,\n data: Uint8Array\n ) {\n return this.execSingleResult<\"OK\">(\"characteristicWrite\", [\n deviceId,\n serviceId,\n characId,\n bufferToHexString(data),\n ]);\n }\n\n characteristicWriteWithoutResponse(\n deviceId: string,\n serviceId: string,\n characId: string,\n data: Uint8Array\n ) {\n return this.execSingleResult<\"OK\">(\"characteristicWriteWithoutResponse\", [\n deviceId,\n serviceId,\n characId,\n bufferToHexString(data),\n ]);\n }\n\n async discoverServices(deviceId: string): Promise<ServiceList> {\n const services = await this.execSingleResult<ServiceList>(\n \"discoverServices\",\n [deviceId]\n );\n return services;\n }\n\n private execSingleResult<T extends string | void | boolean | Object>(\n methodName: string,\n args: any[]\n ): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n cordova.exec(\n resolve,\n (errObject: { code?: string; message?: string }) => {\n reject(objectErrorToError(errObject));\n },\n \"BLECom\",\n methodName,\n args\n );\n });\n }\n\n private execMultipleResult<T>(\n methodName: string,\n args: any[]\n ): Observable<T> {\n const subject = new Subject<T>();\n cordova.exec<T>(\n (data) => {\n subject.next(data);\n },\n (err) => {\n subject.error(objectErrorToError(err));\n },\n \"BLECom\",\n methodName,\n args\n );\n return subject.asObservable();\n }\n}\n\nfunction objectErrorToError(errObject: { code?: string; message?: string }) {\n if (typeof errObject !== \"object\" || !errObject.code || !errObject.message) {\n return CordovaBLEError.invalidErrorResult(errObject);\n }\n if (!CordovaBLEError.isValidErrorCode(errObject.code)) {\n return CordovaBLEError.invalidErrorCode(errObject);\n }\n return new CordovaBLEError(\n errObject.message,\n CordovaBLEError.Code[errObject.code]\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {CharacteristicDescription as ɵb,ServiceDescription as ɵa} from './lib/definitions';\nexport {IoTizeBleCordovaPlugin as ɵc} from './lib/iotize-ble-cordova-plugin';"],"names":["__awaiter","CodeError","createDebugger","tap","filter","ConnectionState","first","defer","catchError","throwError","QueueComProtocol","BehaviorSubject","distinctUntilChanged","shareReplay","BleComError","map","hexStringToBufferCore","switchMap","safeEnumValue","bufferToHexString","Subject"],"mappings":"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"}
1
+ {"version":3,"file":"iotize-device-com-ble.cordova.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.mjs","../../../../src/lib/cordova-ble-error.ts","../../../../src/lib/logger.ts","../../../../src/lib/utility.ts","../../../../src/lib/ble-com-protocol.ts","../../../../src/lib/cordova-service-adapter.ts","../../../../src/lib/scanner.ts","../../../../src/lib/iotize-ble-cordova-plugin.ts","../../../../src/iotize-device-com-ble.cordova.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n 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) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n 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; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n 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);\n 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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { CodeError } from '@iotize/common/error';\n\nexport class CordovaBLEError extends CodeError {\n static invalidErrorResult(errObject: {\n code?: string | undefined;\n message?: string | undefined;\n }): CordovaBLEError {\n return new CordovaBLEError(\n `Internal error: ble cordova plugin returned an unexpected error object`,\n CordovaBLEError.Code.InternalError\n );\n }\n\n static invalidErrorCode(errObject: {\n code?: string | undefined;\n message?: string | undefined;\n }): CordovaBLEError {\n return new CordovaBLEError(\n `Internal error: ble cordova plugin returned an invalid error code ${errObject.code} with message ${errObject.message}`,\n CordovaBLEError.Code.InternalError\n );\n }\n\n static invalidNativeCallResult(result: any, cause: Error): CordovaBLEError {\n return new CordovaBLEError(\n `Internal error: native call returned an invalid data type. ${cause.message}`,\n CordovaBLEError.Code.InternalError\n );\n }\n\n static isValidErrorCode(\n code: string\n ): code is keyof typeof CordovaBLEError.Code {\n return code in CordovaBLEError.Code;\n }\n\n static iotizeBLEMissing() {\n return new CordovaBLEError(\n `iotizeBLE global variable does not exist. Are you sure app is running inside a Cordova application ?`,\n CordovaBLEError.Code.InternalError\n );\n }\n}\n\n/* istanbul ignore next */\nexport namespace CordovaBLEError {\n export enum Code {\n InternalError = 'CordovaBLEErrorInternalError',\n IllegalArgument = 'CordovaBLEErrorIllegalArgument',\n BLENotAvailable = 'CordovaBLEErrorBLENotAvailable',\n InvalidMacAddress = 'InvalidMacAddressInvalidMacAddress',\n ConnectionError = 'CordovaBLEErrorConnectionError',\n RequestError = 'CordovaBLEErrorRequestError',\n LocationServiceDisabled = 'CordovaBLEErrorLocationServiceDisabled',\n DisconnectError = 'CordovaBLEErrorDisconnectError',\n IllegalAction = 'CordovaBLEErrorIllegalAction',\n NotConnectedError = 'CordovaBLEErrorNotConnectedError',\n StatusCodeError = 'CordovaBLEErrorStatusCodeError',\n }\n}\n","import { createDebugger } from \"@iotize/common/debug\";\n\nexport const debug = createDebugger(`@iotize/device-com-ble.cordova`);\n","import { CordovaBLEError } from \"./cordova-ble-error\";\nimport { IoTizeBleCordovaPlugin } from \"./iotize-ble-cordova-plugin\";\n\ndeclare var iotizeBLE: IoTizeBleCordovaPlugin;\n\nexport function getIoTizeBleCordovaPlugin(): IoTizeBleCordovaPlugin {\n if (typeof iotizeBLE !== \"object\") {\n throw CordovaBLEError.iotizeBLEMissing();\n }\n return iotizeBLE;\n}\n\nexport function getScanRecordsFromBytes(bytes: Uint8Array): {type: number; data: Uint8Array}[] {\n //LTV encoding\n const records: {type: number; data: Uint8Array}[] = [];\n for (let i = 0; i < bytes.length; i++) {\n //first byte is length\n let size = bytes[i];\n if (size == 0) {\n break;\n }\n let type = bytes[i+1];\n records.push({\n type,\n data: bytes.slice(i+2, i + size + 1)\n })\n i += size;\n }\n return records;\n}","//\n// Copyright 2018 IoTize SAS Inc. Licensed under the MIT license.\n//\n// ble-com-protocol.ts\n// device-com-ble.cordova BLE Cordova Plugin\n//\nimport {\n ComProtocolConnectOptions,\n ComProtocolDisconnectOptions,\n ComProtocolOptions,\n ComProtocolSendOptions,\n ConnectionState,\n} from '@iotize/tap/protocol/api';\nimport { QueueComProtocol } from '@iotize/tap/protocol/core';\nimport { defer, Observable, of, throwError } from 'rxjs';\nimport { catchError, filter, first, tap } from 'rxjs/operators';\nimport { CordovaBLEError } from './cordova-ble-error';\nimport { IoTizeBleCordovaPlugin } from './iotize-ble-cordova-plugin';\nimport { debug } from './logger';\nimport { getIoTizeBleCordovaPlugin } from './utility';\n\nexport class BLEComProtocol extends QueueComProtocol {\n /**\n * Lazy reference to iotizeBLE.\n * We don't want to reference iotizeBLE in constructor as it may be referenced\n * before cordova plugin is loaded\n */\n private get pluginInterface(): IoTizeBleCordovaPlugin {\n return this.cordovaInterfaceOverwrite || getIoTizeBleCordovaPlugin();\n }\n\n constructor(\n private deviceId: string,\n comProtocolOptions?: ComProtocolOptions,\n public readonly cordovaInterfaceOverwrite?: IoTizeBleCordovaPlugin\n ) {\n super();\n if (comProtocolOptions) {\n this.options = comProtocolOptions;\n } else {\n this.options.connect.timeout = 60000;\n }\n }\n\n _connect(options?: ComProtocolConnectOptions): Observable<any> {\n debug('_connect', options);\n return this.pluginInterface\n .connectAndDiscoverTapServices(this.deviceId)\n .pipe(\n tap((state) => {\n this.setConnectionState(state);\n }),\n filter((state) => state === ConnectionState.CONNECTED),\n first()\n );\n }\n\n _disconnect(options?: ComProtocolDisconnectOptions): Observable<any> {\n debug('_disconnect', options);\n return defer(() => this.pluginInterface.disConnect(this.deviceId));\n }\n\n async write(data: Uint8Array): Promise<any> {\n throw new Error('Method not implemented.');\n }\n\n async read(): Promise<Uint8Array> {\n throw new Error('Method not implemented.');\n }\n\n send(\n data: Uint8Array,\n options?: ComProtocolSendOptions\n ): Observable<Uint8Array> {\n return defer(() => this.pluginInterface.send(this.deviceId, data)).pipe(\n catchError((err) => {\n if (\n (err as CordovaBLEError)?.code ===\n CordovaBLEError.Code.NotConnectedError\n ) {\n this.setConnectionState(ConnectionState.DISCONNECTED);\n }\n return throwError(err);\n })\n );\n }\n}\n","import { ConnectionState } from \"@iotize/tap/protocol/api\";\nimport {\n CharacteristicAdapterInterface,\n PeripheralAdapterInterface,\n ServiceAdapterInterface,\n DescriptorAdapterInterface,\n BleComError,\n CharacteristicProperties,\n} from \"@iotize/tap/protocol/ble/common\";\nimport { BehaviorSubject, Observable, Subscription } from \"rxjs\";\nimport {\n distinctUntilChanged,\n filter,\n first,\n map,\n shareReplay,\n} from \"rxjs/operators\";\nimport {\n CharacteristicDescription,\n DescriptorDescription,\n ServiceDescription,\n ServiceList,\n} from \"./definitions\";\nimport { IoTizeBleCordovaPlugin } from \"./iotize-ble-cordova-plugin\";\nimport { getIoTizeBleCordovaPlugin } from \"./utility\";\n\nexport class CordovaPeripheralAdapter\n implements PeripheralAdapterInterface<CordovaServiceAdapter>\n{\n private _stateChange = new BehaviorSubject<ConnectionState>(\n ConnectionState.DISCONNECTED\n );\n private connectionStateSubscription?: Subscription;\n private serviceListCache?: ServiceList;\n\n get stateChange() {\n return this._stateChange.asObservable().pipe(distinctUntilChanged());\n }\n\n get name() {\n // TODO device name ?\n return this.id;\n }\n\n get id() {\n return this.deviceId;\n }\n\n constructor(\n public readonly deviceId: string,\n public readonly cordovaPlugin: IoTizeBleCordovaPlugin = getIoTizeBleCordovaPlugin()\n ) {}\n\n get state(): string {\n return ConnectionState[this._stateChange.value];\n }\n\n async discoverServices<Key extends string = string>(\n serviceUUIDs?: Key[]\n ): Promise<Partial<Record<Key, CordovaServiceAdapter>>> {\n this.serviceListCache = await this.cordovaPlugin.discoverServices(\n this.deviceId\n );\n const result: Partial<Record<Key, CordovaServiceAdapter>> = {};\n if (serviceUUIDs) {\n for (const uuid of serviceUUIDs) {\n const servicDefinition = this.serviceListCache.find(\n (def) => def.uuid === uuid\n );\n if (servicDefinition) {\n result[uuid] = new CordovaServiceAdapter(servicDefinition, this);\n }\n }\n } else {\n for (const serviceDefinition of this.serviceListCache) {\n result[serviceDefinition.uuid as Key] = new CordovaServiceAdapter(\n serviceDefinition,\n this\n );\n }\n }\n return result;\n }\n\n async connect(): Promise<void> {\n this.connectionStateSubscription?.unsubscribe();\n const connectObservable = this.cordovaPlugin\n .connect(this.deviceId)\n .pipe(shareReplay());\n this.connectionStateSubscription = connectObservable.subscribe((state) => {\n this._stateChange.next(state);\n });\n await connectObservable\n .pipe(\n filter((state) => state === ConnectionState.CONNECTED),\n first()\n )\n .toPromise();\n }\n\n async disconnect(): Promise<void> {\n await this.cordovaPlugin.disConnect(this.deviceId);\n this._stateChange.next(ConnectionState.DISCONNECTED);\n this.connectionStateSubscription?.unsubscribe();\n }\n\n async close(): Promise<void> {\n await this.cordovaPlugin.close(this.deviceId);\n this._stateChange.next(ConnectionState.DISCONNECTED);\n this.connectionStateSubscription?.unsubscribe();\n }\n\n async getService(uuid: string): Promise<CordovaServiceAdapter> {\n if (!this.serviceListCache) {\n await this.discoverServices([uuid]);\n }\n const serviceDefinition = this.serviceListCache!.find(\n (s) => s.uuid === uuid\n );\n if (!serviceDefinition) {\n throw BleComError.serviceNotFound(uuid);\n }\n return new CordovaServiceAdapter(serviceDefinition, this);\n }\n}\n\nexport class CordovaServiceAdapter implements ServiceAdapterInterface {\n get uuid() {\n return this.config.uuid;\n }\n\n constructor(\n private readonly config: ServiceDescription,\n public readonly peripheral: CordovaPeripheralAdapter\n ) {}\n\n async getCharacteristic(\n charcUUID: string\n ): Promise<CordovaCharacteristicAdapter> {\n const characteristicDescription = this.config.characteristics?.find(\n (c) => c.uuid === charcUUID\n );\n if (!characteristicDescription) {\n throw BleComError.charcacteristicNotFound(charcUUID);\n }\n return new CordovaCharacteristicAdapter(this, characteristicDescription);\n }\n\n async getCharacteristics(): Promise<CordovaCharacteristicAdapter[]> {\n if (!this.config.characteristics) {\n return [];\n }\n return this.config.characteristics.map(\n (c) => new CordovaCharacteristicAdapter(this, c)\n );\n }\n}\n\nexport class CordovaCharacteristicAdapter\n implements CharacteristicAdapterInterface\n{\n private _dataStream?: Observable<Uint8Array>;\n\n get uuid() {\n return this.config.uuid;\n }\n\n constructor(\n public readonly service: CordovaServiceAdapter,\n public readonly config: CharacteristicDescription\n ) {}\n\n get properties(): CharacteristicProperties {\n return this.config.properties;\n }\n\n get data(): Observable<{ data: Uint8Array; isNotification: boolean }> {\n return this.setupDataStreamIfRequired().pipe(\n map((data) => ({\n data,\n isNotification: true,\n }))\n );\n }\n\n protected get deviceId() {\n return this.service.peripheral.deviceId;\n }\n\n protected get pluginInterface() {\n return this.service.peripheral.cordovaPlugin;\n }\n\n async read(): Promise<Uint8Array> {\n return this.pluginInterface.characteristicReadValue(\n this.deviceId,\n this.service.uuid,\n this.uuid\n );\n }\n\n async getDescriptor(): Promise<CordovaDescriptorAdapter> {\n throw new Error(`Not implemented yet`);\n }\n\n async getDescriptors(): Promise<DescriptorAdapterInterface[]> {\n if (!this.config.descriptors) {\n return [];\n }\n return this.config.descriptors.map(\n (descriptor) => new CordovaDescriptorAdapter(descriptor, this)\n );\n }\n\n async write(\n data: Uint8Array,\n writeWithoutResponse: boolean\n ): Promise<Uint8Array> {\n if (writeWithoutResponse) {\n await this.pluginInterface.characteristicWriteWithoutResponse(\n this.deviceId,\n this.service.uuid,\n this.uuid,\n data\n );\n } else {\n await this.pluginInterface.characteristicWrite(\n this.deviceId,\n this.service.uuid,\n this.uuid,\n data\n );\n }\n return data;\n }\n\n async enableNotifications(enabled?: boolean): Promise<void> {\n if (enabled) {\n this.setupDataStreamIfRequired();\n await this.pluginInterface.characteristicStartNotification(\n this.deviceId,\n this.service.uuid,\n this.uuid\n );\n } else {\n await this.pluginInterface.characteristicStopNotification(\n this.deviceId,\n this.service.uuid,\n this.uuid\n );\n }\n }\n\n setupDataStreamIfRequired() {\n if (!this._dataStream) {\n this._dataStream = this.pluginInterface.characteristicChanged(\n this.deviceId,\n this.service.uuid,\n this.uuid\n );\n }\n return this._dataStream;\n }\n}\n\nexport class CordovaDescriptorAdapter implements DescriptorAdapterInterface {\n get uuid() {\n return this.config.uuid;\n }\n\n constructor(\n public readonly config: DescriptorDescription,\n public readonly characteristic: CordovaCharacteristicAdapter\n ) {}\n\n async readValue(): Promise<Uint8Array> {\n throw new Error(`Reading descriptor value is not implemented yet`);\n }\n\n async writeValue(data: Uint8Array): Promise<void> {\n throw new Error(`Writing descriptor value is not implemented yet`);\n }\n}\n","//\n// Copyright 2018 IoTize SAS Inc. Licensed under the MIT license.\n//\n// scanner.ts\n// device-com-ble.cordova BLE Cordova Plugin\n//\n\nimport { BleComError } from \"@iotize/tap/protocol/ble/common\";\nimport { DeviceScanner, DeviceScannerOptions } from \"@iotize/tap/scanner/api\";\nimport { BehaviorSubject, Observable, Subscription } from \"rxjs\";\nimport { CordovaBLEScanResult, RequestDeviceOptions } from \"./definitions\";\nimport { IoTizeBleCordovaPlugin } from \"./iotize-ble-cordova-plugin\";\nimport { debug } from \"./logger\";\nimport { getIoTizeBleCordovaPlugin } from \"./utility\";\n\n/**\n * BLE Tap scanner for cordova apps\n */\nexport class BLEScanner implements DeviceScanner<CordovaBLEScanResult> {\n private _results = new BehaviorSubject<CordovaBLEScanResult[]>([]);\n private _scanning$ = new BehaviorSubject<boolean>(false);\n private scanSubscription?: Subscription;\n\n /**\n * Lazy reference to iotizeBLE.\n * We don't want to reference iotizeBLE in constructor as it may be referenced\n * before cordova plugin is loaded\n */\n private get cordovaInterface(): IoTizeBleCordovaPlugin {\n return this.cordovaInterfaceOverwrite || getIoTizeBleCordovaPlugin();\n }\n\n /**\n *\n * @param cordovaInterfaceOverwrite overwrite cordova interface. Used for testing\n */\n constructor(\n private cordovaInterfaceOverwrite?: IoTizeBleCordovaPlugin,\n /**\n * Request device options used to filter scan results\n */\n readonly requestDeviceOptions?: RequestDeviceOptions\n ) {}\n\n get scanning(): Observable<boolean> {\n return this._scanning$.asObservable();\n }\n\n get isScanning(): boolean {\n return this._scanning$.value;\n }\n\n /**\n * Gets the observable on the devices$ Subject\n * @return\n */\n get results(): Observable<CordovaBLEScanResult[]> {\n return this._results.asObservable();\n }\n\n /**\n * Launches the scan for BLE devices\n * Throws if BLE is not available\n */\n async start(options?: DeviceScannerOptions): Promise<void> {\n this.scanSubscription?.unsubscribe();\n this.scanSubscription = undefined;\n this.clearResults();\n const isAvailable = await this.checkAvailable();\n if (!isAvailable) {\n throw BleComError.bleNotAvailable(\n `BLE is not available. Make sure that BLE is enabled on your device`\n );\n }\n debug(\"Start Scanning ...\");\n this._scanning$.next(true);\n return new Promise<void>((resolve, reject) => {\n this.scanSubscription = this.cordovaInterface\n .startScan(this.requestDeviceOptions)\n .subscribe(\n (result) => {\n if (result == \"Ok\") {\n resolve();\n return;\n }\n this.addOrRefreshDevice(result);\n },\n (error) => {\n debug(\"Start scan failed with error: \", error);\n this.cordovaInterface\n .getLastError()\n .then((lasterror) => {\n debug(\"Last BLE error \" + lasterror);\n })\n .catch((err) => {\n debug(\"Cannot get last BLE error: \", err);\n });\n reject(error);\n this._scanning$.next(false);\n }\n );\n });\n }\n\n /**\n *\n */\n async stop(): Promise<void> {\n debug(\"Stop Scanning ...\");\n try {\n this.scanSubscription?.unsubscribe();\n this.scanSubscription = undefined;\n await this.cordovaInterface.stopScan();\n this._scanning$.next(false);\n return;\n } catch (err) {\n this._scanning$.next(false);\n throw err;\n }\n }\n\n /**\n * Returns true if this scanner is available\n */\n checkAvailable(): Promise<boolean> {\n return this.cordovaInterface.checkAvailable();\n }\n\n private get devices() {\n return this._results.value;\n }\n\n private clearResults() {\n this._results.next([]);\n }\n\n private addOrRefreshDevice(newDevice: CordovaBLEScanResult) {\n let storedDeviceIndex = this.devices.findIndex(\n (entry) => entry.address == newDevice.address\n );\n if (storedDeviceIndex >= 0) {\n let storedDevice = this.devices[storedDeviceIndex];\n if (\n storedDevice.name != newDevice.name ||\n storedDevice.rssi != newDevice.rssi\n ) {\n debug(\n `Updating device at index ${storedDeviceIndex}, name=${storedDevice.name} with rssi=${storedDevice.rssi}`\n );\n this.devices[storedDeviceIndex] = newDevice;\n // this.devices = [...this.devices];\n this._results.next(this.devices);\n }\n } else {\n debug(\n `Adding new device name=${newDevice.name} with rssi=${newDevice.rssi}`\n );\n this.devices.push(newDevice);\n this._results.next(this.devices);\n }\n }\n}\n","import {\n bufferToHexString,\n hexStringToBuffer as hexStringToBufferCore,\n} from \"@iotize/common/byte-converter\";\nimport { safeEnumValue } from \"@iotize/common/utility\";\nimport { ConnectionState } from \"@iotize/tap/protocol/api\";\nimport { Observable, Subject, defer } from \"rxjs\";\nimport { switchMap } from \"rxjs/operators\";\nimport { map } from \"rxjs/operators\";\nimport { CordovaInterface } from \"./cordova-interface\";\nimport {\n CordovaBLEScanResult,\n RequestDeviceOptions,\n ServiceList,\n} from \"./definitions\";\nimport { CordovaBLEError } from \"./cordova-ble-error\";\n\nfunction hexStringToBuffer(str: string): Uint8Array {\n try {\n return hexStringToBufferCore(str);\n } catch (err) {\n throw CordovaBLEError.invalidNativeCallResult(str, err as Error);\n }\n}\n\ndeclare var cordova: CordovaInterface;\n\nexport class IoTizeBleCordovaPlugin {\n checkAvailable(): Promise<boolean> {\n return this.execSingleResult<boolean>(\"checkAvailable\", []);\n }\n\n requestEnableBle(): Promise<\"OK\"> {\n return this.execSingleResult<\"OK\">(\"enable\", []);\n }\n\n startScan(\n requestDeviceOptions: RequestDeviceOptions | undefined\n ): Observable<CordovaBLEScanResult | \"Ok\"> {\n return this.execMultipleResult<CordovaBLEScanResult | \"Ok\">(\"startScan\", [\n JSON.stringify(requestDeviceOptions),\n ]);\n }\n\n stopScan() {\n return this.execSingleResult<\"OK\">(\"stopScan\", []);\n }\n\n connect(\n deviceId: string,\n enableBleIfNot: boolean = true\n ): Observable<ConnectionState> {\n return this.askBleEnable(enableBleIfNot).pipe(\n switchMap(() => {\n return this.execMultipleResult<string>(\"connect\", [deviceId]).pipe(\n map((state) => {\n if (!(state in ConnectionState)) {\n console.warn(\n `Plugin native code returned an invalid connection state: \"${state}\".`\n );\n }\n return safeEnumValue(ConnectionState, state);\n })\n );\n })\n );\n }\n\n askBleEnable(askEnable: boolean): Observable<void> {\n return defer(async () => {\n if (askEnable) {\n if (!(await this.checkAvailable())) {\n await this.requestEnableBle();\n }\n }\n });\n }\n\n requestMTU(deviceId: string, mtu: number) {\n return this.execSingleResult<\"OK\">(\"requestMTU\", [deviceId, mtu]);\n }\n\n connectAndDiscoverTapServices(\n deviceId: string,\n enableBleIfNot: boolean = true\n ): Observable<ConnectionState> {\n return this.askBleEnable(enableBleIfNot).pipe(\n switchMap(() => {\n return this.execMultipleResult<string>(\n \"connectAndDiscoverTapServices\",\n [deviceId]\n ).pipe(\n map((state) => {\n if (!(state in ConnectionState)) {\n console.warn(\n `Plugin native code returned an invalid connection state: \"${state}\".`\n );\n }\n return safeEnumValue(ConnectionState, state);\n })\n );\n })\n );\n }\n\n disConnect(deviceId: string) {\n return this.execSingleResult<\"OK\">(\"disConnect\", [deviceId]);\n }\n\n close(deviceId: string) {\n return this.execSingleResult<\"OK\">(\"close\", [deviceId]);\n }\n\n isConnected(deviceId: string) {\n return this.execSingleResult<boolean>(\"isConnected\", [deviceId]);\n }\n\n async send(deviceId: string, data: Uint8Array) {\n const hexString = await this.execSingleResult<string>(\"sendRequest\", [\n deviceId,\n bufferToHexString(data),\n ]);\n return hexStringToBuffer(hexString);\n }\n\n getLastError() {\n return this.execSingleResult<string>(\"getLastError\", []);\n }\n\n characteristicStartNotification(\n deviceId: string,\n serviceId: string,\n characId: string\n ) {\n return this.execSingleResult<\"OK\">(\"characteristicStartNotification\", [\n deviceId,\n serviceId,\n characId,\n ]);\n }\n\n characteristicChanged(\n deviceId: string,\n serviceId: string,\n characId: string\n ): Observable<Uint8Array> {\n return this.execMultipleResult<string>(\"characteristicChanged\", [\n deviceId,\n serviceId,\n characId,\n ]).pipe(\n map((hexString) => {\n return hexStringToBuffer(hexString);\n })\n );\n }\n\n characteristicStopNotification(\n deviceId: string,\n serviceId: string,\n characId: string\n ) {\n return this.execSingleResult<\"OK\">(\"characteristicStopNotification\", [\n deviceId,\n serviceId,\n characId,\n ]);\n }\n\n async characteristicReadValue(\n deviceId: string,\n serviceId: string,\n characId: string\n ): Promise<Uint8Array> {\n const hexString = await this.execSingleResult<string>(\n \"characteristicRead\",\n [deviceId, serviceId, characId]\n );\n return hexStringToBuffer(hexString);\n }\n\n characteristicWrite(\n deviceId: string,\n serviceId: string,\n characId: string,\n data: Uint8Array\n ) {\n return this.execSingleResult<\"OK\">(\"characteristicWrite\", [\n deviceId,\n serviceId,\n characId,\n bufferToHexString(data),\n ]);\n }\n\n characteristicWriteWithoutResponse(\n deviceId: string,\n serviceId: string,\n characId: string,\n data: Uint8Array\n ) {\n return this.execSingleResult<\"OK\">(\"characteristicWriteWithoutResponse\", [\n deviceId,\n serviceId,\n characId,\n bufferToHexString(data),\n ]);\n }\n\n async discoverServices(deviceId: string): Promise<ServiceList> {\n const services = await this.execSingleResult<ServiceList>(\n \"discoverServices\",\n [deviceId]\n );\n return services;\n }\n\n private execSingleResult<T extends string | void | boolean | Object>(\n methodName: string,\n args: any[]\n ): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n cordova.exec(\n resolve,\n (errObject: { code?: string; message?: string }) => {\n reject(objectErrorToError(errObject));\n },\n \"BLECom\",\n methodName,\n args\n );\n });\n }\n\n private execMultipleResult<T>(\n methodName: string,\n args: any[]\n ): Observable<T> {\n const subject = new Subject<T>();\n cordova.exec<T>(\n (data) => {\n subject.next(data);\n },\n (err) => {\n subject.error(objectErrorToError(err));\n },\n \"BLECom\",\n methodName,\n args\n );\n return subject.asObservable();\n }\n}\n\nfunction objectErrorToError(errObject: { code?: string; message?: string }) {\n if (typeof errObject !== \"object\" || !errObject.code || !errObject.message) {\n return CordovaBLEError.invalidErrorResult(errObject);\n }\n if (!CordovaBLEError.isValidErrorCode(errObject.code)) {\n return CordovaBLEError.invalidErrorCode(errObject);\n }\n return new CordovaBLEError(\n errObject.message,\n CordovaBLEError.Code[errObject.code]\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {CharacteristicDescription as ɵb,ServiceDescription as ɵa} from './lib/definitions';\nexport {IoTizeBleCordovaPlugin as ɵc} from './lib/iotize-ble-cordova-plugin';"],"names":["__awaiter","CodeError","createDebugger","tap","filter","ConnectionState","first","defer","catchError","throwError","QueueComProtocol","BehaviorSubject","distinctUntilChanged","shareReplay","BleComError","map","hexStringToBufferCore","switchMap","safeEnumValue","bufferToHexString","Subject"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@iotize/tap/protocol/api"),require("@iotize/tap/protocol/core"),require("rxjs"),require("rxjs/operators"),require("@iotize/common/error"),require("@iotize/common/debug"),require("@iotize/tap/protocol/ble/common"),require("@iotize/common/byte-converter"),require("@iotize/common/utility")):"function"==typeof define&&define.amd?define("@iotize/device-com-ble.cordova",["exports","@iotize/tap/protocol/api","@iotize/tap/protocol/core","rxjs","rxjs/operators","@iotize/common/error","@iotize/common/debug","@iotize/tap/protocol/ble/common","@iotize/common/byte-converter","@iotize/common/utility"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).iotize=e.iotize||{},e.iotize["device-com-ble"]=e.iotize["device-com-ble"]||{},e.iotize["device-com-ble"].cordova={}),e.api,e.core,e.rxjs,e.rxjs.operators,e.error,e.debug$1,e.common,e.byteConverter,e.utility)}(this,(function(e,t,n,r,i,o,c,u,s,a){"use strict";var l=function(e,t){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},l(e,t)};function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}l(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function d(e,t){var n,r,i,o,c={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(s){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(c=0)),c;)try{if(n=1,r&&(i=2&u[0]?r.return:u[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,u[1])).done)return i;switch(r=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return c.label++,{value:u[1],done:!1};case 5:c.label++,r=u[1],u=[0];continue;case 7:u=c.ops.pop(),c.trys.pop();continue;default:if(!(i=c.trys,(i=i.length>0&&i[i.length-1])||6!==u[0]&&2!==u[0])){c=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]<i[3])){c.label=u[1];break}if(6===u[0]&&c.label<i[1]){c.label=i[1],i=u;break}if(i&&c.label<i[2]){c.label=i[2],c.ops.push(u);break}i[2]&&c.ops.pop(),c.trys.pop();continue}u=t.call(e,c)}catch(e){u=[6,e],r=0}finally{n=i=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,s])}}}Object.create;function h(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;"function"==typeof SuppressedError&&SuppressedError;var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.invalidErrorResult=function(e){return new t("Internal error: ble cordova plugin returned an unexpected error object",t.Code.InternalError)},t.invalidErrorCode=function(e){return new t("Internal error: ble cordova plugin returned an invalid error code "+e.code+" with message "+e.message,t.Code.InternalError)},t.invalidNativeCallResult=function(e,n){return new t("Internal error: native call returned an invalid data type. "+n.message,t.Code.InternalError)},t.isValidErrorCode=function(e){return e in t.Code},t.iotizeBLEMissing=function(){return new t("iotizeBLE global variable does not exist. Are you sure app is running inside a Cordova application ?",t.Code.InternalError)},t}(o.CodeError);!function(e){!function(e){e.InternalError="CordovaBLEErrorInternalError",e.IllegalArgument="CordovaBLEErrorIllegalArgument",e.BLENotAvailable="CordovaBLEErrorBLENotAvailable",e.InvalidMacAddress="InvalidMacAddressInvalidMacAddress",e.ConnectionError="CordovaBLEErrorConnectionError",e.RequestError="CordovaBLEErrorRequestError",e.LocationServiceDisabled="CordovaBLEErrorLocationServiceDisabled",e.DisconnectError="CordovaBLEErrorDisconnectError",e.IllegalAction="CordovaBLEErrorIllegalAction",e.NotConnectedError="CordovaBLEErrorNotConnectedError",e.StatusCodeError="CordovaBLEErrorStatusCodeError"}(e.Code||(e.Code={}))}(p||(p={}));var v=c.createDebugger("@iotize/device-com-ble.cordova");function b(){if("object"!=typeof iotizeBLE)throw p.iotizeBLEMissing();return iotizeBLE}var g=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function c(e){try{s(r.next(e))}catch(e){o(e)}}function u(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,u)}s((r=r.apply(e,t||[])).next())}))},y=function(e){function n(t,n,r){var i=e.call(this)||this;return i.deviceId=t,i.cordovaInterfaceOverwrite=r,n?i.options=n:i.options.connect.timeout=6e4,i}return f(n,e),Object.defineProperty(n.prototype,"pluginInterface",{get:function(){return this.cordovaInterfaceOverwrite||b()},enumerable:!1,configurable:!0}),n.prototype._connect=function(e){var n=this;return v("_connect",e),this.pluginInterface.connectAndDiscoverTapServices(this.deviceId).pipe(i.tap((function(e){n.setConnectionState(e)})),i.filter((function(e){return e===t.ConnectionState.CONNECTED})),i.first())},n.prototype._disconnect=function(e){var t=this;return v("_disconnect",e),r.defer((function(){return t.pluginInterface.disConnect(t.deviceId)}))},n.prototype.write=function(e){return g(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Method not implemented.")}))}))},n.prototype.read=function(){return g(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Method not implemented.")}))}))},n.prototype.send=function(e,n){var o=this;return r.defer((function(){return o.pluginInterface.send(o.deviceId,e)})).pipe(i.catchError((function(e){var n;return(null===(n=e)||void 0===n?void 0:n.code)===p.Code.NotConnectedError&&o.setConnectionState(t.ConnectionState.DISCONNECTED),r.throwError(e)})))},n}(n.QueueComProtocol),m=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function c(e){try{s(r.next(e))}catch(e){o(e)}}function u(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,u)}s((r=r.apply(e,t||[])).next())}))},S=function(){function e(e,n){void 0===n&&(n=b()),this.deviceId=e,this.cordovaPlugin=n,this._stateChange=new r.BehaviorSubject(t.ConnectionState.DISCONNECTED)}return Object.defineProperty(e.prototype,"stateChange",{get:function(){return this._stateChange.asObservable().pipe(i.distinctUntilChanged())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this.id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this.deviceId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return t.ConnectionState[this._stateChange.value]},enumerable:!1,configurable:!0}),e.prototype.discoverServices=function(e){return m(this,void 0,void 0,(function(){var t,n,r,i,o,c,u,s,a,l,f,p,v,b;return d(this,(function(d){switch(d.label){case 0:return t=this,[4,this.cordovaPlugin.discoverServices(this.deviceId)];case 1:if(t.serviceListCache=d.sent(),n={},e){r=function(e){var t=i.serviceListCache.find((function(t){return t.uuid===e}));t&&(n[e]=new C(t,i))},i=this;try{for(o=h(e),c=o.next();!c.done;c=o.next())u=c.value,r(u)}catch(e){f={error:e}}finally{try{c&&!c.done&&(p=o.return)&&p.call(o)}finally{if(f)throw f.error}}}else try{for(s=h(this.serviceListCache),a=s.next();!a.done;a=s.next())l=a.value,n[l.uuid]=new C(l,this)}catch(e){v={error:e}}finally{try{a&&!a.done&&(b=s.return)&&b.call(s)}finally{if(v)throw v.error}}return[2,n]}}))}))},e.prototype.connect=function(){var e;return m(this,void 0,void 0,(function(){var n,r=this;return d(this,(function(o){switch(o.label){case 0:return null===(e=this.connectionStateSubscription)||void 0===e||e.unsubscribe(),n=this.cordovaPlugin.connect(this.deviceId).pipe(i.shareReplay()),this.connectionStateSubscription=n.subscribe((function(e){r._stateChange.next(e)})),[4,n.pipe(i.filter((function(e){return e===t.ConnectionState.CONNECTED})),i.first()).toPromise()];case 1:return o.sent(),[2]}}))}))},e.prototype.disconnect=function(){var e;return m(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,this.cordovaPlugin.disConnect(this.deviceId)];case 1:return n.sent(),this._stateChange.next(t.ConnectionState.DISCONNECTED),null===(e=this.connectionStateSubscription)||void 0===e||e.unsubscribe(),[2]}}))}))},e.prototype.close=function(){var e;return m(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,this.cordovaPlugin.close(this.deviceId)];case 1:return n.sent(),this._stateChange.next(t.ConnectionState.DISCONNECTED),null===(e=this.connectionStateSubscription)||void 0===e||e.unsubscribe(),[2]}}))}))},e.prototype.getService=function(e){return m(this,void 0,void 0,(function(){var t;return d(this,(function(n){switch(n.label){case 0:return this.serviceListCache?[3,2]:[4,this.discoverServices([e])];case 1:n.sent(),n.label=2;case 2:if(!(t=this.serviceListCache.find((function(t){return t.uuid===e}))))throw u.BleComError.serviceNotFound(e);return[2,new C(t,this)]}}))}))},e}(),C=function(){function e(e,t){this.config=e,this.peripheral=t}return Object.defineProperty(e.prototype,"uuid",{get:function(){return this.config.uuid},enumerable:!1,configurable:!0}),e.prototype.getCharacteristic=function(e){var t;return m(this,void 0,void 0,(function(){var n;return d(this,(function(r){if(!(n=null===(t=this.config.characteristics)||void 0===t?void 0:t.find((function(t){return t.uuid===e}))))throw u.BleComError.charcacteristicNotFound(e);return[2,new E(this,n)]}))}))},e.prototype.getCharacteristics=function(){return m(this,void 0,void 0,(function(){var e=this;return d(this,(function(t){return this.config.characteristics?[2,this.config.characteristics.map((function(t){return new E(e,t)}))]:[2,[]]}))}))},e}(),E=function(){function e(e,t){this.service=e,this.config=t}return Object.defineProperty(e.prototype,"uuid",{get:function(){return this.config.uuid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"properties",{get:function(){return this.config.properties},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return this.setupDataStreamIfRequired().pipe(i.map((function(e){return{data:e,isNotification:!0}})))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"deviceId",{get:function(){return this.service.peripheral.deviceId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pluginInterface",{get:function(){return this.service.peripheral.cordovaPlugin},enumerable:!1,configurable:!0}),e.prototype.read=function(){return m(this,void 0,void 0,(function(){return d(this,(function(e){return[2,this.pluginInterface.characteristicReadValue(this.deviceId,this.service.uuid,this.uuid)]}))}))},e.prototype.getDescriptor=function(){return m(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Not implemented yet")}))}))},e.prototype.getDescriptors=function(){return m(this,void 0,void 0,(function(){var e=this;return d(this,(function(t){return this.config.descriptors?[2,this.config.descriptors.map((function(t){return new w(t,e)}))]:[2,[]]}))}))},e.prototype.write=function(e,t){return m(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return t?[4,this.pluginInterface.characteristicWriteWithoutResponse(this.deviceId,this.service.uuid,this.uuid,e)]:[3,2];case 1:return n.sent(),[3,4];case 2:return[4,this.pluginInterface.characteristicWrite(this.deviceId,this.service.uuid,this.uuid,e)];case 3:n.sent(),n.label=4;case 4:return[2,e]}}))}))},e.prototype.enableNotifications=function(e){return m(this,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return e?(this.setupDataStreamIfRequired(),[4,this.pluginInterface.characteristicStartNotification(this.deviceId,this.service.uuid,this.uuid)]):[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.pluginInterface.characteristicStopNotification(this.deviceId,this.service.uuid,this.uuid)];case 3:t.sent(),t.label=4;case 4:return[2]}}))}))},e.prototype.setupDataStreamIfRequired=function(){return this._dataStream||(this._dataStream=this.pluginInterface.characteristicChanged(this.deviceId,this.service.uuid,this.uuid)),this._dataStream},e}(),w=function(){function e(e,t){this.config=e,this.characteristic=t}return Object.defineProperty(e.prototype,"uuid",{get:function(){return this.config.uuid},enumerable:!1,configurable:!0}),e.prototype.readValue=function(){return m(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Reading descriptor value is not implemented yet")}))}))},e.prototype.writeValue=function(e){return m(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Writing descriptor value is not implemented yet")}))}))},e}(),x=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function c(e){try{s(r.next(e))}catch(e){o(e)}}function u(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,u)}s((r=r.apply(e,t||[])).next())}))},I=function(){function e(e,t){this.cordovaInterfaceOverwrite=e,this.requestDeviceOptions=t,this._results=new r.BehaviorSubject([]),this._scanning$=new r.BehaviorSubject(!1)}return Object.defineProperty(e.prototype,"cordovaInterface",{get:function(){return this.cordovaInterfaceOverwrite||b()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scanning",{get:function(){return this._scanning$.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isScanning",{get:function(){return this._scanning$.value},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"results",{get:function(){return this._results.asObservable()},enumerable:!1,configurable:!0}),e.prototype.start=function(e){var t;return x(this,void 0,void 0,(function(){var e=this;return d(this,(function(n){switch(n.label){case 0:return null===(t=this.scanSubscription)||void 0===t||t.unsubscribe(),this.scanSubscription=void 0,this.clearResults(),[4,this.checkAvailable()];case 1:if(!n.sent())throw u.BleComError.bleNotAvailable("BLE is not available. Make sure that BLE is enabled on your device");return v("Start Scanning ..."),this._scanning$.next(!0),[2,new Promise((function(t,n){e.scanSubscription=e.cordovaInterface.startScan(e.requestDeviceOptions).subscribe((function(n){"Ok"!=n?e.addOrRefreshDevice(n):t()}),(function(t){v("Start scan failed with error: ",t),e.cordovaInterface.getLastError().then((function(e){v("Last BLE error "+e)})).catch((function(e){v("Cannot get last BLE error: ",e)})),n(t),e._scanning$.next(!1)}))}))]}}))}))},e.prototype.stop=function(){var e;return x(this,void 0,void 0,(function(){var t;return d(this,(function(n){switch(n.label){case 0:v("Stop Scanning ..."),n.label=1;case 1:return n.trys.push([1,3,,4]),null===(e=this.scanSubscription)||void 0===e||e.unsubscribe(),this.scanSubscription=void 0,[4,this.cordovaInterface.stopScan()];case 2:return n.sent(),this._scanning$.next(!1),[2];case 3:throw t=n.sent(),this._scanning$.next(!1),t;case 4:return[2]}}))}))},e.prototype.checkAvailable=function(){return this.cordovaInterface.checkAvailable()},Object.defineProperty(e.prototype,"devices",{get:function(){return this._results.value},enumerable:!1,configurable:!0}),e.prototype.clearResults=function(){this._results.next([])},e.prototype.addOrRefreshDevice=function(e){var t=this.devices.findIndex((function(t){return t.address==e.address}));if(t>=0){var n=this.devices[t];n.name==e.name&&n.rssi==e.rssi||(v("Updating device at index "+t+", name="+n.name+" with rssi="+n.rssi),this.devices[t]=e,this._results.next(this.devices))}else v("Adding new device name="+e.name+" with rssi="+e.rssi),this.devices.push(e),this._results.next(this.devices)},e}(),O=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function c(e){try{s(r.next(e))}catch(e){o(e)}}function u(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,u)}s((r=r.apply(e,t||[])).next())}))};function _(e){try{return s.hexStringToBuffer(e)}catch(t){throw p.invalidNativeCallResult(e,t)}}var R=function(){function e(){}return e.prototype.checkAvailable=function(){return this.execSingleResult("checkAvailable",[])},e.prototype.requestEnableBle=function(){return this.execSingleResult("enable",[])},e.prototype.startScan=function(e){return this.execMultipleResult("startScan",[JSON.stringify(e)])},e.prototype.stopScan=function(){return this.execSingleResult("stopScan",[])},e.prototype.connect=function(e,n){var r=this;return void 0===n&&(n=!0),this.askBleEnable(n).pipe(i.switchMap((function(){return r.execMultipleResult("connect",[e]).pipe(i.map((function(e){return e in t.ConnectionState||console.warn('Plugin native code returned an invalid connection state: "'+e+'".'),a.safeEnumValue(t.ConnectionState,e)})))})))},e.prototype.askBleEnable=function(e){var t=this;return r.defer((function(){return O(t,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return e?[4,this.checkAvailable()]:[3,3];case 1:return t.sent()?[3,3]:[4,this.requestEnableBle()];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))}))},e.prototype.requestMTU=function(e,t){return this.execSingleResult("requestMTU",[e,t])},e.prototype.connectAndDiscoverTapServices=function(e,n){var r=this;return void 0===n&&(n=!0),this.askBleEnable(n).pipe(i.switchMap((function(){return r.execMultipleResult("connectAndDiscoverTapServices",[e]).pipe(i.map((function(e){return e in t.ConnectionState||console.warn('Plugin native code returned an invalid connection state: "'+e+'".'),a.safeEnumValue(t.ConnectionState,e)})))})))},e.prototype.disConnect=function(e){return this.execSingleResult("disConnect",[e])},e.prototype.close=function(e){return this.execSingleResult("close",[e])},e.prototype.isConnected=function(e){return this.execSingleResult("isConnected",[e])},e.prototype.send=function(e,t){return O(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,this.execSingleResult("sendRequest",[e,s.bufferToHexString(t)])];case 1:return[2,_(n.sent())]}}))}))},e.prototype.getLastError=function(){return this.execSingleResult("getLastError",[])},e.prototype.characteristicStartNotification=function(e,t,n){return this.execSingleResult("characteristicStartNotification",[e,t,n])},e.prototype.characteristicChanged=function(e,t,n){return this.execMultipleResult("characteristicChanged",[e,t,n]).pipe(i.map((function(e){return _(e)})))},e.prototype.characteristicStopNotification=function(e,t,n){return this.execSingleResult("characteristicStopNotification",[e,t,n])},e.prototype.characteristicReadValue=function(e,t,n){return O(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,this.execSingleResult("characteristicRead",[e,t,n])];case 1:return[2,_(r.sent())]}}))}))},e.prototype.characteristicWrite=function(e,t,n,r){return this.execSingleResult("characteristicWrite",[e,t,n,s.bufferToHexString(r)])},e.prototype.characteristicWriteWithoutResponse=function(e,t,n,r){return this.execSingleResult("characteristicWriteWithoutResponse",[e,t,n,s.bufferToHexString(r)])},e.prototype.discoverServices=function(e){return O(this,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return[4,this.execSingleResult("discoverServices",[e])];case 1:return[2,t.sent()]}}))}))},e.prototype.execSingleResult=function(e,t){return new Promise((function(n,r){cordova.exec(n,(function(e){r(P(e))}),"BLECom",e,t)}))},e.prototype.execMultipleResult=function(e,t){var n=new r.Subject;return cordova.exec((function(e){n.next(e)}),(function(e){n.error(P(e))}),"BLECom",e,t),n.asObservable()},e}();function P(e){return"object"==typeof e&&e.code&&e.message?p.isValidErrorCode(e.code)?new p(e.message,p.Code[e.code]):p.invalidErrorCode(e):p.invalidErrorResult(e)}e.BLEComProtocol=y,e.BLEScanner=I,e.CordovaCharacteristicAdapter=E,e.CordovaPeripheralAdapter=S,e.CordovaServiceAdapter=C,e.getIoTizeBleCordovaPlugin=b,e["ɵc"]=R,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@iotize/tap/protocol/api"),require("@iotize/tap/protocol/core"),require("rxjs"),require("rxjs/operators"),require("@iotize/common/error"),require("@iotize/common/debug"),require("@iotize/tap/protocol/ble/common"),require("@iotize/common/byte-converter"),require("@iotize/common/utility")):"function"==typeof define&&define.amd?define("@iotize/device-com-ble.cordova",["exports","@iotize/tap/protocol/api","@iotize/tap/protocol/core","rxjs","rxjs/operators","@iotize/common/error","@iotize/common/debug","@iotize/tap/protocol/ble/common","@iotize/common/byte-converter","@iotize/common/utility"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).iotize=e.iotize||{},e.iotize["device-com-ble"]=e.iotize["device-com-ble"]||{},e.iotize["device-com-ble"].cordova={}),e.api,e.core,e.rxjs,e.rxjs.operators,e.error,e.debug$1,e.common,e.byteConverter,e.utility)}(this,(function(e,t,n,r,i,o,c,u,s,a){"use strict";var l=function(e,t){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},l(e,t)};function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}l(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function d(e,t){var n,r,i,o,c={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(s){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(c=0)),c;)try{if(n=1,r&&(i=2&u[0]?r.return:u[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,u[1])).done)return i;switch(r=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return c.label++,{value:u[1],done:!1};case 5:c.label++,r=u[1],u=[0];continue;case 7:u=c.ops.pop(),c.trys.pop();continue;default:if(!(i=c.trys,(i=i.length>0&&i[i.length-1])||6!==u[0]&&2!==u[0])){c=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]<i[3])){c.label=u[1];break}if(6===u[0]&&c.label<i[1]){c.label=i[1],i=u;break}if(i&&c.label<i[2]){c.label=i[2],c.ops.push(u);break}i[2]&&c.ops.pop(),c.trys.pop();continue}u=t.call(e,c)}catch(e){u=[6,e],r=0}finally{n=i=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,s])}}}Object.create;function h(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;"function"==typeof SuppressedError&&SuppressedError;var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.invalidErrorResult=function(e){return new t("Internal error: ble cordova plugin returned an unexpected error object",t.Code.InternalError)},t.invalidErrorCode=function(e){return new t("Internal error: ble cordova plugin returned an invalid error code "+e.code+" with message "+e.message,t.Code.InternalError)},t.invalidNativeCallResult=function(e,n){return new t("Internal error: native call returned an invalid data type. "+n.message,t.Code.InternalError)},t.isValidErrorCode=function(e){return e in t.Code},t.iotizeBLEMissing=function(){return new t("iotizeBLE global variable does not exist. Are you sure app is running inside a Cordova application ?",t.Code.InternalError)},t}(o.CodeError);!function(e){!function(e){e.InternalError="CordovaBLEErrorInternalError",e.IllegalArgument="CordovaBLEErrorIllegalArgument",e.BLENotAvailable="CordovaBLEErrorBLENotAvailable",e.InvalidMacAddress="InvalidMacAddressInvalidMacAddress",e.ConnectionError="CordovaBLEErrorConnectionError",e.RequestError="CordovaBLEErrorRequestError",e.LocationServiceDisabled="CordovaBLEErrorLocationServiceDisabled",e.DisconnectError="CordovaBLEErrorDisconnectError",e.IllegalAction="CordovaBLEErrorIllegalAction",e.NotConnectedError="CordovaBLEErrorNotConnectedError",e.StatusCodeError="CordovaBLEErrorStatusCodeError"}(e.Code||(e.Code={}))}(p||(p={}));var v=c.createDebugger("@iotize/device-com-ble.cordova");function b(){if("object"!=typeof iotizeBLE)throw p.iotizeBLEMissing();return iotizeBLE}var g=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function c(e){try{s(r.next(e))}catch(e){o(e)}}function u(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,u)}s((r=r.apply(e,t||[])).next())}))},y=function(e){function n(t,n,r){var i=e.call(this)||this;return i.deviceId=t,i.cordovaInterfaceOverwrite=r,n?i.options=n:i.options.connect.timeout=6e4,i}return f(n,e),Object.defineProperty(n.prototype,"pluginInterface",{get:function(){return this.cordovaInterfaceOverwrite||b()},enumerable:!1,configurable:!0}),n.prototype._connect=function(e){var n=this;return v("_connect",e),this.pluginInterface.connectAndDiscoverTapServices(this.deviceId).pipe(i.tap((function(e){n.setConnectionState(e)})),i.filter((function(e){return e===t.ConnectionState.CONNECTED})),i.first())},n.prototype._disconnect=function(e){var t=this;return v("_disconnect",e),r.defer((function(){return t.pluginInterface.disConnect(t.deviceId)}))},n.prototype.write=function(e){return g(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Method not implemented.")}))}))},n.prototype.read=function(){return g(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Method not implemented.")}))}))},n.prototype.send=function(e,n){var o=this;return r.defer((function(){return o.pluginInterface.send(o.deviceId,e)})).pipe(i.catchError((function(e){var n;return(null===(n=e)||void 0===n?void 0:n.code)===p.Code.NotConnectedError&&o.setConnectionState(t.ConnectionState.DISCONNECTED),r.throwError(e)})))},n}(n.QueueComProtocol),m=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function c(e){try{s(r.next(e))}catch(e){o(e)}}function u(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,u)}s((r=r.apply(e,t||[])).next())}))},S=function(){function e(e,n){void 0===n&&(n=b()),this.deviceId=e,this.cordovaPlugin=n,this._stateChange=new r.BehaviorSubject(t.ConnectionState.DISCONNECTED)}return Object.defineProperty(e.prototype,"stateChange",{get:function(){return this._stateChange.asObservable().pipe(i.distinctUntilChanged())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this.id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this.deviceId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return t.ConnectionState[this._stateChange.value]},enumerable:!1,configurable:!0}),e.prototype.discoverServices=function(e){return m(this,void 0,void 0,(function(){var t,n,r,i,o,c,u,s,a,l,f,p,v,b;return d(this,(function(d){switch(d.label){case 0:return t=this,[4,this.cordovaPlugin.discoverServices(this.deviceId)];case 1:if(t.serviceListCache=d.sent(),n={},e){r=function(e){var t=i.serviceListCache.find((function(t){return t.uuid===e}));t&&(n[e]=new C(t,i))},i=this;try{for(o=h(e),c=o.next();!c.done;c=o.next())u=c.value,r(u)}catch(e){f={error:e}}finally{try{c&&!c.done&&(p=o.return)&&p.call(o)}finally{if(f)throw f.error}}}else try{for(s=h(this.serviceListCache),a=s.next();!a.done;a=s.next())l=a.value,n[l.uuid]=new C(l,this)}catch(e){v={error:e}}finally{try{a&&!a.done&&(b=s.return)&&b.call(s)}finally{if(v)throw v.error}}return[2,n]}}))}))},e.prototype.connect=function(){var e;return m(this,void 0,void 0,(function(){var n,r=this;return d(this,(function(o){switch(o.label){case 0:return null===(e=this.connectionStateSubscription)||void 0===e||e.unsubscribe(),n=this.cordovaPlugin.connect(this.deviceId).pipe(i.shareReplay()),this.connectionStateSubscription=n.subscribe((function(e){r._stateChange.next(e)})),[4,n.pipe(i.filter((function(e){return e===t.ConnectionState.CONNECTED})),i.first()).toPromise()];case 1:return o.sent(),[2]}}))}))},e.prototype.disconnect=function(){var e;return m(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,this.cordovaPlugin.disConnect(this.deviceId)];case 1:return n.sent(),this._stateChange.next(t.ConnectionState.DISCONNECTED),null===(e=this.connectionStateSubscription)||void 0===e||e.unsubscribe(),[2]}}))}))},e.prototype.close=function(){var e;return m(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,this.cordovaPlugin.close(this.deviceId)];case 1:return n.sent(),this._stateChange.next(t.ConnectionState.DISCONNECTED),null===(e=this.connectionStateSubscription)||void 0===e||e.unsubscribe(),[2]}}))}))},e.prototype.getService=function(e){return m(this,void 0,void 0,(function(){var t;return d(this,(function(n){switch(n.label){case 0:return this.serviceListCache?[3,2]:[4,this.discoverServices([e])];case 1:n.sent(),n.label=2;case 2:if(!(t=this.serviceListCache.find((function(t){return t.uuid===e}))))throw u.BleComError.serviceNotFound(e);return[2,new C(t,this)]}}))}))},e}(),C=function(){function e(e,t){this.config=e,this.peripheral=t}return Object.defineProperty(e.prototype,"uuid",{get:function(){return this.config.uuid},enumerable:!1,configurable:!0}),e.prototype.getCharacteristic=function(e){var t;return m(this,void 0,void 0,(function(){var n;return d(this,(function(r){if(!(n=null===(t=this.config.characteristics)||void 0===t?void 0:t.find((function(t){return t.uuid===e}))))throw u.BleComError.charcacteristicNotFound(e);return[2,new E(this,n)]}))}))},e.prototype.getCharacteristics=function(){return m(this,void 0,void 0,(function(){var e=this;return d(this,(function(t){return this.config.characteristics?[2,this.config.characteristics.map((function(t){return new E(e,t)}))]:[2,[]]}))}))},e}(),E=function(){function e(e,t){this.service=e,this.config=t}return Object.defineProperty(e.prototype,"uuid",{get:function(){return this.config.uuid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"properties",{get:function(){return this.config.properties},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return this.setupDataStreamIfRequired().pipe(i.map((function(e){return{data:e,isNotification:!0}})))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"deviceId",{get:function(){return this.service.peripheral.deviceId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pluginInterface",{get:function(){return this.service.peripheral.cordovaPlugin},enumerable:!1,configurable:!0}),e.prototype.read=function(){return m(this,void 0,void 0,(function(){return d(this,(function(e){return[2,this.pluginInterface.characteristicReadValue(this.deviceId,this.service.uuid,this.uuid)]}))}))},e.prototype.getDescriptor=function(){return m(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Not implemented yet")}))}))},e.prototype.getDescriptors=function(){return m(this,void 0,void 0,(function(){var e=this;return d(this,(function(t){return this.config.descriptors?[2,this.config.descriptors.map((function(t){return new w(t,e)}))]:[2,[]]}))}))},e.prototype.write=function(e,t){return m(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return t?[4,this.pluginInterface.characteristicWriteWithoutResponse(this.deviceId,this.service.uuid,this.uuid,e)]:[3,2];case 1:return n.sent(),[3,4];case 2:return[4,this.pluginInterface.characteristicWrite(this.deviceId,this.service.uuid,this.uuid,e)];case 3:n.sent(),n.label=4;case 4:return[2,e]}}))}))},e.prototype.enableNotifications=function(e){return m(this,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return e?(this.setupDataStreamIfRequired(),[4,this.pluginInterface.characteristicStartNotification(this.deviceId,this.service.uuid,this.uuid)]):[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.pluginInterface.characteristicStopNotification(this.deviceId,this.service.uuid,this.uuid)];case 3:t.sent(),t.label=4;case 4:return[2]}}))}))},e.prototype.setupDataStreamIfRequired=function(){return this._dataStream||(this._dataStream=this.pluginInterface.characteristicChanged(this.deviceId,this.service.uuid,this.uuid)),this._dataStream},e}(),w=function(){function e(e,t){this.config=e,this.characteristic=t}return Object.defineProperty(e.prototype,"uuid",{get:function(){return this.config.uuid},enumerable:!1,configurable:!0}),e.prototype.readValue=function(){return m(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Reading descriptor value is not implemented yet")}))}))},e.prototype.writeValue=function(e){return m(this,void 0,void 0,(function(){return d(this,(function(e){throw new Error("Writing descriptor value is not implemented yet")}))}))},e}(),x=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function c(e){try{s(r.next(e))}catch(e){o(e)}}function u(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,u)}s((r=r.apply(e,t||[])).next())}))},I=function(){function e(e,t){this.cordovaInterfaceOverwrite=e,this.requestDeviceOptions=t,this._results=new r.BehaviorSubject([]),this._scanning$=new r.BehaviorSubject(!1)}return Object.defineProperty(e.prototype,"cordovaInterface",{get:function(){return this.cordovaInterfaceOverwrite||b()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scanning",{get:function(){return this._scanning$.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isScanning",{get:function(){return this._scanning$.value},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"results",{get:function(){return this._results.asObservable()},enumerable:!1,configurable:!0}),e.prototype.start=function(e){var t;return x(this,void 0,void 0,(function(){var e=this;return d(this,(function(n){switch(n.label){case 0:return null===(t=this.scanSubscription)||void 0===t||t.unsubscribe(),this.scanSubscription=void 0,this.clearResults(),[4,this.checkAvailable()];case 1:if(!n.sent())throw u.BleComError.bleNotAvailable("BLE is not available. Make sure that BLE is enabled on your device");return v("Start Scanning ..."),this._scanning$.next(!0),[2,new Promise((function(t,n){e.scanSubscription=e.cordovaInterface.startScan(e.requestDeviceOptions).subscribe((function(n){"Ok"!=n?e.addOrRefreshDevice(n):t()}),(function(t){v("Start scan failed with error: ",t),e.cordovaInterface.getLastError().then((function(e){v("Last BLE error "+e)})).catch((function(e){v("Cannot get last BLE error: ",e)})),n(t),e._scanning$.next(!1)}))}))]}}))}))},e.prototype.stop=function(){var e;return x(this,void 0,void 0,(function(){var t;return d(this,(function(n){switch(n.label){case 0:v("Stop Scanning ..."),n.label=1;case 1:return n.trys.push([1,3,,4]),null===(e=this.scanSubscription)||void 0===e||e.unsubscribe(),this.scanSubscription=void 0,[4,this.cordovaInterface.stopScan()];case 2:return n.sent(),this._scanning$.next(!1),[2];case 3:throw t=n.sent(),this._scanning$.next(!1),t;case 4:return[2]}}))}))},e.prototype.checkAvailable=function(){return this.cordovaInterface.checkAvailable()},Object.defineProperty(e.prototype,"devices",{get:function(){return this._results.value},enumerable:!1,configurable:!0}),e.prototype.clearResults=function(){this._results.next([])},e.prototype.addOrRefreshDevice=function(e){var t=this.devices.findIndex((function(t){return t.address==e.address}));if(t>=0){var n=this.devices[t];n.name==e.name&&n.rssi==e.rssi||(v("Updating device at index "+t+", name="+n.name+" with rssi="+n.rssi),this.devices[t]=e,this._results.next(this.devices))}else v("Adding new device name="+e.name+" with rssi="+e.rssi),this.devices.push(e),this._results.next(this.devices)},e}(),O=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function c(e){try{s(r.next(e))}catch(e){o(e)}}function u(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,u)}s((r=r.apply(e,t||[])).next())}))};function R(e){try{return s.hexStringToBuffer(e)}catch(t){throw p.invalidNativeCallResult(e,t)}}var _=function(){function e(){}return e.prototype.checkAvailable=function(){return this.execSingleResult("checkAvailable",[])},e.prototype.requestEnableBle=function(){return this.execSingleResult("enable",[])},e.prototype.startScan=function(e){return this.execMultipleResult("startScan",[JSON.stringify(e)])},e.prototype.stopScan=function(){return this.execSingleResult("stopScan",[])},e.prototype.connect=function(e,n){var r=this;return void 0===n&&(n=!0),this.askBleEnable(n).pipe(i.switchMap((function(){return r.execMultipleResult("connect",[e]).pipe(i.map((function(e){return e in t.ConnectionState||console.warn('Plugin native code returned an invalid connection state: "'+e+'".'),a.safeEnumValue(t.ConnectionState,e)})))})))},e.prototype.askBleEnable=function(e){var t=this;return r.defer((function(){return O(t,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return e?[4,this.checkAvailable()]:[3,3];case 1:return t.sent()?[3,3]:[4,this.requestEnableBle()];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))}))},e.prototype.requestMTU=function(e,t){return this.execSingleResult("requestMTU",[e,t])},e.prototype.connectAndDiscoverTapServices=function(e,n){var r=this;return void 0===n&&(n=!0),this.askBleEnable(n).pipe(i.switchMap((function(){return r.execMultipleResult("connectAndDiscoverTapServices",[e]).pipe(i.map((function(e){return e in t.ConnectionState||console.warn('Plugin native code returned an invalid connection state: "'+e+'".'),a.safeEnumValue(t.ConnectionState,e)})))})))},e.prototype.disConnect=function(e){return this.execSingleResult("disConnect",[e])},e.prototype.close=function(e){return this.execSingleResult("close",[e])},e.prototype.isConnected=function(e){return this.execSingleResult("isConnected",[e])},e.prototype.send=function(e,t){return O(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,this.execSingleResult("sendRequest",[e,s.bufferToHexString(t)])];case 1:return[2,R(n.sent())]}}))}))},e.prototype.getLastError=function(){return this.execSingleResult("getLastError",[])},e.prototype.characteristicStartNotification=function(e,t,n){return this.execSingleResult("characteristicStartNotification",[e,t,n])},e.prototype.characteristicChanged=function(e,t,n){return this.execMultipleResult("characteristicChanged",[e,t,n]).pipe(i.map((function(e){return R(e)})))},e.prototype.characteristicStopNotification=function(e,t,n){return this.execSingleResult("characteristicStopNotification",[e,t,n])},e.prototype.characteristicReadValue=function(e,t,n){return O(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,this.execSingleResult("characteristicRead",[e,t,n])];case 1:return[2,R(r.sent())]}}))}))},e.prototype.characteristicWrite=function(e,t,n,r){return this.execSingleResult("characteristicWrite",[e,t,n,s.bufferToHexString(r)])},e.prototype.characteristicWriteWithoutResponse=function(e,t,n,r){return this.execSingleResult("characteristicWriteWithoutResponse",[e,t,n,s.bufferToHexString(r)])},e.prototype.discoverServices=function(e){return O(this,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return[4,this.execSingleResult("discoverServices",[e])];case 1:return[2,t.sent()]}}))}))},e.prototype.execSingleResult=function(e,t){return new Promise((function(n,r){cordova.exec(n,(function(e){r(B(e))}),"BLECom",e,t)}))},e.prototype.execMultipleResult=function(e,t){var n=new r.Subject;return cordova.exec((function(e){n.next(e)}),(function(e){n.error(B(e))}),"BLECom",e,t),n.asObservable()},e}();function B(e){return"object"==typeof e&&e.code&&e.message?p.isValidErrorCode(e.code)?new p(e.message,p.Code[e.code]):p.invalidErrorCode(e):p.invalidErrorResult(e)}e.BLEComProtocol=y,e.BLEScanner=I,e.CordovaCharacteristicAdapter=E,e.CordovaPeripheralAdapter=S,e.CordovaServiceAdapter=C,e.getIoTizeBleCordovaPlugin=b,e.getScanRecordsFromBytes=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];if(0==r)break;var i=e[n+1];t.push({type:i,data:e.slice(n+2,n+r+1)}),n+=r}return t},e["ɵc"]=_,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=iotize-device-com-ble.cordova.umd.min.js.map