@youssefhenna/expo-enode-link-sdk
Version:
An Expo Module integration for Enode's Link SDK
7 lines • 1.98 kB
JavaScript
/*jslint
browser
*/
/*global
atob, Event, StringView, uk, window
*/
eval("var enode = enode || {};"),enode.wb={},enode.wbutils={uint8ArrayToBase64:function(e){let o="";return e.forEach(function(e){e=String.fromCharCode(e);o+=e}),window.btoa(o)},btDeviceNameIsOk:function(e){"use strict";e=new StringView(e).buffer.byteLength;return e<=248&&0<=e},canonicaliseFilter:function(e){"use strict";var o=e.services,n=e.name,r=enode.wbutils;if(void 0!==n&&!r.btDeviceNameIsOk(n))throw new TypeError("Invalid filter name "+n);e=e.namePrefix;if(void 0!==e&&(!r.btDeviceNameIsOk(e)||0===new StringView(e).buffer.byteLength))throw new TypeError("Invalid filter namePrefix "+e);r={name:n,namePrefix:e};if(void 0===o&&void 0===n&&void 0===e)throw new TypeError("Filter has no usable properties");if(void 0!==o){if(!o)throw new TypeError("Filter has empty services");n=o.map(window.BluetoothUUID.getService);r.services=n}return r},defineROProperties:function(o,n){Object.keys(n).forEach(function(e){Object.defineProperty(o,e,{value:n[e]})})},mixin:function(e,o){Object.assign(e.prototype,o.prototype),e.prototype.constructor=e},str64todv:function(e){var o=atob(e),n=new Int8Array(o.length);let r;for(r=0;r<n.length;r+=1)n[r]=o.charCodeAt(r);return new DataView(n.buffer)}},!function(){let r={log:console.log,warn:console.warn,error:console.error};function o(e,o,...n){window.webkit.messageHandlers.logger.postMessage({level:e,message:""+o}),r[e]&&r[e].call(window.console,o,...n)}window.console={debug:(...e)=>o("debug",...e),trace:(...e)=>o("debug",...e),info:(...e)=>o("log",...e),log:(...e)=>o("log",...e),warn:(...e)=>o("warn",...e),error:(...e)=>o("error",...e),dir:(...e)=>o("log",...e)},window.addEventListener("error",function(e){o("error",`Uncaught error on ${e.filename||"<no filename>"}:${e.lineno||"<no lineno>"} – "${e.message}" `+e.error)})}(),window.nslog=function(e){window.console&&window.console.warn&&window.console.warn(e)},window.nslog("WBUtils imported");