@magic-sdk/react-native-bare 30.4.1-canary.913.16658556087.0 → 30.4.1-canary.914.16661411429.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -1,980 +1,2 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __commonJS = (cb, mod) => function __require() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
- };
11
- var __export = (target, all) => {
12
- for (var name in all)
13
- __defProp(target, name, { get: all[name], enumerable: true });
14
- };
15
- var __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from === "object" || typeof from === "function") {
17
- for (let key of __getOwnPropNames(from))
18
- if (!__hasOwnProp.call(to, key) && key !== except)
19
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
- }
21
- return to;
22
- };
23
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
- mod
31
- ));
32
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
-
34
- // ../../../node_modules/localforage-driver-memory/_driver.js
35
- var require_driver = __commonJS({
36
- "../../../node_modules/localforage-driver-memory/_driver.js"(exports2) {
37
- "use strict";
38
- Object.defineProperty(exports2, "__esModule", { value: true });
39
- exports2._driver = "localforage-driver-memory";
40
- }
41
- });
42
-
43
- // ../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/serialiser/createBlob.js
44
- var require_createBlob = __commonJS({
45
- "../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/serialiser/createBlob.js"(exports2) {
46
- "use strict";
47
- Object.defineProperty(exports2, "__esModule", { value: true });
48
- function createBlob(parts, properties) {
49
- parts = parts || [];
50
- properties = properties || {};
51
- try {
52
- return new Blob(parts, properties);
53
- } catch (e) {
54
- if (e.name !== "TypeError") {
55
- throw e;
56
- }
57
- var Builder = typeof BlobBuilder !== "undefined" ? BlobBuilder : typeof MSBlobBuilder !== "undefined" ? MSBlobBuilder : typeof MozBlobBuilder !== "undefined" ? MozBlobBuilder : WebKitBlobBuilder;
58
- var builder = new Builder();
59
- for (var i = 0; i < parts.length; i += 1) {
60
- builder.append(parts[i]);
61
- }
62
- return builder.getBlob(properties.type);
63
- }
64
- }
65
- exports2.createBlob = createBlob;
66
- }
67
- });
68
-
69
- // ../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/serialiser/index.js
70
- var require_serialiser = __commonJS({
71
- "../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/serialiser/index.js"(exports2) {
72
- "use strict";
73
- Object.defineProperty(exports2, "__esModule", { value: true });
74
- var createBlob_1 = require_createBlob();
75
- var BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;
76
- var SERIALIZED_MARKER_LENGTH = "__lfsc__:".length;
77
- var TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + "arbf".length;
78
- var toString = Object.prototype.toString;
79
- function stringToBuffer(serializedString) {
80
- var bufferLength = serializedString.length * 0.75;
81
- var len = serializedString.length;
82
- if (serializedString[serializedString.length - 1] === "=") {
83
- bufferLength--;
84
- if (serializedString[serializedString.length - 2] === "=") {
85
- bufferLength--;
86
- }
87
- }
88
- var buffer = new ArrayBuffer(bufferLength);
89
- var bytes = new Uint8Array(buffer);
90
- for (var i = 0, p = 0; i < len; i += 4) {
91
- var encoded1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(serializedString[i]);
92
- var encoded2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(serializedString[i + 1]);
93
- var encoded3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(serializedString[i + 2]);
94
- var encoded4 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(serializedString[i + 3]);
95
- bytes[p++] = encoded1 << 2 | encoded2 >> 4;
96
- bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;
97
- bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;
98
- }
99
- return buffer;
100
- }
101
- exports2.stringToBuffer = stringToBuffer;
102
- function bufferToString(buffer) {
103
- var bytes = new Uint8Array(buffer);
104
- var base64String = "";
105
- for (var i = 0; i < bytes.length; i += 3) {
106
- base64String += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[bytes[i] >> 2];
107
- base64String += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];
108
- base64String += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];
109
- base64String += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[bytes[i + 2] & 63];
110
- }
111
- if (bytes.length % 3 === 2) {
112
- base64String = base64String.substring(0, base64String.length - 1) + "=";
113
- } else if (bytes.length % 3 === 1) {
114
- base64String = base64String.substring(0, base64String.length - 2) + "==";
115
- }
116
- return base64String;
117
- }
118
- exports2.bufferToString = bufferToString;
119
- function serialize(value, callback) {
120
- var valueType = "";
121
- if (value) {
122
- valueType = toString.call(value);
123
- }
124
- if (value && (valueType === "[object ArrayBuffer]" || value.buffer && toString.call(value.buffer) === "[object ArrayBuffer]")) {
125
- var buffer = void 0;
126
- var marker = "__lfsc__:";
127
- if (value instanceof ArrayBuffer) {
128
- buffer = value;
129
- marker += "arbf";
130
- } else {
131
- buffer = value.buffer;
132
- if (valueType === "[object Int8Array]") {
133
- marker += "si08";
134
- } else if (valueType === "[object Uint8Array]") {
135
- marker += "ui08";
136
- } else if (valueType === "[object Uint8ClampedArray]") {
137
- marker += "uic8";
138
- } else if (valueType === "[object Int16Array]") {
139
- marker += "si16";
140
- } else if (valueType === "[object Uint16Array]") {
141
- marker += "ur16";
142
- } else if (valueType === "[object Int32Array]") {
143
- marker += "si32";
144
- } else if (valueType === "[object Uint32Array]") {
145
- marker += "ui32";
146
- } else if (valueType === "[object Float32Array]") {
147
- marker += "fl32";
148
- } else if (valueType === "[object Float64Array]") {
149
- marker += "fl64";
150
- } else {
151
- callback(new Error("Failed to get type for BinaryArray"));
152
- }
153
- }
154
- callback(marker + bufferToString(buffer));
155
- } else if (valueType === "[object Blob]") {
156
- var fileReader = new FileReader();
157
- fileReader.onload = function() {
158
- var str = "~~local_forage_type~" + value.type + "~" + bufferToString(this.result);
159
- callback("__lfsc__:blob" + str);
160
- };
161
- fileReader.readAsArrayBuffer(value);
162
- } else {
163
- try {
164
- callback(JSON.stringify(value));
165
- } catch (e) {
166
- console.error("Couldn't convert value into a JSON string: ", value);
167
- callback(null, e);
168
- }
169
- }
170
- }
171
- exports2.serialize = serialize;
172
- function deserialize(value) {
173
- if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== "__lfsc__:") {
174
- return JSON.parse(value);
175
- }
176
- var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);
177
- var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);
178
- var blobType;
179
- if (type === "blob" && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {
180
- var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);
181
- blobType = matcher[1];
182
- serializedString = serializedString.substring(matcher[0].length);
183
- }
184
- var buffer = stringToBuffer(serializedString);
185
- switch (type) {
186
- case "arbf":
187
- return buffer;
188
- case "blob":
189
- return createBlob_1.createBlob([buffer], { type: blobType });
190
- case "si08":
191
- return new Int8Array(buffer);
192
- case "ui08":
193
- return new Uint8Array(buffer);
194
- case "uic8":
195
- return new Uint8ClampedArray(buffer);
196
- case "si16":
197
- return new Int16Array(buffer);
198
- case "ur16":
199
- return new Uint16Array(buffer);
200
- case "si32":
201
- return new Int32Array(buffer);
202
- case "ui32":
203
- return new Uint32Array(buffer);
204
- case "fl32":
205
- return new Float32Array(buffer);
206
- case "fl64":
207
- return new Float64Array(buffer);
208
- default:
209
- throw new Error("Unkown type: " + type);
210
- }
211
- }
212
- exports2.deserialize = deserialize;
213
- }
214
- });
215
-
216
- // ../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/clone.js
217
- var require_clone = __commonJS({
218
- "../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/clone.js"(exports2) {
219
- "use strict";
220
- var __values = exports2 && exports2.__values || function(o) {
221
- var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
222
- if (m) return m.call(o);
223
- return {
224
- next: function() {
225
- if (o && i >= o.length) o = void 0;
226
- return { value: o && o[i++], done: !o };
227
- }
228
- };
229
- };
230
- Object.defineProperty(exports2, "__esModule", { value: true });
231
- function clone(obj) {
232
- var e_1, _a;
233
- if (obj === null || typeof obj !== "object" || "isActiveClone" in obj) {
234
- return obj;
235
- }
236
- var temp = obj instanceof Date ? new Date(obj) : obj.constructor();
237
- try {
238
- for (var _b = __values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) {
239
- var key = _c.value;
240
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
241
- obj["isActiveClone"] = null;
242
- temp[key] = clone(obj[key]);
243
- delete obj["isActiveClone"];
244
- }
245
- }
246
- } catch (e_1_1) {
247
- e_1 = { error: e_1_1 };
248
- } finally {
249
- try {
250
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
251
- } finally {
252
- if (e_1) throw e_1.error;
253
- }
254
- }
255
- return temp;
256
- }
257
- exports2.clone = clone;
258
- }
259
- });
260
-
261
- // ../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/getKeyPrefix.js
262
- var require_getKeyPrefix = __commonJS({
263
- "../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/getKeyPrefix.js"(exports2) {
264
- "use strict";
265
- Object.defineProperty(exports2, "__esModule", { value: true });
266
- function getKeyPrefix(options, defaultConfig) {
267
- return (options.name || defaultConfig.name) + "/" + (options.storeName || defaultConfig.storeName) + "/";
268
- }
269
- exports2.getKeyPrefix = getKeyPrefix;
270
- }
271
- });
272
-
273
- // ../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/executeCallback.js
274
- var require_executeCallback = __commonJS({
275
- "../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/executeCallback.js"(exports2) {
276
- "use strict";
277
- Object.defineProperty(exports2, "__esModule", { value: true });
278
- function executeCallback(promise, callback) {
279
- if (callback) {
280
- promise.then(function(result) {
281
- callback(null, result);
282
- }, function(error) {
283
- callback(error);
284
- });
285
- }
286
- }
287
- exports2.executeCallback = executeCallback;
288
- }
289
- });
290
-
291
- // ../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/getCallback.js
292
- var require_getCallback = __commonJS({
293
- "../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/getCallback.js"(exports2) {
294
- "use strict";
295
- Object.defineProperty(exports2, "__esModule", { value: true });
296
- function getCallback() {
297
- var _args = [];
298
- for (var _i = 0; _i < arguments.length; _i++) {
299
- _args[_i] = arguments[_i];
300
- }
301
- if (arguments.length && typeof arguments[arguments.length - 1] === "function") {
302
- return arguments[arguments.length - 1];
303
- }
304
- }
305
- exports2.getCallback = getCallback;
306
- }
307
- });
308
-
309
- // ../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/dropInstanceCommon.js
310
- var require_dropInstanceCommon = __commonJS({
311
- "../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/dropInstanceCommon.js"(exports2) {
312
- "use strict";
313
- Object.defineProperty(exports2, "__esModule", { value: true });
314
- var getCallback_1 = require_getCallback();
315
- var getKeyPrefix_1 = require_getKeyPrefix();
316
- function dropInstanceCommon(options, callback) {
317
- var _this = this;
318
- callback = getCallback_1.getCallback.apply(this, arguments);
319
- options = typeof options !== "function" && options || {};
320
- if (!options.name) {
321
- var currentConfig = this.config();
322
- options.name = options.name || currentConfig.name;
323
- options.storeName = options.storeName || currentConfig.storeName;
324
- }
325
- var promise;
326
- if (!options.name) {
327
- promise = Promise.reject("Invalid arguments");
328
- } else {
329
- promise = new Promise(function(resolve) {
330
- if (!options.storeName) {
331
- resolve(options.name + "/");
332
- } else {
333
- resolve(getKeyPrefix_1.getKeyPrefix(options, _this._defaultConfig));
334
- }
335
- });
336
- }
337
- return { promise, callback };
338
- }
339
- exports2.dropInstanceCommon = dropInstanceCommon;
340
- }
341
- });
342
-
343
- // ../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/normaliseKey.js
344
- var require_normaliseKey = __commonJS({
345
- "../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/normaliseKey.js"(exports2) {
346
- "use strict";
347
- Object.defineProperty(exports2, "__esModule", { value: true });
348
- function normaliseKey(key) {
349
- if (typeof key !== "string") {
350
- console.warn(key + " used as a key, but it is not a string.");
351
- key = String(key);
352
- }
353
- return key;
354
- }
355
- exports2.normaliseKey = normaliseKey;
356
- }
357
- });
358
-
359
- // ../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/index.js
360
- var require_localforage_driver_commons = __commonJS({
361
- "../../../node_modules/localforage-driver-memory/node_modules/localforage-driver-commons/index.js"(exports2) {
362
- "use strict";
363
- Object.defineProperty(exports2, "__esModule", { value: true });
364
- var serialiser_1 = require_serialiser();
365
- var clone_1 = require_clone();
366
- exports2.clone = clone_1.clone;
367
- var getKeyPrefix_1 = require_getKeyPrefix();
368
- exports2.getKeyPrefix = getKeyPrefix_1.getKeyPrefix;
369
- var executeCallback_1 = require_executeCallback();
370
- exports2.executeCallback = executeCallback_1.executeCallback;
371
- var getCallback_1 = require_getCallback();
372
- exports2.getCallback = getCallback_1.getCallback;
373
- var dropInstanceCommon_1 = require_dropInstanceCommon();
374
- exports2.dropInstanceCommon = dropInstanceCommon_1.dropInstanceCommon;
375
- var normaliseKey_1 = require_normaliseKey();
376
- exports2.normaliseKey = normaliseKey_1.normaliseKey;
377
- exports2.serialiser = {
378
- bufferToString: serialiser_1.bufferToString,
379
- deserialize: serialiser_1.deserialize,
380
- serialize: serialiser_1.serialize,
381
- stringToBuffer: serialiser_1.stringToBuffer
382
- };
383
- }
384
- });
385
-
386
- // ../../../node_modules/localforage-driver-memory/Store.js
387
- var require_Store = __commonJS({
388
- "../../../node_modules/localforage-driver-memory/Store.js"(exports2) {
389
- "use strict";
390
- Object.defineProperty(exports2, "__esModule", { value: true });
391
- var stores = {};
392
- var Store = (
393
- /** @class */
394
- function() {
395
- function Store2(kp) {
396
- this.kp = kp;
397
- this.data = {};
398
- }
399
- Store2.resolve = function(kp) {
400
- if (!stores[kp]) {
401
- stores[kp] = new Store2(kp);
402
- }
403
- return stores[kp];
404
- };
405
- Store2.prototype.clear = function() {
406
- this.data = {};
407
- };
408
- Store2.prototype.drop = function() {
409
- this.clear();
410
- delete stores[this.kp];
411
- };
412
- Store2.prototype.get = function(key) {
413
- return this.data[key];
414
- };
415
- Store2.prototype.key = function(idx) {
416
- return this.keys()[idx];
417
- };
418
- Store2.prototype.keys = function() {
419
- return Object.keys(this.data);
420
- };
421
- Store2.prototype.rm = function(k) {
422
- delete this.data[k];
423
- };
424
- Store2.prototype.set = function(k, v) {
425
- this.data[k] = v;
426
- };
427
- return Store2;
428
- }()
429
- );
430
- exports2.Store = Store;
431
- }
432
- });
433
-
434
- // ../../../node_modules/localforage-driver-memory/_initStorage.js
435
- var require_initStorage = __commonJS({
436
- "../../../node_modules/localforage-driver-memory/_initStorage.js"(exports2) {
437
- "use strict";
438
- Object.defineProperty(exports2, "__esModule", { value: true });
439
- var localforage_driver_commons_1 = require_localforage_driver_commons();
440
- var Store_1 = require_Store();
441
- function _initStorage(options) {
442
- var opts = options ? localforage_driver_commons_1.clone(options) : {};
443
- var kp = localforage_driver_commons_1.getKeyPrefix(opts, this._defaultConfig);
444
- var store = Store_1.Store.resolve(kp);
445
- this._dbInfo = opts;
446
- this._dbInfo.serializer = localforage_driver_commons_1.serialiser;
447
- this._dbInfo.keyPrefix = kp;
448
- this._dbInfo.mStore = store;
449
- return Promise.resolve();
450
- }
451
- exports2._initStorage = _initStorage;
452
- }
453
- });
454
-
455
- // ../../../node_modules/localforage-driver-memory/clear.js
456
- var require_clear = __commonJS({
457
- "../../../node_modules/localforage-driver-memory/clear.js"(exports2) {
458
- "use strict";
459
- Object.defineProperty(exports2, "__esModule", { value: true });
460
- var localforage_driver_commons_1 = require_localforage_driver_commons();
461
- function clear(callback) {
462
- var _this = this;
463
- var promise = this.ready().then(function() {
464
- _this._dbInfo.mStore.clear();
465
- });
466
- localforage_driver_commons_1.executeCallback(promise, callback);
467
- return promise;
468
- }
469
- exports2.clear = clear;
470
- }
471
- });
472
-
473
- // ../../../node_modules/localforage-driver-memory/dropInstance.js
474
- var require_dropInstance = __commonJS({
475
- "../../../node_modules/localforage-driver-memory/dropInstance.js"(exports2) {
476
- "use strict";
477
- Object.defineProperty(exports2, "__esModule", { value: true });
478
- var localforage_driver_commons_1 = require_localforage_driver_commons();
479
- var Store_1 = require_Store();
480
- function dropInstance(_options, _cb) {
481
- var _a = localforage_driver_commons_1.dropInstanceCommon.apply(this, arguments), promise = _a.promise, callback = _a.callback;
482
- var outPromise = promise.then(function(keyPrefix) {
483
- Store_1.Store.resolve(keyPrefix).drop();
484
- });
485
- localforage_driver_commons_1.executeCallback(outPromise, callback);
486
- return promise;
487
- }
488
- exports2.dropInstance = dropInstance;
489
- }
490
- });
491
-
492
- // ../../../node_modules/localforage-driver-memory/getItem.js
493
- var require_getItem = __commonJS({
494
- "../../../node_modules/localforage-driver-memory/getItem.js"(exports2) {
495
- "use strict";
496
- Object.defineProperty(exports2, "__esModule", { value: true });
497
- var localforage_driver_commons_1 = require_localforage_driver_commons();
498
- function getItem(key$, callback) {
499
- var _this = this;
500
- key$ = localforage_driver_commons_1.normaliseKey(key$);
501
- var promise = this.ready().then(function() {
502
- var result = _this._dbInfo.mStore.get(key$);
503
- return result == null ? null : _this._dbInfo.serializer.deserialize(result);
504
- });
505
- localforage_driver_commons_1.executeCallback(promise, callback);
506
- return promise;
507
- }
508
- exports2.getItem = getItem;
509
- }
510
- });
511
-
512
- // ../../../node_modules/localforage-driver-memory/iterate.js
513
- var require_iterate = __commonJS({
514
- "../../../node_modules/localforage-driver-memory/iterate.js"(exports2) {
515
- "use strict";
516
- Object.defineProperty(exports2, "__esModule", { value: true });
517
- var localforage_driver_commons_1 = require_localforage_driver_commons();
518
- function iterate(iterator, callback) {
519
- var _this = this;
520
- var promise = this.ready().then(function() {
521
- var store = _this._dbInfo.mStore;
522
- var keys = store.keys();
523
- for (var i = 0; i < keys.length; i++) {
524
- var value = store.get(keys[i]);
525
- if (value) {
526
- value = _this._dbInfo.serializer.deserialize(value);
527
- }
528
- value = iterator(value, keys[i], i + 1);
529
- if (value !== void 0) {
530
- return value;
531
- }
532
- }
533
- });
534
- localforage_driver_commons_1.executeCallback(promise, callback);
535
- return promise;
536
- }
537
- exports2.iterate = iterate;
538
- }
539
- });
540
-
541
- // ../../../node_modules/localforage-driver-memory/key.js
542
- var require_key = __commonJS({
543
- "../../../node_modules/localforage-driver-memory/key.js"(exports2) {
544
- "use strict";
545
- Object.defineProperty(exports2, "__esModule", { value: true });
546
- var localforage_driver_commons_1 = require_localforage_driver_commons();
547
- function key(idx, callback) {
548
- var _this = this;
549
- var promise = this.ready().then(function() {
550
- var result;
551
- try {
552
- result = _this._dbInfo.mStore.key(idx);
553
- if (result === void 0) {
554
- result = null;
555
- }
556
- } catch (_a) {
557
- result = null;
558
- }
559
- return result;
560
- });
561
- localforage_driver_commons_1.executeCallback(promise, callback);
562
- return promise;
563
- }
564
- exports2.key = key;
565
- }
566
- });
567
-
568
- // ../../../node_modules/localforage-driver-memory/keys.js
569
- var require_keys = __commonJS({
570
- "../../../node_modules/localforage-driver-memory/keys.js"(exports2) {
571
- "use strict";
572
- Object.defineProperty(exports2, "__esModule", { value: true });
573
- var localforage_driver_commons_1 = require_localforage_driver_commons();
574
- function keys(callback) {
575
- var _this = this;
576
- var promise = this.ready().then(function() {
577
- return _this._dbInfo.mStore.keys();
578
- });
579
- localforage_driver_commons_1.executeCallback(promise, callback);
580
- return promise;
581
- }
582
- exports2.keys = keys;
583
- }
584
- });
585
-
586
- // ../../../node_modules/localforage-driver-memory/length.js
587
- var require_length = __commonJS({
588
- "../../../node_modules/localforage-driver-memory/length.js"(exports2) {
589
- "use strict";
590
- Object.defineProperty(exports2, "__esModule", { value: true });
591
- var localforage_driver_commons_1 = require_localforage_driver_commons();
592
- function length(callback) {
593
- var promise = this.keys().then(function(keys$) {
594
- return keys$.length;
595
- });
596
- localforage_driver_commons_1.executeCallback(promise, callback);
597
- return promise;
598
- }
599
- exports2.length = length;
600
- }
601
- });
602
-
603
- // ../../../node_modules/localforage-driver-memory/removeItem.js
604
- var require_removeItem = __commonJS({
605
- "../../../node_modules/localforage-driver-memory/removeItem.js"(exports2) {
606
- "use strict";
607
- Object.defineProperty(exports2, "__esModule", { value: true });
608
- var localforage_driver_commons_1 = require_localforage_driver_commons();
609
- function removeItem(key$, callback) {
610
- var _this = this;
611
- key$ = localforage_driver_commons_1.normaliseKey(key$);
612
- var promise = this.ready().then(function() {
613
- _this._dbInfo.mStore.rm(key$);
614
- });
615
- localforage_driver_commons_1.executeCallback(promise, callback);
616
- return promise;
617
- }
618
- exports2.removeItem = removeItem;
619
- }
620
- });
621
-
622
- // ../../../node_modules/localforage-driver-memory/setItem.js
623
- var require_setItem = __commonJS({
624
- "../../../node_modules/localforage-driver-memory/setItem.js"(exports2) {
625
- "use strict";
626
- Object.defineProperty(exports2, "__esModule", { value: true });
627
- var localforage_driver_commons_1 = require_localforage_driver_commons();
628
- function setItem(key$, value, callback) {
629
- var _this = this;
630
- key$ = localforage_driver_commons_1.normaliseKey(key$);
631
- var promise = this.ready().then(function() {
632
- if (value === void 0) {
633
- value = null;
634
- }
635
- var originalValue = value;
636
- return new Promise(function(resolve, reject) {
637
- _this._dbInfo.serializer.serialize(value, function(value$, error) {
638
- if (error) {
639
- reject(error);
640
- } else {
641
- try {
642
- _this._dbInfo.mStore.set(key$, value$);
643
- resolve(originalValue);
644
- } catch (e) {
645
- reject(e);
646
- }
647
- }
648
- });
649
- });
650
- });
651
- localforage_driver_commons_1.executeCallback(promise, callback);
652
- return promise;
653
- }
654
- exports2.setItem = setItem;
655
- }
656
- });
657
-
658
- // ../../../node_modules/localforage-driver-memory/index.js
659
- var require_localforage_driver_memory = __commonJS({
660
- "../../../node_modules/localforage-driver-memory/index.js"(exports2) {
661
- "use strict";
662
- Object.defineProperty(exports2, "__esModule", { value: true });
663
- exports2._support = true;
664
- var _driver_1 = require_driver();
665
- exports2._driver = _driver_1._driver;
666
- var _initStorage_1 = require_initStorage();
667
- exports2._initStorage = _initStorage_1._initStorage;
668
- var clear_1 = require_clear();
669
- exports2.clear = clear_1.clear;
670
- var dropInstance_1 = require_dropInstance();
671
- exports2.dropInstance = dropInstance_1.dropInstance;
672
- var getItem_1 = require_getItem();
673
- exports2.getItem = getItem_1.getItem;
674
- var iterate_1 = require_iterate();
675
- exports2.iterate = iterate_1.iterate;
676
- var key_1 = require_key();
677
- exports2.key = key_1.key;
678
- var keys_1 = require_keys();
679
- exports2.keys = keys_1.keys;
680
- var length_1 = require_length();
681
- exports2.length = length_1.length;
682
- var removeItem_1 = require_removeItem();
683
- exports2.removeItem = removeItem_1.removeItem;
684
- var setItem_1 = require_setItem();
685
- exports2.setItem = setItem_1.setItem;
686
- }
687
- });
688
-
689
- // src/index.ts
690
- var index_exports = {};
691
- __export(index_exports, {
692
- Magic: () => Magic,
693
- useInternetConnection: () => useInternetConnection
694
- });
695
- module.exports = __toCommonJS(index_exports);
696
- var import_runtime = require("regenerator-runtime/runtime");
697
- var import_provider3 = require("@magic-sdk/provider");
698
- var processPolyfill = __toESM(require("process"));
699
- var import_localforage = __toESM(require("localforage"));
700
- var import_whatwg_url = require("whatwg-url");
701
- var import_buffer = require("buffer");
702
- var _ = __toESM(require("lodash"));
703
- var import_react_native_device_info = require("react-native-device-info");
704
- var import_localforage_asyncstorage_driver = require("@aveq-research/localforage-asyncstorage-driver");
705
- var memoryDriver = __toESM(require_localforage_driver_memory());
706
-
707
- // src/react-native-webview-controller.tsx
708
- var import_react2 = __toESM(require("react"));
709
- var import_react_native = require("react-native");
710
- var import_react_native_webview = require("react-native-webview");
711
- var import_react_native_safe_area_context = require("react-native-safe-area-context");
712
- var import_provider = require("@magic-sdk/provider");
713
- var import_lodash = require("lodash");
714
- var import_async_storage = __toESM(require("@react-native-async-storage/async-storage"));
715
- var import_react_native_event_listeners = require("react-native-event-listeners");
716
-
717
- // src/hooks.ts
718
- var import_react = require("react");
719
- var import_netinfo = __toESM(require("@react-native-community/netinfo"));
720
- var useInternetConnection = () => {
721
- const [isConnected, setIsConnected] = (0, import_react.useState)(true);
722
- (0, import_react.useEffect)(() => {
723
- const handleConnectionChange = (connectionInfo) => {
724
- setIsConnected(!!connectionInfo.isConnected);
725
- };
726
- return import_netinfo.default.addEventListener(handleConnectionChange);
727
- }, []);
728
- return isConnected;
729
- };
730
-
731
- // src/react-native-webview-controller.tsx
732
- var MAGIC_PAYLOAD_FLAG_TYPED_ARRAY = "MAGIC_PAYLOAD_FLAG_TYPED_ARRAY";
733
- var OPEN_IN_DEVICE_BROWSER = "open_in_device_browser";
734
- var DEFAULT_BACKGROUND_COLOR = "#FFFFFF";
735
- var MSG_POSTED_AFTER_INACTIVITY_EVENT = "msg_posted_after_inactivity_event";
736
- var LAST_MESSAGE_TIME = "lastMessageTime";
737
- function createWebViewStyles() {
738
- return import_react_native.StyleSheet.create({
739
- "magic-webview": {
740
- flex: 1,
741
- backgroundColor: "transparent"
742
- },
743
- "webview-container": {
744
- flex: 1,
745
- width: "100%",
746
- backgroundColor: "transparent",
747
- position: "absolute",
748
- top: 0,
749
- left: 0,
750
- right: 0,
751
- bottom: 0
752
- },
753
- show: {
754
- zIndex: 1e4,
755
- elevation: 1e4
756
- },
757
- hide: {
758
- zIndex: -1e4,
759
- elevation: 0
760
- }
761
- });
762
- }
763
- var ReactNativeWebViewController = class extends import_provider.ViewController {
764
- webView;
765
- container;
766
- styles;
767
- init() {
768
- this.webView = null;
769
- this.container = null;
770
- this.styles = createWebViewStyles();
771
- }
772
- /**
773
- * Renders a React Native `<WebView>` with built-in message handling to and
774
- * from the Magic `<iframe>` context.
775
- */
776
- // Validating this logic requires lots of React-specific boilerplate. We will
777
- // revisit this method for unit testing in the future. For now, manual testing
778
- // is sufficient (this logic is stable right now and not expected to change in
779
- // the foreseeable future).
780
- /* istanbul ignore next */
781
- Relayer = (backgroundColor) => {
782
- const [show, setShow] = (0, import_react2.useState)(false);
783
- const [mountOverlay, setMountOverlay] = (0, import_react2.useState)(true);
784
- const isConnected = useInternetConnection();
785
- (0, import_react2.useEffect)(() => {
786
- this.isConnectedToInternet = isConnected;
787
- }, [isConnected]);
788
- (0, import_react2.useEffect)(() => {
789
- import_async_storage.default.setItem(LAST_MESSAGE_TIME, "");
790
- return () => {
791
- this.isReadyForRequest = false;
792
- };
793
- }, []);
794
- (0, import_react2.useEffect)(() => {
795
- import_react_native_event_listeners.EventRegister.addEventListener(MSG_POSTED_AFTER_INACTIVITY_EVENT, async (message) => {
796
- this.isReadyForRequest = false;
797
- setMountOverlay(false);
798
- this.post(message.msgType, message.payload);
799
- await import_async_storage.default.setItem(LAST_MESSAGE_TIME, (/* @__PURE__ */ new Date()).toISOString());
800
- });
801
- }, []);
802
- (0, import_react2.useEffect)(() => {
803
- if (!mountOverlay) {
804
- setTimeout(() => setMountOverlay(true), 10);
805
- }
806
- }, [mountOverlay]);
807
- const webViewRef = (0, import_react2.useCallback)((webView) => {
808
- this.webView = webView;
809
- }, []);
810
- const containerRef = (0, import_react2.useCallback)((view) => {
811
- this.container = {
812
- ...view,
813
- showOverlay,
814
- hideOverlay
815
- };
816
- }, []);
817
- const showOverlay = (0, import_react2.useCallback)(() => {
818
- setShow(true);
819
- }, []);
820
- const hideOverlay = (0, import_react2.useCallback)(() => {
821
- setShow(false);
822
- }, []);
823
- const containerStyles = (0, import_react2.useMemo)(() => {
824
- return [
825
- this.styles["webview-container"],
826
- show ? {
827
- ...this.styles.show,
828
- backgroundColor: backgroundColor ?? DEFAULT_BACKGROUND_COLOR
829
- } : this.styles.hide
830
- ];
831
- }, [show]);
832
- const handleWebViewMessage = (0, import_react2.useCallback)((event) => {
833
- this.handleReactNativeWebViewMessage(event);
834
- }, []);
835
- if (!mountOverlay) {
836
- return null;
837
- }
838
- return /* @__PURE__ */ import_react2.default.createElement(import_react_native_safe_area_context.SafeAreaView, { ref: containerRef, style: containerStyles }, /* @__PURE__ */ import_react2.default.createElement(
839
- import_react_native_webview.WebView,
840
- {
841
- ref: webViewRef,
842
- source: { uri: `${this.endpoint}/send/?params=${encodeURIComponent(this.parameters)}` },
843
- onMessage: handleWebViewMessage,
844
- style: this.styles["magic-webview"],
845
- webviewDebuggingEnabled: true,
846
- autoManageStatusBarEnabled: false,
847
- onShouldStartLoadWithRequest: (event) => {
848
- const queryParams = new URLSearchParams(event.url.split("?")[1]);
849
- const openInDeviceBrowser = queryParams.get(OPEN_IN_DEVICE_BROWSER);
850
- if (openInDeviceBrowser) {
851
- import_react_native.Linking.openURL(event.url);
852
- return false;
853
- }
854
- return true;
855
- }
856
- }
857
- ));
858
- };
859
- /**
860
- * Route incoming messages from a React Native `<WebView>`.
861
- */
862
- handleReactNativeWebViewMessage(event) {
863
- const url = new URL(`${this.endpoint}/send/?params=${encodeURIComponent(this.parameters)}`);
864
- if (event.nativeEvent && typeof event.nativeEvent.data === "string" && /* Backward compatible */
865
- (event.nativeEvent.url === `${this.endpoint}/send/?params=${encodeURIComponent(this.parameters)}` || event.nativeEvent.url === `${this.endpoint}/send/?params=${this.parameters}` || event.nativeEvent.title === `${url.hostname}/send/${url.search}`)) {
866
- const data = JSON.parse(event.nativeEvent.data, (key, value) => {
867
- try {
868
- if (value && typeof value === "object" && value.flag && value.flag === MAGIC_PAYLOAD_FLAG_TYPED_ARRAY) {
869
- return new global[value.constructor](value.data.split(","));
870
- }
871
- } catch (e) {
872
- console.log("Error parsing data", e);
873
- }
874
- return value;
875
- });
876
- if (data && data.msgType && this.messageHandlers.size) {
877
- data.response = data.response ?? {};
878
- const magicEvent = { data };
879
- for (const handler of this.messageHandlers.values()) {
880
- handler(magicEvent);
881
- }
882
- }
883
- }
884
- }
885
- async msgPostedAfterInactivity() {
886
- const lastPostTimestamp = await import_async_storage.default.getItem(LAST_MESSAGE_TIME);
887
- if (lastPostTimestamp) {
888
- const lastPostDate = new Date(lastPostTimestamp).getTime();
889
- const now = (/* @__PURE__ */ new Date()).getTime();
890
- const fiveMinutes = 5 * 60 * 1e3;
891
- return now - lastPostDate > fiveMinutes;
892
- }
893
- return false;
894
- }
895
- hideOverlay() {
896
- if (this.container) this.container.hideOverlay();
897
- }
898
- showOverlay() {
899
- if (this.container) this.container.showOverlay();
900
- }
901
- async _post(data) {
902
- if (await this.msgPostedAfterInactivity()) {
903
- import_react_native_event_listeners.EventRegister.emit(MSG_POSTED_AFTER_INACTIVITY_EVENT, data);
904
- return;
905
- }
906
- if (this.webView && this.webView.postMessage) {
907
- this.webView.postMessage(
908
- JSON.stringify(data, (key, value) => {
909
- if ((0, import_lodash.isTypedArray)(value)) {
910
- return {
911
- constructor: value.constructor.name,
912
- data: value.toString(),
913
- flag: MAGIC_PAYLOAD_FLAG_TYPED_ARRAY
914
- };
915
- }
916
- return value;
917
- }),
918
- this.endpoint
919
- );
920
- import_async_storage.default.setItem(LAST_MESSAGE_TIME, (/* @__PURE__ */ new Date()).toISOString());
921
- } else {
922
- throw (0, import_provider.createModalNotReadyError)();
923
- }
924
- }
925
- // Todo - implement these methods
926
- /* istanbul ignore next */
927
- checkRelayerExistsInDOM() {
928
- return Promise.resolve(true);
929
- }
930
- /* istanbul ignore next */
931
- reloadRelayer() {
932
- return Promise.resolve(void 0);
933
- }
934
- };
935
-
936
- // src/react-native-sdk-base.ts
937
- var import_provider2 = require("@magic-sdk/provider");
938
- var SDKBaseReactNative = class extends import_provider2.SDKBase {
939
- get Relayer() {
940
- return this.overlay.Relayer;
941
- }
942
- };
943
-
944
- // src/index.ts
945
- __reExport(index_exports, require("@magic-sdk/commons"), module.exports);
946
- global.process = _.merge(global.process, processPolyfill);
947
- global.process.browser = false;
948
- global.Buffer = import_buffer.Buffer;
949
- global.URL = import_whatwg_url.URL;
950
- global.URLSearchParams = import_whatwg_url.URLSearchParams;
951
- global.btoa = (str) => import_buffer.Buffer.from(str, "binary").toString("base64");
952
- global.atob = (b64Encoded) => import_buffer.Buffer.from(b64Encoded, "base64").toString("binary");
953
- var Magic = (0, import_provider3.createSDK)(SDKBaseReactNative, {
954
- platform: "react-native",
955
- sdkName: "@magic-sdk/react-native-bare",
956
- version: "30.4.0",
957
- bundleId: (0, import_react_native_device_info.getBundleId)(),
958
- defaultEndpoint: "https://box.magic.link/",
959
- ViewController: ReactNativeWebViewController,
960
- configureStorage: (
961
- /* istanbul ignore next */
962
- async () => {
963
- const lf = import_localforage.default.createInstance({
964
- name: "MagicAuthLocalStorageDB",
965
- storeName: "MagicAuthLocalStorage"
966
- });
967
- const driver = (0, import_localforage_asyncstorage_driver.driverWithoutSerialization)();
968
- await Promise.all([lf.defineDriver(driver), lf.defineDriver(memoryDriver)]);
969
- await lf.setDriver([driver._driver, memoryDriver._driver]);
970
- return lf;
971
- }
972
- )
973
- });
974
- // Annotate the CommonJS export names for ESM import in node:
975
- 0 && (module.exports = {
976
- Magic,
977
- useInternetConnection,
978
- ...require("@magic-sdk/commons")
979
- });
1
+ "use strict";var He=Object.create;var P=Object.defineProperty;var Xe=Object.getOwnPropertyDescriptor;var Ze=Object.getOwnPropertyNames;var Qe=Object.getPrototypeOf,$e=Object.prototype.hasOwnProperty;var c=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),er=(e,r)=>{for(var t in r)P(e,t,{get:r[t],enumerable:!0})},S=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Ze(r))!$e.call(e,o)&&o!==t&&P(e,o,{get:()=>r[o],enumerable:!(n=Xe(r,o))||n.enumerable});return e},l=(e,r,t)=>(S(e,r,"default"),t&&S(t,r,"default")),p=(e,r,t)=>(t=e!=null?He(Qe(e)):{},S(r||!e||!e.__esModule?P(t,"default",{value:e,enumerable:!0}):t,e)),rr=e=>S(P({},"__esModule",{value:!0}),e);var le=c(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k._driver="localforage-driver-memory"});var ce=c(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});function tr(e,r){e=e||[],r=r||{};try{return new Blob(e,r)}catch(a){if(a.name!=="TypeError")throw a;for(var t=typeof BlobBuilder<"u"?BlobBuilder:typeof MSBlobBuilder<"u"?MSBlobBuilder:typeof MozBlobBuilder<"u"?MozBlobBuilder:WebKitBlobBuilder,n=new t,o=0;o<e.length;o+=1)n.append(e[o]);return n.getBlob(r.type)}}N.createBlob=tr});var ye=c(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});var nr=ce(),ue=/^~~local_forage_type~([^~]+)~/,j=9,fe=j+4,de=Object.prototype.toString;function me(e){var r=e.length*.75,t=e.length;e[e.length-1]==="="&&(r--,e[e.length-2]==="="&&r--);for(var n=new ArrayBuffer(r),o=new Uint8Array(n),a=0,i=0;a<t;a+=4){var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(e[a]),g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(e[a+1]),_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(e[a+2]),b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(e[a+3]);o[i++]=f<<2|g>>4,o[i++]=(g&15)<<4|_>>2,o[i++]=(_&3)<<6|b&63}return n}h.stringToBuffer=me;function V(e){for(var r=new Uint8Array(e),t="",n=0;n<r.length;n+=3)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[r[n]>>2],t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(r[n]&3)<<4|r[n+1]>>4],t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(r[n+1]&15)<<2|r[n+2]>>6],t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[r[n+2]&63];return r.length%3===2?t=t.substring(0,t.length-1)+"=":r.length%3===1&&(t=t.substring(0,t.length-2)+"=="),t}h.bufferToString=V;function or(e,r){var t="";if(e&&(t=de.call(e)),e&&(t==="[object ArrayBuffer]"||e.buffer&&de.call(e.buffer)==="[object ArrayBuffer]")){var n=void 0,o="__lfsc__:";e instanceof ArrayBuffer?(n=e,o+="arbf"):(n=e.buffer,t==="[object Int8Array]"?o+="si08":t==="[object Uint8Array]"?o+="ui08":t==="[object Uint8ClampedArray]"?o+="uic8":t==="[object Int16Array]"?o+="si16":t==="[object Uint16Array]"?o+="ur16":t==="[object Int32Array]"?o+="si32":t==="[object Uint32Array]"?o+="ui32":t==="[object Float32Array]"?o+="fl32":t==="[object Float64Array]"?o+="fl64":r(new Error("Failed to get type for BinaryArray"))),r(o+V(n))}else if(t==="[object Blob]"){var a=new FileReader;a.onload=function(){var i="~~local_forage_type~"+e.type+"~"+V(this.result);r("__lfsc__:blob"+i)},a.readAsArrayBuffer(e)}else try{r(JSON.stringify(e))}catch(i){console.error("Couldn't convert value into a JSON string: ",e),r(null,i)}}h.serialize=or;function ar(e){if(e.substring(0,j)!=="__lfsc__:")return JSON.parse(e);var r=e.substring(fe),t=e.substring(j,fe),n;if(t==="blob"&&ue.test(r)){var o=r.match(ue);n=o[1],r=r.substring(o[0].length)}var a=me(r);switch(t){case"arbf":return a;case"blob":return nr.createBlob([a],{type:n});case"si08":return new Int8Array(a);case"ui08":return new Uint8Array(a);case"uic8":return new Uint8ClampedArray(a);case"si16":return new Int16Array(a);case"ur16":return new Uint16Array(a);case"si32":return new Int32Array(a);case"ui32":return new Uint32Array(a);case"fl32":return new Float32Array(a);case"fl64":return new Float64Array(a);default:throw new Error("Unkown type: "+t)}}h.deserialize=ar});var _e=c(w=>{"use strict";var ir=w&&w.__values||function(e){var r=typeof Symbol=="function"&&e[Symbol.iterator],t=0;return r?r.call(e):{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}}};Object.defineProperty(w,"__esModule",{value:!0});function ve(e){var r,t;if(e===null||typeof e!="object"||"isActiveClone"in e)return e;var n=e instanceof Date?new Date(e):e.constructor();try{for(var o=ir(Object.keys(e)),a=o.next();!a.done;a=o.next()){var i=a.value;Object.prototype.hasOwnProperty.call(e,i)&&(e.isActiveClone=null,n[i]=ve(e[i]),delete e.isActiveClone)}}catch(f){r={error:f}}finally{try{a&&!a.done&&(t=o.return)&&t.call(o)}finally{if(r)throw r.error}}return n}w.clone=ve});var K=c(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});function sr(e,r){return(e.name||r.name)+"/"+(e.storeName||r.storeName)+"/"}L.getKeyPrefix=sr});var pe=c(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});function lr(e,r){r&&e.then(function(t){r(null,t)},function(t){r(t)})}U.executeCallback=lr});var W=c(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});function cr(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}F.getCallback=cr});var ge=c(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:!0});var ur=W(),fr=K();function dr(e,r){var t=this;if(r=ur.getCallback.apply(this,arguments),e=typeof e!="function"&&e||{},!e.name){var n=this.config();e.name=e.name||n.name,e.storeName=e.storeName||n.storeName}var o;return e.name?o=new Promise(function(a){e.storeName?a(fr.getKeyPrefix(e,t._defaultConfig)):a(e.name+"/")}):o=Promise.reject("Invalid arguments"),{promise:o,callback:r}}z.dropInstanceCommon=dr});var he=c(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});function mr(e){return typeof e!="string"&&(console.warn(e+" used as a key, but it is not a string."),e=String(e)),e}G.normaliseKey=mr});var y=c(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});var A=ye(),yr=_e();v.clone=yr.clone;var vr=K();v.getKeyPrefix=vr.getKeyPrefix;var _r=pe();v.executeCallback=_r.executeCallback;var pr=W();v.getCallback=pr.getCallback;var gr=ge();v.dropInstanceCommon=gr.dropInstanceCommon;var hr=he();v.normaliseKey=hr.normaliseKey;v.serialiser={bufferToString:A.bufferToString,deserialize:A.deserialize,serialize:A.serialize,stringToBuffer:A.stringToBuffer}});var J=c(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});var C={},br=function(){function e(r){this.kp=r,this.data={}}return e.resolve=function(r){return C[r]||(C[r]=new e(r)),C[r]},e.prototype.clear=function(){this.data={}},e.prototype.drop=function(){this.clear(),delete C[this.kp]},e.prototype.get=function(r){return this.data[r]},e.prototype.key=function(r){return this.keys()[r]},e.prototype.keys=function(){return Object.keys(this.data)},e.prototype.rm=function(r){delete this.data[r]},e.prototype.set=function(r,t){this.data[r]=t},e}();Y.Store=br});var be=c(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});var H=y(),wr=J();function Ir(e){var r=e?H.clone(e):{},t=H.getKeyPrefix(r,this._defaultConfig),n=wr.Store.resolve(t);return this._dbInfo=r,this._dbInfo.serializer=H.serialiser,this._dbInfo.keyPrefix=t,this._dbInfo.mStore=n,Promise.resolve()}X._initStorage=Ir});var we=c(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});var Sr=y();function Pr(e){var r=this,t=this.ready().then(function(){r._dbInfo.mStore.clear()});return Sr.executeCallback(t,e),t}Z.clear=Pr});var Se=c(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});var Ie=y(),Ar=J();function Cr(e,r){var t=Ie.dropInstanceCommon.apply(this,arguments),n=t.promise,o=t.callback,a=n.then(function(i){Ar.Store.resolve(i).drop()});return Ie.executeCallback(a,o),n}Q.dropInstance=Cr});var Ae=c($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});var Pe=y();function Or(e,r){var t=this;e=Pe.normaliseKey(e);var n=this.ready().then(function(){var o=t._dbInfo.mStore.get(e);return o==null?null:t._dbInfo.serializer.deserialize(o)});return Pe.executeCallback(n,r),n}$.getItem=Or});var Ce=c(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});var Er=y();function Mr(e,r){var t=this,n=this.ready().then(function(){for(var o=t._dbInfo.mStore,a=o.keys(),i=0;i<a.length;i++){var f=o.get(a[i]);if(f&&(f=t._dbInfo.serializer.deserialize(f)),f=e(f,a[i],i+1),f!==void 0)return f}});return Er.executeCallback(n,r),n}ee.iterate=Mr});var Oe=c(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});var Rr=y();function xr(e,r){var t=this,n=this.ready().then(function(){var o;try{o=t._dbInfo.mStore.key(e),o===void 0&&(o=null)}catch{o=null}return o});return Rr.executeCallback(n,r),n}re.key=xr});var Ee=c(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});var Br=y();function qr(e){var r=this,t=this.ready().then(function(){return r._dbInfo.mStore.keys()});return Br.executeCallback(t,e),t}te.keys=qr});var Me=c(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});var Tr=y();function Dr(e){var r=this.keys().then(function(t){return t.length});return Tr.executeCallback(r,e),r}ne.length=Dr});var xe=c(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});var Re=y();function kr(e,r){var t=this;e=Re.normaliseKey(e);var n=this.ready().then(function(){t._dbInfo.mStore.rm(e)});return Re.executeCallback(n,r),n}oe.removeItem=kr});var qe=c(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});var Be=y();function Nr(e,r,t){var n=this;e=Be.normaliseKey(e);var o=this.ready().then(function(){r===void 0&&(r=null);var a=r;return new Promise(function(i,f){n._dbInfo.serializer.serialize(r,function(g,_){if(_)f(_);else try{n._dbInfo.mStore.set(e,g),i(a)}catch(b){f(b)}})})});return Be.executeCallback(o,t),o}ae.setItem=Nr});var Te=c(d=>{"use strict";Object.defineProperty(d,"__esModule",{value:!0});d._support=!0;var jr=le();d._driver=jr._driver;var Vr=be();d._initStorage=Vr._initStorage;var Lr=we();d.clear=Lr.clear;var Kr=Se();d.dropInstance=Kr.dropInstance;var Ur=Ae();d.getItem=Ur.getItem;var Fr=Ce();d.iterate=Fr.iterate;var Wr=Oe();d.key=Wr.key;var zr=Ee();d.keys=zr.keys;var Gr=Me();d.length=Gr.length;var Yr=xe();d.removeItem=Yr.removeItem;var Jr=qe();d.setItem=Jr.setItem});var s={};er(s,{Magic:()=>$r,useInternetConnection:()=>E});module.exports=rr(s);var xt=require("regenerator-runtime/runtime"),Ue=require("@magic-sdk/provider"),Qr=p(require("process")),Fe=p(require("localforage")),T=require("whatwg-url"),D=require("buffer"),We=p(require("lodash")),ze=require("react-native-device-info"),Ge=require("@aveq-research/localforage-asyncstorage-driver"),se=p(Te());var u=p(require("react")),x=require("react-native"),je=require("react-native-webview"),Ve=require("react-native-safe-area-context"),B=require("@magic-sdk/provider"),Le=require("lodash"),I=p(require("@react-native-async-storage/async-storage")),ie=require("react-native-event-listeners");var O=require("react"),De=p(require("@react-native-community/netinfo")),E=()=>{let[e,r]=(0,O.useState)(!0);return(0,O.useEffect)(()=>{let t=n=>{r(!!n.isConnected)};return De.default.addEventListener(t)},[]),e};var ke="MAGIC_PAYLOAD_FLAG_TYPED_ARRAY",Hr="open_in_device_browser",Xr="#FFFFFF",Ne="msg_posted_after_inactivity_event",M="lastMessageTime";function Zr(){return x.StyleSheet.create({"magic-webview":{flex:1,backgroundColor:"transparent"},"webview-container":{flex:1,width:"100%",backgroundColor:"transparent",position:"absolute",top:0,left:0,right:0,bottom:0},show:{zIndex:1e4,elevation:1e4},hide:{zIndex:-1e4,elevation:0}})}var R=class extends B.ViewController{webView;container;styles;init(){this.webView=null,this.container=null,this.styles=Zr()}Relayer=r=>{let[t,n]=(0,u.useState)(!1),[o,a]=(0,u.useState)(!0),i=E();(0,u.useEffect)(()=>{this.isConnectedToInternet=i},[i]),(0,u.useEffect)(()=>(I.default.setItem(M,""),()=>{this.isReadyForRequest=!1}),[]),(0,u.useEffect)(()=>{ie.EventRegister.addEventListener(Ne,async m=>{this.isReadyForRequest=!1,a(!1),this.post(m.msgType,m.payload),await I.default.setItem(M,new Date().toISOString())})},[]),(0,u.useEffect)(()=>{o||setTimeout(()=>a(!0),10)},[o]);let f=(0,u.useCallback)(m=>{this.webView=m},[]),g=(0,u.useCallback)(m=>{this.container={...m,showOverlay:_,hideOverlay:b}},[]),_=(0,u.useCallback)(()=>{n(!0)},[]),b=(0,u.useCallback)(()=>{n(!1)},[]),Ye=(0,u.useMemo)(()=>[this.styles["webview-container"],t?{...this.styles.show,backgroundColor:r??Xr}:this.styles.hide],[t]),Je=(0,u.useCallback)(m=>{this.handleReactNativeWebViewMessage(m)},[]);return o?u.default.createElement(Ve.SafeAreaView,{ref:g,style:Ye},u.default.createElement(je.WebView,{ref:f,source:{uri:`${this.endpoint}/send/?params=${encodeURIComponent(this.parameters)}`},onMessage:Je,style:this.styles["magic-webview"],webviewDebuggingEnabled:!0,autoManageStatusBarEnabled:!1,onShouldStartLoadWithRequest:m=>new URLSearchParams(m.url.split("?")[1]).get(Hr)?(x.Linking.openURL(m.url),!1):!0})):null};handleReactNativeWebViewMessage(r){let t=new URL(`${this.endpoint}/send/?params=${encodeURIComponent(this.parameters)}`);if(r.nativeEvent&&typeof r.nativeEvent.data=="string"&&(r.nativeEvent.url===`${this.endpoint}/send/?params=${encodeURIComponent(this.parameters)}`||r.nativeEvent.url===`${this.endpoint}/send/?params=${this.parameters}`||r.nativeEvent.title===`${t.hostname}/send/${t.search}`)){let n=JSON.parse(r.nativeEvent.data,(o,a)=>{try{if(a&&typeof a=="object"&&a.flag&&a.flag===ke)return new global[a.constructor](a.data.split(","))}catch(i){console.log("Error parsing data",i)}return a});if(n&&n.msgType&&this.messageHandlers.size){n.response=n.response??{};let o={data:n};for(let a of this.messageHandlers.values())a(o)}}}async msgPostedAfterInactivity(){let r=await I.default.getItem(M);if(r){let t=new Date(r).getTime(),n=new Date().getTime(),o=5*60*1e3;return n-t>o}return!1}hideOverlay(){this.container&&this.container.hideOverlay()}showOverlay(){this.container&&this.container.showOverlay()}async _post(r){if(await this.msgPostedAfterInactivity()){ie.EventRegister.emit(Ne,r);return}if(this.webView&&this.webView.postMessage)this.webView.postMessage(JSON.stringify(r,(t,n)=>(0,Le.isTypedArray)(n)?{constructor:n.constructor.name,data:n.toString(),flag:ke}:n),this.endpoint),I.default.setItem(M,new Date().toISOString());else throw(0,B.createModalNotReadyError)()}checkRelayerExistsInDOM(){return Promise.resolve(!0)}reloadRelayer(){return Promise.resolve(void 0)}};var Ke=require("@magic-sdk/provider"),q=class extends Ke.SDKBase{get Relayer(){return this.overlay.Relayer}};l(s,require("@magic-sdk/commons"),module.exports);global.process=We.merge(global.process,Qr);global.process.browser=!1;global.Buffer=D.Buffer;global.URL=T.URL;global.URLSearchParams=T.URLSearchParams;global.btoa=e=>D.Buffer.from(e,"binary").toString("base64");global.atob=e=>D.Buffer.from(e,"base64").toString("binary");var $r=(0,Ue.createSDK)(q,{platform:"react-native",sdkName:"@magic-sdk/react-native-bare",version:"30.4.0",bundleId:(0,ze.getBundleId)(),defaultEndpoint:"https://box.magic.link/",ViewController:R,configureStorage:async()=>{let e=Fe.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"}),r=(0,Ge.driverWithoutSerialization)();return await Promise.all([e.defineDriver(r),e.defineDriver(se)]),await e.setDriver([r._driver,se._driver]),e}});0&&(module.exports={Magic,useInternetConnection,...require("@magic-sdk/commons")});
980
2
  //# sourceMappingURL=index.js.map