react-native-nitro-storage 0.3.1 → 0.3.2
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/README.md +199 -10
- package/android/CMakeLists.txt +2 -0
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +4 -0
- package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +1 -0
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +36 -13
- package/cpp/bindings/HybridStorage.cpp +55 -9
- package/cpp/bindings/HybridStorage.hpp +19 -2
- package/cpp/core/NativeStorageAdapter.hpp +1 -0
- package/ios/IOSStorageAdapterCpp.hpp +1 -0
- package/ios/IOSStorageAdapterCpp.mm +7 -1
- package/lib/commonjs/index.js +139 -63
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +236 -89
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/storage-hooks.js +36 -0
- package/lib/commonjs/storage-hooks.js.map +1 -0
- package/lib/module/index.js +121 -60
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +219 -87
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/storage-hooks.js +30 -0
- package/lib/module/storage-hooks.js.map +1 -0
- package/lib/typescript/Storage.nitro.d.ts +2 -0
- package/lib/typescript/Storage.nitro.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +3 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +5 -3
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/storage-hooks.d.ts +10 -0
- package/lib/typescript/storage-hooks.d.ts.map +1 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +2 -0
- package/package.json +5 -3
- package/src/Storage.nitro.ts +2 -0
- package/src/index.ts +143 -83
- package/src/index.web.ts +255 -112
- package/src/storage-hooks.ts +48 -0
package/lib/commonjs/index.js
CHANGED
|
@@ -36,17 +36,38 @@ exports.removeBatch = removeBatch;
|
|
|
36
36
|
exports.runTransaction = runTransaction;
|
|
37
37
|
exports.setBatch = setBatch;
|
|
38
38
|
exports.storage = void 0;
|
|
39
|
-
exports
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
Object.defineProperty(exports, "useSetStorage", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function () {
|
|
42
|
+
return _storageHooks.useSetStorage;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
Object.defineProperty(exports, "useStorage", {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
get: function () {
|
|
48
|
+
return _storageHooks.useStorage;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
Object.defineProperty(exports, "useStorageSelector", {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
get: function () {
|
|
54
|
+
return _storageHooks.useStorageSelector;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
43
57
|
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
|
44
58
|
var _Storage = require("./Storage.types");
|
|
45
59
|
var _internal = require("./internal");
|
|
46
60
|
var _migration = require("./migration");
|
|
61
|
+
var _storageHooks = require("./storage-hooks");
|
|
47
62
|
function asInternal(item) {
|
|
48
63
|
return item;
|
|
49
64
|
}
|
|
65
|
+
function isUpdater(valueOrFn) {
|
|
66
|
+
return typeof valueOrFn === "function";
|
|
67
|
+
}
|
|
68
|
+
function typedKeys(record) {
|
|
69
|
+
return Object.keys(record);
|
|
70
|
+
}
|
|
50
71
|
const registeredMigrations = new Map();
|
|
51
72
|
const runMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : task => {
|
|
52
73
|
Promise.resolve().then(task);
|
|
@@ -258,9 +279,6 @@ const storage = exports.storage = {
|
|
|
258
279
|
}
|
|
259
280
|
clearScopeRawCache(scope);
|
|
260
281
|
getStorageModule().clear(scope);
|
|
261
|
-
if (scope === _Storage.StorageScope.Secure) {
|
|
262
|
-
getStorageModule().clearSecureBiometric();
|
|
263
|
-
}
|
|
264
282
|
},
|
|
265
283
|
clearAll: () => {
|
|
266
284
|
storage.clear(_Storage.StorageScope.Memory);
|
|
@@ -278,18 +296,12 @@ const storage = exports.storage = {
|
|
|
278
296
|
notifyAllListeners(memoryListeners);
|
|
279
297
|
return;
|
|
280
298
|
}
|
|
299
|
+
const keyPrefix = (0, _internal.prefixKey)(namespace, "");
|
|
281
300
|
if (scope === _Storage.StorageScope.Secure) {
|
|
282
301
|
flushSecureWrites();
|
|
283
302
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
if (namespacedKeys.length > 0) {
|
|
287
|
-
getStorageModule().removeBatch(namespacedKeys, scope);
|
|
288
|
-
namespacedKeys.forEach(k => cacheRawValue(scope, k, undefined));
|
|
289
|
-
if (scope === _Storage.StorageScope.Secure) {
|
|
290
|
-
namespacedKeys.forEach(k => clearPendingSecureWrite(k));
|
|
291
|
-
}
|
|
292
|
-
}
|
|
303
|
+
clearScopeRawCache(scope);
|
|
304
|
+
getStorageModule().removeByPrefix(keyPrefix, scope);
|
|
293
305
|
},
|
|
294
306
|
clearBiometric: () => {
|
|
295
307
|
getStorageModule().clearSecureBiometric();
|
|
@@ -337,6 +349,12 @@ const storage = exports.storage = {
|
|
|
337
349
|
secureDefaultAccessControl = level;
|
|
338
350
|
getStorageModule().setSecureAccessControl(level);
|
|
339
351
|
},
|
|
352
|
+
setSecureWritesAsync: enabled => {
|
|
353
|
+
getStorageModule().setSecureWritesAsync(enabled);
|
|
354
|
+
},
|
|
355
|
+
flushSecureWrites: () => {
|
|
356
|
+
flushSecureWrites();
|
|
357
|
+
},
|
|
340
358
|
setKeychainAccessGroup: group => {
|
|
341
359
|
getStorageModule().setKeychainAccessGroup(group);
|
|
342
360
|
}
|
|
@@ -344,6 +362,9 @@ const storage = exports.storage = {
|
|
|
344
362
|
function canUseRawBatchPath(item) {
|
|
345
363
|
return item._hasExpiration === false && item._hasValidation === false && item._isBiometric !== true && item._secureAccessControl === undefined;
|
|
346
364
|
}
|
|
365
|
+
function canUseSecureRawBatchPath(item) {
|
|
366
|
+
return item._hasExpiration === false && item._hasValidation === false && item._isBiometric !== true;
|
|
367
|
+
}
|
|
347
368
|
function defaultSerialize(value) {
|
|
348
369
|
return (0, _internal.serializeWithPrimitiveFastPath)(value);
|
|
349
370
|
}
|
|
@@ -365,6 +386,7 @@ function createStorageItem(config) {
|
|
|
365
386
|
const memoryExpiration = expiration && isMemory ? new Map() : null;
|
|
366
387
|
const readCache = !isMemory && config.readCache === true;
|
|
367
388
|
const coalesceSecureWrites = config.scope === _Storage.StorageScope.Secure && config.coalesceSecureWrites === true && !isBiometric && secureAccessControl === undefined;
|
|
389
|
+
const defaultValue = config.defaultValue;
|
|
368
390
|
const nonMemoryScope = config.scope === _Storage.StorageScope.Disk ? _Storage.StorageScope.Disk : config.scope === _Storage.StorageScope.Secure ? _Storage.StorageScope.Secure : null;
|
|
369
391
|
if (expiration && expiration.ttlMs <= 0) {
|
|
370
392
|
throw new Error("expiration.ttlMs must be greater than 0.");
|
|
@@ -374,10 +396,12 @@ function createStorageItem(config) {
|
|
|
374
396
|
let lastRaw = undefined;
|
|
375
397
|
let lastValue;
|
|
376
398
|
let hasLastValue = false;
|
|
399
|
+
let lastExpiresAt = undefined;
|
|
377
400
|
const invalidateParsedCache = () => {
|
|
378
401
|
lastRaw = undefined;
|
|
379
402
|
lastValue = undefined;
|
|
380
403
|
hasLastValue = false;
|
|
404
|
+
lastExpiresAt = undefined;
|
|
381
405
|
};
|
|
382
406
|
const ensureSubscription = () => {
|
|
383
407
|
if (unsubscribe) {
|
|
@@ -479,7 +503,7 @@ function createStorageItem(config) {
|
|
|
479
503
|
if (onValidationError) {
|
|
480
504
|
return onValidationError(invalidValue);
|
|
481
505
|
}
|
|
482
|
-
return
|
|
506
|
+
return defaultValue;
|
|
483
507
|
};
|
|
484
508
|
const ensureValidatedValue = (candidate, hadStoredValue) => {
|
|
485
509
|
if (!validate || validate(candidate)) {
|
|
@@ -487,7 +511,7 @@ function createStorageItem(config) {
|
|
|
487
511
|
}
|
|
488
512
|
const resolved = resolveInvalidValue(candidate);
|
|
489
513
|
if (validate && !validate(resolved)) {
|
|
490
|
-
return
|
|
514
|
+
return defaultValue;
|
|
491
515
|
}
|
|
492
516
|
if (hadStoredValue) {
|
|
493
517
|
writeValueWithoutValidation(resolved);
|
|
@@ -496,31 +520,53 @@ function createStorageItem(config) {
|
|
|
496
520
|
};
|
|
497
521
|
const get = () => {
|
|
498
522
|
const raw = readStoredRaw();
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
523
|
+
if (!memoryExpiration && raw === lastRaw && hasLastValue) {
|
|
524
|
+
if (!expiration || lastExpiresAt === null) {
|
|
525
|
+
return lastValue;
|
|
526
|
+
}
|
|
527
|
+
if (typeof lastExpiresAt === "number") {
|
|
528
|
+
if (lastExpiresAt > Date.now()) {
|
|
529
|
+
return lastValue;
|
|
530
|
+
}
|
|
531
|
+
removeStoredRaw();
|
|
532
|
+
invalidateParsedCache();
|
|
533
|
+
onExpired?.(storageKey);
|
|
534
|
+
lastValue = ensureValidatedValue(defaultValue, false);
|
|
535
|
+
hasLastValue = true;
|
|
536
|
+
return lastValue;
|
|
537
|
+
}
|
|
502
538
|
}
|
|
503
539
|
lastRaw = raw;
|
|
504
540
|
if (raw === undefined) {
|
|
505
|
-
|
|
541
|
+
lastExpiresAt = undefined;
|
|
542
|
+
lastValue = ensureValidatedValue(defaultValue, false);
|
|
506
543
|
hasLastValue = true;
|
|
507
544
|
return lastValue;
|
|
508
545
|
}
|
|
509
546
|
if (isMemory) {
|
|
547
|
+
lastExpiresAt = undefined;
|
|
510
548
|
lastValue = ensureValidatedValue(raw, true);
|
|
511
549
|
hasLastValue = true;
|
|
512
550
|
return lastValue;
|
|
513
551
|
}
|
|
552
|
+
if (typeof raw !== "string") {
|
|
553
|
+
lastExpiresAt = undefined;
|
|
554
|
+
lastValue = ensureValidatedValue(defaultValue, false);
|
|
555
|
+
hasLastValue = true;
|
|
556
|
+
return lastValue;
|
|
557
|
+
}
|
|
514
558
|
let deserializableRaw = raw;
|
|
515
559
|
if (expiration) {
|
|
560
|
+
let envelopeExpiresAt = null;
|
|
516
561
|
try {
|
|
517
562
|
const parsed = JSON.parse(raw);
|
|
518
563
|
if ((0, _internal.isStoredEnvelope)(parsed)) {
|
|
564
|
+
envelopeExpiresAt = parsed.expiresAt;
|
|
519
565
|
if (parsed.expiresAt <= Date.now()) {
|
|
520
566
|
removeStoredRaw();
|
|
521
567
|
invalidateParsedCache();
|
|
522
568
|
onExpired?.(storageKey);
|
|
523
|
-
lastValue = ensureValidatedValue(
|
|
569
|
+
lastValue = ensureValidatedValue(defaultValue, false);
|
|
524
570
|
hasLastValue = true;
|
|
525
571
|
return lastValue;
|
|
526
572
|
}
|
|
@@ -529,14 +575,16 @@ function createStorageItem(config) {
|
|
|
529
575
|
} catch {
|
|
530
576
|
// Keep backward compatibility with legacy raw values.
|
|
531
577
|
}
|
|
578
|
+
lastExpiresAt = envelopeExpiresAt;
|
|
579
|
+
} else {
|
|
580
|
+
lastExpiresAt = undefined;
|
|
532
581
|
}
|
|
533
582
|
lastValue = ensureValidatedValue(deserialize(deserializableRaw), true);
|
|
534
583
|
hasLastValue = true;
|
|
535
584
|
return lastValue;
|
|
536
585
|
};
|
|
537
586
|
const set = valueOrFn => {
|
|
538
|
-
const
|
|
539
|
-
const newValue = typeof valueOrFn === "function" ? valueOrFn(currentValue) : valueOrFn;
|
|
587
|
+
const newValue = isUpdater(valueOrFn) ? valueOrFn(get()) : valueOrFn;
|
|
540
588
|
invalidateParsedCache();
|
|
541
589
|
if (validate && !validate(newValue)) {
|
|
542
590
|
throw new Error(`Validation failed for key "${storageKey}" in scope "${_Storage.StorageScope[config.scope]}".`);
|
|
@@ -590,44 +638,20 @@ function createStorageItem(config) {
|
|
|
590
638
|
_hasExpiration: expiration !== undefined,
|
|
591
639
|
_readCacheEnabled: readCache,
|
|
592
640
|
_isBiometric: isBiometric,
|
|
593
|
-
|
|
641
|
+
...(secureAccessControl !== undefined ? {
|
|
642
|
+
_secureAccessControl: secureAccessControl
|
|
643
|
+
} : {}),
|
|
594
644
|
scope: config.scope,
|
|
595
645
|
key: storageKey
|
|
596
646
|
};
|
|
597
647
|
return storageItem;
|
|
598
648
|
}
|
|
599
|
-
function useStorage(item) {
|
|
600
|
-
const value = (0, _react.useSyncExternalStore)(item.subscribe, item.get, item.get);
|
|
601
|
-
return [value, item.set];
|
|
602
|
-
}
|
|
603
|
-
function useStorageSelector(item, selector, isEqual = Object.is) {
|
|
604
|
-
const selectedRef = (0, _react.useRef)({
|
|
605
|
-
hasValue: false
|
|
606
|
-
});
|
|
607
|
-
const getSelectedSnapshot = () => {
|
|
608
|
-
const nextSelected = selector(item.get());
|
|
609
|
-
const current = selectedRef.current;
|
|
610
|
-
if (current.hasValue && isEqual(current.value, nextSelected)) {
|
|
611
|
-
return current.value;
|
|
612
|
-
}
|
|
613
|
-
selectedRef.current = {
|
|
614
|
-
hasValue: true,
|
|
615
|
-
value: nextSelected
|
|
616
|
-
};
|
|
617
|
-
return nextSelected;
|
|
618
|
-
};
|
|
619
|
-
const selectedValue = (0, _react.useSyncExternalStore)(item.subscribe, getSelectedSnapshot, getSelectedSnapshot);
|
|
620
|
-
return [selectedValue, item.set];
|
|
621
|
-
}
|
|
622
|
-
function useSetStorage(item) {
|
|
623
|
-
return item.set;
|
|
624
|
-
}
|
|
625
649
|
function getBatch(items, scope) {
|
|
626
650
|
(0, _internal.assertBatchScope)(items, scope);
|
|
627
651
|
if (scope === _Storage.StorageScope.Memory) {
|
|
628
652
|
return items.map(item => item.get());
|
|
629
653
|
}
|
|
630
|
-
const useRawBatchPath = items.every(item => canUseRawBatchPath(item));
|
|
654
|
+
const useRawBatchPath = items.every(item => scope === _Storage.StorageScope.Secure ? canUseSecureRawBatchPath(item) : canUseRawBatchPath(item));
|
|
631
655
|
if (!useRawBatchPath) {
|
|
632
656
|
return items.map(item => item.get());
|
|
633
657
|
}
|
|
@@ -656,6 +680,9 @@ function getBatch(items, scope) {
|
|
|
656
680
|
fetchedValues.forEach((value, index) => {
|
|
657
681
|
const key = keysToFetch[index];
|
|
658
682
|
const targetIndex = keyIndexes[index];
|
|
683
|
+
if (key === undefined || targetIndex === undefined) {
|
|
684
|
+
return;
|
|
685
|
+
}
|
|
659
686
|
rawValues[targetIndex] = value;
|
|
660
687
|
cacheRawValue(scope, key, value);
|
|
661
688
|
});
|
|
@@ -677,6 +704,52 @@ function setBatch(items, scope) {
|
|
|
677
704
|
}) => item.set(value));
|
|
678
705
|
return;
|
|
679
706
|
}
|
|
707
|
+
if (scope === _Storage.StorageScope.Secure) {
|
|
708
|
+
const secureEntries = items.map(({
|
|
709
|
+
item,
|
|
710
|
+
value
|
|
711
|
+
}) => ({
|
|
712
|
+
item,
|
|
713
|
+
value,
|
|
714
|
+
internal: asInternal(item)
|
|
715
|
+
}));
|
|
716
|
+
const canUseSecureBatchPath = secureEntries.every(({
|
|
717
|
+
internal
|
|
718
|
+
}) => canUseSecureRawBatchPath(internal));
|
|
719
|
+
if (!canUseSecureBatchPath) {
|
|
720
|
+
items.forEach(({
|
|
721
|
+
item,
|
|
722
|
+
value
|
|
723
|
+
}) => item.set(value));
|
|
724
|
+
return;
|
|
725
|
+
}
|
|
726
|
+
flushSecureWrites();
|
|
727
|
+
const storageModule = getStorageModule();
|
|
728
|
+
const groupedByAccessControl = new Map();
|
|
729
|
+
secureEntries.forEach(({
|
|
730
|
+
item,
|
|
731
|
+
value,
|
|
732
|
+
internal
|
|
733
|
+
}) => {
|
|
734
|
+
const accessControl = internal._secureAccessControl ?? secureDefaultAccessControl;
|
|
735
|
+
const existingGroup = groupedByAccessControl.get(accessControl);
|
|
736
|
+
const group = existingGroup ?? {
|
|
737
|
+
keys: [],
|
|
738
|
+
values: []
|
|
739
|
+
};
|
|
740
|
+
group.keys.push(item.key);
|
|
741
|
+
group.values.push(item.serialize(value));
|
|
742
|
+
if (!existingGroup) {
|
|
743
|
+
groupedByAccessControl.set(accessControl, group);
|
|
744
|
+
}
|
|
745
|
+
});
|
|
746
|
+
groupedByAccessControl.forEach((group, accessControl) => {
|
|
747
|
+
storageModule.setSecureAccessControl(accessControl);
|
|
748
|
+
storageModule.setBatch(group.keys, group.values, scope);
|
|
749
|
+
group.keys.forEach((key, index) => cacheRawValue(scope, key, group.values[index]));
|
|
750
|
+
});
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
680
753
|
const useRawBatchPath = items.every(({
|
|
681
754
|
item
|
|
682
755
|
}) => canUseRawBatchPath(asInternal(item)));
|
|
@@ -689,10 +762,6 @@ function setBatch(items, scope) {
|
|
|
689
762
|
}
|
|
690
763
|
const keys = items.map(entry => entry.item.key);
|
|
691
764
|
const values = items.map(entry => entry.item.serialize(entry.value));
|
|
692
|
-
if (scope === _Storage.StorageScope.Secure) {
|
|
693
|
-
flushSecureWrites();
|
|
694
|
-
getStorageModule().setSecureAccessControl(secureDefaultAccessControl);
|
|
695
|
-
}
|
|
696
765
|
getStorageModule().setBatch(keys, values, scope);
|
|
697
766
|
keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
|
|
698
767
|
}
|
|
@@ -794,18 +863,25 @@ function runTransaction(scope, transaction) {
|
|
|
794
863
|
function createSecureAuthStorage(config, options) {
|
|
795
864
|
const ns = options?.namespace ?? "auth";
|
|
796
865
|
const result = {};
|
|
797
|
-
for (const key of
|
|
866
|
+
for (const key of typedKeys(config)) {
|
|
798
867
|
const itemConfig = config[key];
|
|
868
|
+
const expirationConfig = itemConfig.ttlMs !== undefined ? {
|
|
869
|
+
ttlMs: itemConfig.ttlMs
|
|
870
|
+
} : undefined;
|
|
799
871
|
result[key] = createStorageItem({
|
|
800
872
|
key,
|
|
801
873
|
scope: _Storage.StorageScope.Secure,
|
|
802
874
|
defaultValue: "",
|
|
803
875
|
namespace: ns,
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
876
|
+
...(itemConfig.biometric !== undefined ? {
|
|
877
|
+
biometric: itemConfig.biometric
|
|
878
|
+
} : {}),
|
|
879
|
+
...(itemConfig.accessControl !== undefined ? {
|
|
880
|
+
accessControl: itemConfig.accessControl
|
|
881
|
+
} : {}),
|
|
882
|
+
...(expirationConfig !== undefined ? {
|
|
883
|
+
expiration: expirationConfig
|
|
884
|
+
} : {})
|
|
809
885
|
});
|
|
810
886
|
}
|
|
811
887
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeNitroModules","_Storage","_internal","_migration","asInternal","item","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","memoryListeners","scopedListeners","StorageScope","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","getScopedListeners","scope","get","getScopeRawCache","cacheRawValue","key","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","undefined","push","storageModule","setSecureAccessControl","length","setBatch","removeBatch","scheduleSecureWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","remove","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","exports","clearSecureBiometric","clearAll","clearNamespace","namespace","keys","isNamespaced","getAllKeys","namespacedKeys","filter","k","clearBiometric","getAll","result","getBatch","idx","val","decodeNativeBatchValue","setAccessControl","level","setKeychainAccessGroup","group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","storageKey","prefixKey","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometric","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","defaultValue","ensureValidatedValue","candidate","hadStoredValue","resolved","canUseCachedValue","deserializableRaw","parse","isStoredEnvelope","valueOrFn","currentValue","newValue","deleteItem","hasItem","hasSecureBiometric","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useSyncExternalStore","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","items","assertBatchScope","map","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","index","fetchedValues","targetIndex","batchEntry","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","entries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_Storage","_internal","_migration","_storageHooks","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","memoryListeners","scopedListeners","StorageScope","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","getScopedListeners","scope","get","getScopeRawCache","cacheRawValue","key","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","undefined","push","storageModule","setSecureAccessControl","length","setBatch","removeBatch","scheduleSecureWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","remove","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getAll","result","getBatch","idx","val","decodeNativeBatchValue","setAccessControl","level","setSecureWritesAsync","enabled","setKeychainAccessGroup","group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","storageKey","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometric","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","newValue","deleteItem","hasItem","hasSecureBiometric","subscribe","storageItem","_triggerListeners","_readCacheEnabled","items","assertBatchScope","map","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","index","fetchedValues","targetIndex","batchEntry","secureEntries","internal","canUseSecureBatchPath","groupedByAccessControl","existingGroup","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","filter","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","entries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|