react-native-nitro-storage 0.5.3 → 0.5.5
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/.watchmanconfig +6 -0
- package/README.md +45 -5
- package/android/build.gradle +5 -5
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +12 -25
- package/app.plugin.js +114 -9
- package/docs/api-reference.md +39 -36
- package/docs/batch-transactions-migrations.md +1 -1
- package/docs/recipes.md +1 -1
- package/docs/secure-storage.md +15 -4
- package/docs/web-backends.md +5 -0
- package/lib/commonjs/index.js +129 -27
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +169 -32
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/indexeddb-backend.js +28 -0
- package/lib/commonjs/indexeddb-backend.js.map +1 -1
- package/lib/commonjs/web-storage-backend.js.map +1 -1
- package/lib/module/index.js +129 -27
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +169 -32
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/indexeddb-backend.js +28 -0
- package/lib/module/indexeddb-backend.js.map +1 -1
- package/lib/module/web-storage-backend.js.map +1 -1
- package/lib/typescript/index.d.ts +10 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +10 -3
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
- package/lib/typescript/web-storage-backend.d.ts +1 -0
- package/lib/typescript/web-storage-backend.d.ts.map +1 -1
- package/package.json +5 -3
- package/src/index.ts +197 -32
- package/src/index.web.ts +250 -37
- package/src/indexeddb-backend.ts +30 -0
- package/src/web-storage-backend.ts +1 -0
package/lib/commonjs/index.js
CHANGED
|
@@ -89,6 +89,20 @@ function isUpdater(valueOrFn) {
|
|
|
89
89
|
function typedKeys(record) {
|
|
90
90
|
return Object.keys(record);
|
|
91
91
|
}
|
|
92
|
+
function assertEnumInteger(value, min, max, label) {
|
|
93
|
+
if (!Number.isFinite(value) || value < min || value > max) {
|
|
94
|
+
throw new Error(`NitroStorage: Invalid ${label}`);
|
|
95
|
+
}
|
|
96
|
+
if (value !== Math.trunc(value)) {
|
|
97
|
+
throw new Error(`NitroStorage: Invalid ${label}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function assertAccessControlLevel(level) {
|
|
101
|
+
assertEnumInteger(level, 0, 4, "access control level");
|
|
102
|
+
}
|
|
103
|
+
function assertBiometricLevel(level) {
|
|
104
|
+
assertEnumInteger(level, 0, 2, "biometric level");
|
|
105
|
+
}
|
|
92
106
|
const registeredMigrations = new Map();
|
|
93
107
|
const runMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : task => {
|
|
94
108
|
Promise.resolve().then(task);
|
|
@@ -115,6 +129,7 @@ let secureDefaultAccessControl = _Storage.AccessControl.WhenUnlocked;
|
|
|
115
129
|
const suppressedNativeEvents = new Map([[_Storage.StorageScope.Disk, new Map()], [_Storage.StorageScope.Secure, new Map()]]);
|
|
116
130
|
let metricsObserver;
|
|
117
131
|
let eventObserver;
|
|
132
|
+
let eventObserverRedactSecureValues = true;
|
|
118
133
|
const metricsCounters = new Map();
|
|
119
134
|
const storageEvents = new _storageEvents.StorageEventRegistry();
|
|
120
135
|
const nativeSecureBackend = "platform-secure-storage";
|
|
@@ -238,13 +253,45 @@ function createKeyChange(scope, key, oldValue, newValue, operation, source) {
|
|
|
238
253
|
function hasStorageChangeObservers(scope) {
|
|
239
254
|
return storageEvents.hasListeners(scope) || eventObserver !== undefined;
|
|
240
255
|
}
|
|
256
|
+
function shouldReadPreviousEventValues(scope) {
|
|
257
|
+
if (storageEvents.hasListeners(scope)) {
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
if (!eventObserver) {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
return scope !== _Storage.StorageScope.Secure || !eventObserverRedactSecureValues;
|
|
264
|
+
}
|
|
265
|
+
const SECURE_EVENT_REDACTED_VALUE = "[secure]";
|
|
266
|
+
function redactSecureKeyChange(event) {
|
|
267
|
+
if (event.scope !== _Storage.StorageScope.Secure) {
|
|
268
|
+
return event;
|
|
269
|
+
}
|
|
270
|
+
return {
|
|
271
|
+
...event,
|
|
272
|
+
oldValue: event.oldValue === undefined ? undefined : SECURE_EVENT_REDACTED_VALUE,
|
|
273
|
+
newValue: event.newValue === undefined ? undefined : SECURE_EVENT_REDACTED_VALUE
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
function eventForGlobalObserver(event) {
|
|
277
|
+
if (!eventObserverRedactSecureValues || event.scope !== _Storage.StorageScope.Secure) {
|
|
278
|
+
return event;
|
|
279
|
+
}
|
|
280
|
+
if (event.type === "key") {
|
|
281
|
+
return redactSecureKeyChange(event);
|
|
282
|
+
}
|
|
283
|
+
return {
|
|
284
|
+
...event,
|
|
285
|
+
changes: event.changes.map(redactSecureKeyChange)
|
|
286
|
+
};
|
|
287
|
+
}
|
|
241
288
|
function emitKeyChange(scope, key, oldValue, newValue, operation, source) {
|
|
242
289
|
if (source === "native" && operation !== "external" && scope !== _Storage.StorageScope.Memory && scopedUnsubscribers.has(scope)) {
|
|
243
290
|
suppressNativeEvent(scope, key);
|
|
244
291
|
}
|
|
245
292
|
const event = createKeyChange(scope, key, oldValue, newValue, operation, source);
|
|
246
293
|
storageEvents.emitKey(event);
|
|
247
|
-
eventObserver?.(event);
|
|
294
|
+
eventObserver?.(eventForGlobalObserver(event));
|
|
248
295
|
}
|
|
249
296
|
function emitBatchChange(scope, operation, source, changes) {
|
|
250
297
|
if (changes.length === 0) {
|
|
@@ -261,7 +308,7 @@ function emitBatchChange(scope, operation, source, changes) {
|
|
|
261
308
|
changes
|
|
262
309
|
};
|
|
263
310
|
storageEvents.emitBatch(event);
|
|
264
|
-
eventObserver?.(event);
|
|
311
|
+
eventObserver?.(eventForGlobalObserver(event));
|
|
265
312
|
}
|
|
266
313
|
function readPendingSecureWrite(key) {
|
|
267
314
|
return pendingSecureWrites.get(key)?.value;
|
|
@@ -541,8 +588,9 @@ const storage = exports.storage = {
|
|
|
541
588
|
subscribeNamespace: (namespace, scope, listener) => {
|
|
542
589
|
return storage.subscribePrefix(scope, (0, _internal.prefixKey)(namespace, ""), listener);
|
|
543
590
|
},
|
|
544
|
-
setEventObserver: observer => {
|
|
591
|
+
setEventObserver: (observer, options = {}) => {
|
|
545
592
|
eventObserver = observer;
|
|
593
|
+
eventObserverRedactSecureValues = options.redactSecureValues !== false;
|
|
546
594
|
if (observer) {
|
|
547
595
|
ensureNativeScopeSubscription(_Storage.StorageScope.Disk);
|
|
548
596
|
ensureNativeScopeSubscription(_Storage.StorageScope.Secure);
|
|
@@ -553,7 +601,7 @@ const storage = exports.storage = {
|
|
|
553
601
|
},
|
|
554
602
|
clear: scope => {
|
|
555
603
|
measureOperation("storage:clear", scope, () => {
|
|
556
|
-
const previousValues =
|
|
604
|
+
const previousValues = shouldReadPreviousEventValues(scope) ? storage.getAll(scope) : {};
|
|
557
605
|
if (scope === _Storage.StorageScope.Memory) {
|
|
558
606
|
memoryStore.clear();
|
|
559
607
|
notifyAllListeners(memoryListeners);
|
|
@@ -603,7 +651,7 @@ const storage = exports.storage = {
|
|
|
603
651
|
return;
|
|
604
652
|
}
|
|
605
653
|
const keyPrefix = (0, _internal.prefixKey)(namespace, "");
|
|
606
|
-
const previousValues =
|
|
654
|
+
const previousValues = shouldReadPreviousEventValues(scope) ? storage.getByPrefix(keyPrefix, scope) : {};
|
|
607
655
|
if (scope === _Storage.StorageScope.Disk) {
|
|
608
656
|
flushDiskWrites();
|
|
609
657
|
}
|
|
@@ -729,9 +777,15 @@ const storage = exports.storage = {
|
|
|
729
777
|
return result;
|
|
730
778
|
});
|
|
731
779
|
},
|
|
732
|
-
export: scope => {
|
|
780
|
+
export: (scope, options = {}) => {
|
|
781
|
+
if (scope === _Storage.StorageScope.Secure && options.includeSecureValues !== true) {
|
|
782
|
+
throw new Error("NitroStorage: exporting Secure scope exposes raw secret values. Pass { includeSecureValues: true } or use exportSecureUnsafe().");
|
|
783
|
+
}
|
|
733
784
|
return measureOperation("storage:export", scope, () => storage.getAll(scope));
|
|
734
785
|
},
|
|
786
|
+
exportSecureUnsafe: () => {
|
|
787
|
+
return measureOperation("storage:exportSecureUnsafe", _Storage.StorageScope.Secure, () => storage.getAll(_Storage.StorageScope.Secure));
|
|
788
|
+
},
|
|
735
789
|
size: scope => {
|
|
736
790
|
return measureOperation("storage:size", scope, () => {
|
|
737
791
|
(0, _internal.assertValidScope)(scope);
|
|
@@ -749,6 +803,7 @@ const storage = exports.storage = {
|
|
|
749
803
|
},
|
|
750
804
|
setAccessControl: level => {
|
|
751
805
|
measureOperation("storage:setAccessControl", _Storage.StorageScope.Secure, () => {
|
|
806
|
+
assertAccessControlLevel(level);
|
|
752
807
|
secureDefaultAccessControl = level;
|
|
753
808
|
getStorageModule().setSecureAccessControl(level);
|
|
754
809
|
});
|
|
@@ -949,6 +1004,12 @@ function createStorageItem(config) {
|
|
|
949
1004
|
if (expiration && expiration.ttlMs <= 0) {
|
|
950
1005
|
throw new Error("expiration.ttlMs must be greater than 0.");
|
|
951
1006
|
}
|
|
1007
|
+
if (config.scope === _Storage.StorageScope.Secure) {
|
|
1008
|
+
assertBiometricLevel(resolvedBiometricLevel);
|
|
1009
|
+
if (secureAccessControl !== undefined) {
|
|
1010
|
+
assertAccessControlLevel(secureAccessControl);
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
952
1013
|
const listeners = new Set();
|
|
953
1014
|
let unsubscribe = null;
|
|
954
1015
|
let lastRaw = undefined;
|
|
@@ -1292,6 +1353,7 @@ function createStorageItem(config) {
|
|
|
1292
1353
|
_hasExpiration: expiration !== undefined,
|
|
1293
1354
|
_readCacheEnabled: readCache,
|
|
1294
1355
|
_isBiometric: isBiometric,
|
|
1356
|
+
_biometricLevel: resolvedBiometricLevel,
|
|
1295
1357
|
_defaultValue: defaultValue,
|
|
1296
1358
|
...(secureAccessControl !== undefined ? {
|
|
1297
1359
|
_secureAccessControl: secureAccessControl
|
|
@@ -1423,7 +1485,7 @@ function setBatch(items, scope) {
|
|
|
1423
1485
|
const keys = secureEntries.map(({
|
|
1424
1486
|
item
|
|
1425
1487
|
}) => item.key);
|
|
1426
|
-
const oldValues =
|
|
1488
|
+
const oldValues = shouldReadPreviousEventValues(scope) ? storageModule.getBatch(keys, scope) ?? [] : [];
|
|
1427
1489
|
const groupedByAccessControl = new Map();
|
|
1428
1490
|
secureEntries.forEach(({
|
|
1429
1491
|
item,
|
|
@@ -1466,7 +1528,7 @@ function setBatch(items, scope) {
|
|
|
1466
1528
|
}
|
|
1467
1529
|
const keys = items.map(entry => entry.item.key);
|
|
1468
1530
|
const values = items.map(entry => entry.item.serialize(entry.value));
|
|
1469
|
-
const oldValues =
|
|
1531
|
+
const oldValues = shouldReadPreviousEventValues(scope) ? getStorageModule().getBatch(keys, scope) ?? [] : [];
|
|
1470
1532
|
getStorageModule().setBatch(keys, values, scope);
|
|
1471
1533
|
keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
|
|
1472
1534
|
emitBatchChange(scope, "setBatch", "native", keys.map((key, index) => createKeyChange(scope, key, oldValues[index], values[index], "setBatch", "native")));
|
|
@@ -1488,7 +1550,7 @@ function removeBatch(items, scope) {
|
|
|
1488
1550
|
if (scope === _Storage.StorageScope.Secure) {
|
|
1489
1551
|
flushSecureWrites();
|
|
1490
1552
|
}
|
|
1491
|
-
const oldValues =
|
|
1553
|
+
const oldValues = shouldReadPreviousEventValues(scope) ? getStorageModule().getBatch(keys, scope) ?? [] : [];
|
|
1492
1554
|
getStorageModule().removeBatch(keys, scope);
|
|
1493
1555
|
keys.forEach(key => cacheRawValue(scope, key, undefined));
|
|
1494
1556
|
emitBatchChange(scope, "removeBatch", "native", keys.map((key, index) => createKeyChange(scope, key, oldValues[index], undefined, "removeBatch", "native")));
|
|
@@ -1540,14 +1602,32 @@ function runTransaction(scope, transaction) {
|
|
|
1540
1602
|
}
|
|
1541
1603
|
const NOT_SET = Symbol();
|
|
1542
1604
|
const rollback = new Map();
|
|
1543
|
-
const rememberRollback = key => {
|
|
1605
|
+
const rememberRollback = (key, item) => {
|
|
1544
1606
|
if (rollback.has(key)) {
|
|
1545
1607
|
return;
|
|
1546
1608
|
}
|
|
1547
1609
|
if (scope === _Storage.StorageScope.Memory) {
|
|
1548
|
-
rollback.set(key,
|
|
1610
|
+
rollback.set(key, {
|
|
1611
|
+
kind: "memory",
|
|
1612
|
+
value: memoryStore.has(key) ? memoryStore.get(key) : NOT_SET
|
|
1613
|
+
});
|
|
1549
1614
|
} else {
|
|
1550
|
-
|
|
1615
|
+
const internal = item ? item : undefined;
|
|
1616
|
+
if (scope === _Storage.StorageScope.Secure && internal?._isBiometric === true) {
|
|
1617
|
+
rollback.set(key, {
|
|
1618
|
+
kind: "biometric",
|
|
1619
|
+
value: getStorageModule().getSecureBiometric(key),
|
|
1620
|
+
level: internal._biometricLevel
|
|
1621
|
+
});
|
|
1622
|
+
return;
|
|
1623
|
+
}
|
|
1624
|
+
rollback.set(key, {
|
|
1625
|
+
kind: "raw",
|
|
1626
|
+
value: getRawValue(key, scope),
|
|
1627
|
+
...(scope === _Storage.StorageScope.Secure && internal?._secureAccessControl !== undefined ? {
|
|
1628
|
+
accessControl: internal._secureAccessControl
|
|
1629
|
+
} : {})
|
|
1630
|
+
});
|
|
1551
1631
|
}
|
|
1552
1632
|
};
|
|
1553
1633
|
const tx = {
|
|
@@ -1567,12 +1647,12 @@ function runTransaction(scope, transaction) {
|
|
|
1567
1647
|
},
|
|
1568
1648
|
setItem: (item, value) => {
|
|
1569
1649
|
(0, _internal.assertBatchScope)([item], scope);
|
|
1570
|
-
rememberRollback(item.key);
|
|
1650
|
+
rememberRollback(item.key, item);
|
|
1571
1651
|
item.set(value);
|
|
1572
1652
|
},
|
|
1573
1653
|
removeItem: item => {
|
|
1574
1654
|
(0, _internal.assertBatchScope)([item], scope);
|
|
1575
|
-
rememberRollback(item.key);
|
|
1655
|
+
rememberRollback(item.key, item);
|
|
1576
1656
|
item.delete();
|
|
1577
1657
|
}
|
|
1578
1658
|
};
|
|
@@ -1581,24 +1661,43 @@ function runTransaction(scope, transaction) {
|
|
|
1581
1661
|
} catch (error) {
|
|
1582
1662
|
const rollbackEntries = Array.from(rollback.entries()).reverse();
|
|
1583
1663
|
if (scope === _Storage.StorageScope.Memory) {
|
|
1584
|
-
rollbackEntries.forEach(([key,
|
|
1585
|
-
if (
|
|
1664
|
+
rollbackEntries.forEach(([key, record]) => {
|
|
1665
|
+
if (record.value === NOT_SET) {
|
|
1586
1666
|
memoryStore.delete(key);
|
|
1587
1667
|
} else {
|
|
1588
|
-
memoryStore.set(key,
|
|
1668
|
+
memoryStore.set(key, record.value);
|
|
1589
1669
|
}
|
|
1590
1670
|
notifyKeyListeners(memoryListeners, key);
|
|
1591
1671
|
});
|
|
1592
1672
|
} else {
|
|
1593
|
-
const
|
|
1594
|
-
const valuesToSet = [];
|
|
1673
|
+
const groupedKeysToSet = new Map();
|
|
1595
1674
|
const keysToRemove = [];
|
|
1596
|
-
rollbackEntries.forEach(([key,
|
|
1597
|
-
if (
|
|
1675
|
+
rollbackEntries.forEach(([key, record]) => {
|
|
1676
|
+
if (record.kind === "biometric") {
|
|
1677
|
+
if (record.value === undefined) {
|
|
1678
|
+
getStorageModule().deleteSecureBiometric(key);
|
|
1679
|
+
} else {
|
|
1680
|
+
getStorageModule().setSecureBiometricWithLevel(key, record.value, record.level);
|
|
1681
|
+
}
|
|
1682
|
+
return;
|
|
1683
|
+
}
|
|
1684
|
+
if (record.kind !== "raw") {
|
|
1685
|
+
return;
|
|
1686
|
+
}
|
|
1687
|
+
if (record.value === undefined) {
|
|
1598
1688
|
keysToRemove.push(key);
|
|
1599
1689
|
} else {
|
|
1600
|
-
|
|
1601
|
-
|
|
1690
|
+
const accessControl = record.accessControl ?? secureDefaultAccessControl;
|
|
1691
|
+
const existingGroup = groupedKeysToSet.get(accessControl);
|
|
1692
|
+
const group = existingGroup ?? {
|
|
1693
|
+
keys: [],
|
|
1694
|
+
values: []
|
|
1695
|
+
};
|
|
1696
|
+
group.keys.push(key);
|
|
1697
|
+
group.values.push(record.value);
|
|
1698
|
+
if (!existingGroup) {
|
|
1699
|
+
groupedKeysToSet.set(accessControl, group);
|
|
1700
|
+
}
|
|
1602
1701
|
}
|
|
1603
1702
|
});
|
|
1604
1703
|
if (scope === _Storage.StorageScope.Disk) {
|
|
@@ -1607,10 +1706,13 @@ function runTransaction(scope, transaction) {
|
|
|
1607
1706
|
if (scope === _Storage.StorageScope.Secure) {
|
|
1608
1707
|
flushSecureWrites();
|
|
1609
1708
|
}
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1709
|
+
groupedKeysToSet.forEach((group, accessControl) => {
|
|
1710
|
+
if (scope === _Storage.StorageScope.Secure) {
|
|
1711
|
+
getStorageModule().setSecureAccessControl(accessControl);
|
|
1712
|
+
}
|
|
1713
|
+
getStorageModule().setBatch(group.keys, group.values, scope);
|
|
1714
|
+
group.keys.forEach((key, index) => cacheRawValue(scope, key, group.values[index]));
|
|
1715
|
+
});
|
|
1614
1716
|
if (keysToRemove.length > 0) {
|
|
1615
1717
|
getStorageModule().removeBatch(keysToRemove, scope);
|
|
1616
1718
|
keysToRemove.forEach(key => cacheRawValue(scope, key, undefined));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeNitroModules","require","_Storage","_internal","_storageRuntime","_storageEvents","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","memoryListeners","scopedListeners","StorageScope","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","suppressedNativeEvents","metricsObserver","eventObserver","metricsCounters","storageEvents","StorageEventRegistry","nativeSecureBackend","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","value","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","undefined","delete","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","size","getEventRawValue","Memory","getRawValue","createKeyChange","oldValue","newValue","source","type","hasStorageChangeObservers","hasListeners","emitKeyChange","event","emitKey","emitBatchChange","changes","length","forEach","change","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","push","storageModule","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","assertValidScope","setRawValue","removeRawValue","remove","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","exports","subscribe","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","prefixKey","setEventObserver","observer","previousValues","getAll","map","clearAll","clearNamespace","affectedKeys","filter","isNamespaced","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","startsWith","result","getBatch","idx","decodeNativeBatchValue","val","export","setAccessControl","level","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","hasSecureBiometric","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","BiometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribeSelector","selector","options","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","items","assertBatchScope","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","isKeychainLockedError","err","isLockedStorageErrorCode","getStorageErrorCode","createSecureAuthStorage","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_Storage","_internal","_storageRuntime","_storageEvents","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","assertEnumInteger","value","min","max","label","Number","isFinite","Error","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","memoryListeners","scopedListeners","StorageScope","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","suppressedNativeEvents","metricsObserver","eventObserver","eventObserverRedactSecureValues","metricsCounters","storageEvents","StorageEventRegistry","nativeSecureBackend","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","undefined","delete","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","size","getEventRawValue","Memory","getRawValue","createKeyChange","oldValue","newValue","source","type","hasStorageChangeObservers","hasListeners","shouldReadPreviousEventValues","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","eventForGlobalObserver","changes","map","emitKeyChange","emitKey","emitBatchChange","length","forEach","change","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","push","storageModule","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","assertValidScope","setRawValue","removeRawValue","remove","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","parseInt","writeMigrationVersion","version","String","storage","exports","subscribe","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","prefixKey","setEventObserver","observer","options","redactSecureValues","previousValues","getAll","clearAll","clearNamespace","affectedKeys","filter","isNamespaced","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","startsWith","result","getBatch","idx","decodeNativeBatchValue","val","export","includeSecureValues","exportSecureUnsafe","setAccessControl","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","hasSecureBiometric","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","BiometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_biometricLevel","_defaultValue","items","assertBatchScope","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","groupedKeysToSet","isKeychainLockedError","err","isLockedStorageErrorCode","getStorageErrorCode","createSecureAuthStorage","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|