react-native-nitro-storage 0.3.2 → 0.4.1
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 +192 -30
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +22 -2
- package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +3 -0
- package/android/src/main/cpp/cpp-adapter.cpp +3 -1
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +54 -5
- package/cpp/bindings/HybridStorage.cpp +167 -22
- package/cpp/bindings/HybridStorage.hpp +12 -1
- package/cpp/core/NativeStorageAdapter.hpp +3 -0
- package/ios/IOSStorageAdapterCpp.hpp +16 -0
- package/ios/IOSStorageAdapterCpp.mm +135 -11
- package/lib/commonjs/index.js +522 -275
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +614 -270
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/indexeddb-backend.js +130 -0
- package/lib/commonjs/indexeddb-backend.js.map +1 -0
- package/lib/commonjs/internal.js +25 -0
- package/lib/commonjs/internal.js.map +1 -1
- package/lib/module/index.js +516 -277
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +608 -272
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/indexeddb-backend.js +126 -0
- package/lib/module/indexeddb-backend.js.map +1 -0
- package/lib/module/internal.js +24 -0
- package/lib/module/internal.js.map +1 -1
- 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 +40 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +42 -1
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/indexeddb-backend.d.ts +29 -0
- package/lib/typescript/indexeddb-backend.d.ts.map +1 -0
- package/lib/typescript/internal.d.ts +1 -0
- package/lib/typescript/internal.d.ts.map +1 -1
- package/nitrogen/generated/android/NitroStorageOnLoad.cpp +22 -17
- package/nitrogen/generated/android/NitroStorageOnLoad.hpp +13 -4
- package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +2 -0
- package/package.json +7 -3
- package/src/Storage.nitro.ts +2 -0
- package/src/index.ts +671 -296
- package/src/index.web.ts +776 -288
- package/src/indexeddb-backend.ts +143 -0
- package/src/internal.ts +28 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Storage","require","_internal","_migration","_storageHooks","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","getBrowserStorage","scope","globalThis","localStorage","undefined","toSecureStorageKey","key","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","get","hydrateWebScopeKeyIndex","has","storage","keyIndex","clear","index","startsWith","add","ensureWebScopeKeyIndex","getScopedListeners","getScopeRawCache","cacheRawValue","value","set","readCachedRawValue","hasCachedRawValue","clearScopeRawCache","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","scopedListeners","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","push","WebStorage","setBatch","removeBatch","scheduleSecureWrite","name","equals","other","dispose","storageKey","setItem","getItem","remove","removeItem","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getAllKeys","setSecureAccessControl","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","clearBiometric","getAll","result","val","setAccessControl","_level","_group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","newValue","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","items","assertBatchScope","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","secureEntries","internal","canUseSecureBatchPath","groupedByAccessControl","AccessControl","WhenUnlocked","existingGroup","group","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","entries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_Storage","require","_internal","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","StorageScope","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWebStorageEventSubscription","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","createLocalStorageWebSecureBackend","getItem","key","globalThis","localStorage","setItem","value","removeItem","clear","getAllKeys","storage","index","length","push","webSecureStorageBackend","getBrowserStorage","undefined","toSecureStorageKey","fromSecureStorageKey","slice","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","startsWith","add","ensureWebScopeKeyIndex","handleWebStorageEvent","event","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","newValue","delete","cacheRawValue","notifyKeyListeners","ensureWebStorageEventSubscription","window","addEventListener","getScopeRawCache","readCachedRawValue","hasCachedRawValue","registry","forEach","listener","listeners","addKeyListener","scopedListeners","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","groupedSetWrites","keysToRemove","accessControl","resolvedAccessControl","AccessControl","WhenUnlocked","existingGroup","group","WebStorage","setSecureAccessControl","setBatch","removeBatch","scheduleSecureWrite","pendingWrite","name","equals","other","dispose","storageKey","remove","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","exports","clearAll","clearNamespace","namespace","isNamespaced","keyPrefix","prefixKey","clearBiometric","getByPrefix","result","getAll","val","setAccessControl","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","import","data","setWebSecureStorageBackend","backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","writeStoredRaw","rawValue","removeStoredRaw","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","subscribe","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","items","assertBatchScope","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createIndexedDBBackend = createIndexedDBBackend;
|
|
7
|
+
const DEFAULT_DB_NAME = "nitro-storage-secure";
|
|
8
|
+
const DEFAULT_STORE_NAME = "keyvalue";
|
|
9
|
+
const DB_VERSION = 1;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Opens (or creates) an IndexedDB database and returns the underlying IDBDatabase.
|
|
13
|
+
* Rejects if IndexedDB is unavailable in the current environment.
|
|
14
|
+
*/
|
|
15
|
+
function openDB(dbName, storeName) {
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
if (typeof indexedDB === "undefined") {
|
|
18
|
+
reject(new Error("IndexedDB is not available in this environment."));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const request = indexedDB.open(dbName, DB_VERSION);
|
|
22
|
+
request.onupgradeneeded = () => {
|
|
23
|
+
const db = request.result;
|
|
24
|
+
if (!db.objectStoreNames.contains(storeName)) {
|
|
25
|
+
db.createObjectStore(storeName);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
request.onsuccess = () => resolve(request.result);
|
|
29
|
+
request.onerror = () => reject(request.error ?? new Error("Failed to open IndexedDB database."));
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Creates a `WebSecureStorageBackend` backed by IndexedDB.
|
|
35
|
+
*
|
|
36
|
+
* IndexedDB is async, but `WebSecureStorageBackend` requires a synchronous
|
|
37
|
+
* interface. This implementation bridges the gap with a write-through in-memory
|
|
38
|
+
* cache:
|
|
39
|
+
*
|
|
40
|
+
* - **Reads** are always served from the in-memory cache (synchronous, O(1)).
|
|
41
|
+
* - **Writes** update the cache synchronously, then persist to IndexedDB
|
|
42
|
+
* asynchronously in the background.
|
|
43
|
+
* - **Initialisation**: the returned backend pre-loads all persisted entries
|
|
44
|
+
* from IndexedDB into memory before resolving, so the first synchronous read
|
|
45
|
+
* after `await createIndexedDBBackend()` already returns the correct value.
|
|
46
|
+
*
|
|
47
|
+
* @param dbName Name of the IndexedDB database. Defaults to `"nitro-storage-secure"`.
|
|
48
|
+
* @param storeName Name of the object store inside the database. Defaults to `"keyvalue"`.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* import { setWebSecureStorageBackend } from "react-native-nitro-storage";
|
|
53
|
+
* import { createIndexedDBBackend } from "react-native-nitro-storage/indexeddb-backend";
|
|
54
|
+
*
|
|
55
|
+
* const backend = await createIndexedDBBackend();
|
|
56
|
+
* setWebSecureStorageBackend(backend);
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFAULT_STORE_NAME) {
|
|
60
|
+
const db = await openDB(dbName, storeName);
|
|
61
|
+
const cache = new Map();
|
|
62
|
+
|
|
63
|
+
// Hydrate the in-memory cache from IndexedDB.
|
|
64
|
+
await new Promise((resolve, reject) => {
|
|
65
|
+
const tx = db.transaction(storeName, "readonly");
|
|
66
|
+
const store = tx.objectStore(storeName);
|
|
67
|
+
const request = store.openCursor();
|
|
68
|
+
request.onsuccess = () => {
|
|
69
|
+
const cursor = request.result;
|
|
70
|
+
if (cursor) {
|
|
71
|
+
const value = cursor.value;
|
|
72
|
+
if (typeof value === "string") {
|
|
73
|
+
cache.set(String(cursor.key), value);
|
|
74
|
+
}
|
|
75
|
+
cursor.continue();
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
tx.oncomplete = () => resolve();
|
|
79
|
+
tx.onerror = () => reject(tx.error ?? new Error("Failed to load IndexedDB entries."));
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
/** Fire-and-forget IndexedDB write. Errors are silently ignored to avoid
|
|
83
|
+
* breaking the synchronous caller — the in-memory cache is always authoritative. */
|
|
84
|
+
function persistSet(key, value) {
|
|
85
|
+
try {
|
|
86
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
87
|
+
tx.objectStore(storeName).put(value, key);
|
|
88
|
+
} catch {
|
|
89
|
+
// Best-effort; cache is the source of truth.
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function persistDelete(key) {
|
|
93
|
+
try {
|
|
94
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
95
|
+
tx.objectStore(storeName).delete(key);
|
|
96
|
+
} catch {
|
|
97
|
+
// Best-effort.
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function persistClear() {
|
|
101
|
+
try {
|
|
102
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
103
|
+
tx.objectStore(storeName).clear();
|
|
104
|
+
} catch {
|
|
105
|
+
// Best-effort.
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const backend = {
|
|
109
|
+
getItem(key) {
|
|
110
|
+
return cache.get(key) ?? null;
|
|
111
|
+
},
|
|
112
|
+
setItem(key, value) {
|
|
113
|
+
cache.set(key, value);
|
|
114
|
+
persistSet(key, value);
|
|
115
|
+
},
|
|
116
|
+
removeItem(key) {
|
|
117
|
+
cache.delete(key);
|
|
118
|
+
persistDelete(key);
|
|
119
|
+
},
|
|
120
|
+
clear() {
|
|
121
|
+
cache.clear();
|
|
122
|
+
persistClear();
|
|
123
|
+
},
|
|
124
|
+
getAllKeys() {
|
|
125
|
+
return Array.from(cache.keys());
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
return backend;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=indexeddb-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_DB_NAME","DEFAULT_STORE_NAME","DB_VERSION","openDB","dbName","storeName","Promise","resolve","reject","indexedDB","Error","request","open","onupgradeneeded","db","result","objectStoreNames","contains","createObjectStore","onsuccess","onerror","error","createIndexedDBBackend","cache","Map","tx","transaction","store","objectStore","openCursor","cursor","value","set","String","key","continue","oncomplete","persistSet","put","persistDelete","delete","persistClear","clear","backend","getItem","get","setItem","removeItem","getAllKeys","Array","from","keys"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/internal.js
CHANGED
|
@@ -12,11 +12,13 @@ exports.isNamespaced = isNamespaced;
|
|
|
12
12
|
exports.isStoredEnvelope = isStoredEnvelope;
|
|
13
13
|
exports.prefixKey = prefixKey;
|
|
14
14
|
exports.serializeWithPrimitiveFastPath = serializeWithPrimitiveFastPath;
|
|
15
|
+
exports.toVersionToken = toVersionToken;
|
|
15
16
|
var _Storage = require("./Storage.types");
|
|
16
17
|
const MIGRATION_VERSION_KEY = exports.MIGRATION_VERSION_KEY = "__nitro_storage_migration_version__";
|
|
17
18
|
const NATIVE_BATCH_MISSING_SENTINEL = exports.NATIVE_BATCH_MISSING_SENTINEL = "__nitro_storage_batch_missing__::v1";
|
|
18
19
|
const PRIMITIVE_FAST_PATH_PREFIX = "__nitro_storage_primitive__:";
|
|
19
20
|
const NAMESPACE_SEPARATOR = ":";
|
|
21
|
+
const VERSION_TOKEN_PREFIX = "__nitro_storage_version__:";
|
|
20
22
|
function isStoredEnvelope(value) {
|
|
21
23
|
if (typeof value !== "object" || value === null) {
|
|
22
24
|
return false;
|
|
@@ -109,4 +111,27 @@ function deserializeWithPrimitiveFastPath(value) {
|
|
|
109
111
|
return value;
|
|
110
112
|
}
|
|
111
113
|
}
|
|
114
|
+
function fnv1aHash(value) {
|
|
115
|
+
let hash = 0x811c9dc5;
|
|
116
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
117
|
+
hash ^= value.charCodeAt(index);
|
|
118
|
+
hash = Math.imul(hash, 0x01000193);
|
|
119
|
+
}
|
|
120
|
+
return (hash >>> 0).toString(16).padStart(8, "0");
|
|
121
|
+
}
|
|
122
|
+
function toVersionToken(raw) {
|
|
123
|
+
if (raw === undefined) {
|
|
124
|
+
return `${VERSION_TOKEN_PREFIX}missing`;
|
|
125
|
+
}
|
|
126
|
+
if (typeof raw === "string") {
|
|
127
|
+
return `${VERSION_TOKEN_PREFIX}${raw.length}:${fnv1aHash(raw)}`;
|
|
128
|
+
}
|
|
129
|
+
let normalized;
|
|
130
|
+
try {
|
|
131
|
+
normalized = JSON.stringify(raw) ?? String(raw);
|
|
132
|
+
} catch {
|
|
133
|
+
normalized = String(raw);
|
|
134
|
+
}
|
|
135
|
+
return `${VERSION_TOKEN_PREFIX}${normalized.length}:${fnv1aHash(normalized)}`;
|
|
136
|
+
}
|
|
112
137
|
//# sourceMappingURL=internal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Storage","require","MIGRATION_VERSION_KEY","exports","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","NAMESPACE_SEPARATOR","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","StorageScope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","serialized","JSON","stringify","deserializeWithPrimitiveFastPath","encodedValue","slice","length","separatorIndex","indexOf","tag","parsed","parse"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_Storage","require","MIGRATION_VERSION_KEY","exports","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","NAMESPACE_SEPARATOR","VERSION_TOKEN_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","StorageScope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","serialized","JSON","stringify","deserializeWithPrimitiveFastPath","encodedValue","slice","length","separatorIndex","indexOf","tag","parsed","parse","fnv1aHash","hash","index","charCodeAt","Math","imul","toString","padStart","toVersionToken","raw","normalized"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"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","ignoreList":[]}
|