react-native-nitro-storage 0.5.2 → 0.5.4
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 +3 -0
- package/cpp/bindings/HybridStorage.cpp +12 -7
- package/lib/commonjs/index.js +80 -18
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +98 -21
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/module/index.js +80 -18
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +98 -21
- package/lib/module/index.web.js.map +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/package.json +10 -4
- package/src/index.ts +117 -23
- package/src/index.web.ts +143 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAc9E,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAEzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAML,KAAK,oBAAoB,EAE1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9E,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,uBAAuB,CAAC,SAAS,IAAI,CAC/C,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,SAAS,KACrB,IAAI,CAAC;AACV,MAAM,MAAM,+BAA+B,CAAC,SAAS,IAAI;IACvD,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,EACT,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC,EACnD,KAAK,EAAE,CAAC,KACL,IAAI,CAAC;IACV,UAAU,EAAE,CACV,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC,KACzD,IAAI,CAAC;CACX,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-storage",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "Synchronous React Native storage powered by Nitro Modules and JSI: typed Memory, Disk, Keychain/Android Keystore secure storage, biometric auth, MMKV migration, Expo, Zustand/Jotai persistence, and web IndexedDB support.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"*.podspec",
|
|
37
37
|
"SECURITY.md",
|
|
38
38
|
"app.plugin.js",
|
|
39
|
+
".watchmanconfig",
|
|
39
40
|
"!**/__tests__",
|
|
40
41
|
"!**/__fixtures__",
|
|
41
42
|
"!**/__mocks__",
|
|
@@ -50,6 +51,7 @@
|
|
|
50
51
|
"clean": "rimraf lib nitrogen/generated",
|
|
51
52
|
"codegen": "nitrogen --logLevel=\"debug\"",
|
|
52
53
|
"lint": "bunx eslint src --max-warnings=0 --fix",
|
|
54
|
+
"lint:check": "bunx eslint src --max-warnings=0",
|
|
53
55
|
"format": "bunx prettier --write \"src/**/*.{ts,tsx}\" \"../../README.md\" \"../../CHANGELOG.md\" \"../../SECURITY.md\" \"../../docs/**/*.md\"",
|
|
54
56
|
"format:check": "bunx prettier --check \"src/**/*.{ts,tsx}\" \"../../README.md\" \"../../CHANGELOG.md\" \"../../SECURITY.md\" \"../../docs/**/*.md\"",
|
|
55
57
|
"typecheck": "tsc --noEmit",
|
|
@@ -113,8 +115,7 @@
|
|
|
113
115
|
"@react-native/babel-preset": "^0.83.6",
|
|
114
116
|
"@testing-library/react-hooks": "^8.0.1",
|
|
115
117
|
"@testing-library/react-native": "^13.3.3",
|
|
116
|
-
"@types/react": "~19.2.0"
|
|
117
|
-
"typescript": "^5.9.3"
|
|
118
|
+
"@types/react": "~19.2.0"
|
|
118
119
|
},
|
|
119
120
|
"peerDependencies": {
|
|
120
121
|
"react": ">=18.2.0",
|
|
@@ -127,7 +128,12 @@
|
|
|
127
128
|
"targets": [
|
|
128
129
|
"commonjs",
|
|
129
130
|
"module",
|
|
130
|
-
|
|
131
|
+
[
|
|
132
|
+
"typescript",
|
|
133
|
+
{
|
|
134
|
+
"tsc": "../../node_modules/.bin/tsc"
|
|
135
|
+
}
|
|
136
|
+
]
|
|
131
137
|
]
|
|
132
138
|
}
|
|
133
139
|
}
|
package/src/index.ts
CHANGED
|
@@ -119,8 +119,24 @@ type RawBatchPathItem = {
|
|
|
119
119
|
_hasValidation?: boolean;
|
|
120
120
|
_hasExpiration?: boolean;
|
|
121
121
|
_isBiometric?: boolean;
|
|
122
|
+
_biometricLevel?: BiometricLevel;
|
|
122
123
|
_secureAccessControl?: AccessControl;
|
|
123
124
|
};
|
|
125
|
+
type RollbackRecord =
|
|
126
|
+
| {
|
|
127
|
+
kind: "memory";
|
|
128
|
+
value: unknown;
|
|
129
|
+
}
|
|
130
|
+
| {
|
|
131
|
+
kind: "raw";
|
|
132
|
+
value: string | undefined;
|
|
133
|
+
accessControl?: AccessControl;
|
|
134
|
+
}
|
|
135
|
+
| {
|
|
136
|
+
kind: "biometric";
|
|
137
|
+
value: string | undefined;
|
|
138
|
+
level: BiometricLevel;
|
|
139
|
+
};
|
|
124
140
|
|
|
125
141
|
function asInternal<T>(item: StorageItem<T>): StorageItemInternal<T> {
|
|
126
142
|
return item as StorageItemInternal<T>;
|
|
@@ -135,6 +151,27 @@ function isUpdater<T>(
|
|
|
135
151
|
function typedKeys<K extends string, V>(record: Record<K, V>): K[] {
|
|
136
152
|
return Object.keys(record) as K[];
|
|
137
153
|
}
|
|
154
|
+
function assertEnumInteger(
|
|
155
|
+
value: number,
|
|
156
|
+
min: number,
|
|
157
|
+
max: number,
|
|
158
|
+
label: string,
|
|
159
|
+
): void {
|
|
160
|
+
if (!Number.isFinite(value) || value < min || value > max) {
|
|
161
|
+
throw new Error(`NitroStorage: Invalid ${label}`);
|
|
162
|
+
}
|
|
163
|
+
if (value !== Math.trunc(value)) {
|
|
164
|
+
throw new Error(`NitroStorage: Invalid ${label}`);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
function assertAccessControlLevel(level: number): void {
|
|
169
|
+
assertEnumInteger(level, 0, 4, "access control level");
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function assertBiometricLevel(level: number): void {
|
|
173
|
+
assertEnumInteger(level, 0, 2, "biometric level");
|
|
174
|
+
}
|
|
138
175
|
type NonMemoryScope = StorageScope.Disk | StorageScope.Secure;
|
|
139
176
|
type PendingDiskWrite = {
|
|
140
177
|
key: string;
|
|
@@ -1062,6 +1099,7 @@ export const storage = {
|
|
|
1062
1099
|
},
|
|
1063
1100
|
setAccessControl: (level: AccessControl) => {
|
|
1064
1101
|
measureOperation("storage:setAccessControl", StorageScope.Secure, () => {
|
|
1102
|
+
assertAccessControlLevel(level);
|
|
1065
1103
|
secureDefaultAccessControl = level;
|
|
1066
1104
|
getStorageModule().setSecureAccessControl(level);
|
|
1067
1105
|
});
|
|
@@ -1326,6 +1364,7 @@ type StorageItemInternal<T> = StorageItem<T> & {
|
|
|
1326
1364
|
_hasExpiration: boolean;
|
|
1327
1365
|
_readCacheEnabled: boolean;
|
|
1328
1366
|
_isBiometric: boolean;
|
|
1367
|
+
_biometricLevel: BiometricLevel;
|
|
1329
1368
|
_defaultValue: T;
|
|
1330
1369
|
_secureAccessControl?: AccessControl;
|
|
1331
1370
|
};
|
|
@@ -1396,6 +1435,12 @@ export function createStorageItem<T = undefined>(
|
|
|
1396
1435
|
if (expiration && expiration.ttlMs <= 0) {
|
|
1397
1436
|
throw new Error("expiration.ttlMs must be greater than 0.");
|
|
1398
1437
|
}
|
|
1438
|
+
if (config.scope === StorageScope.Secure) {
|
|
1439
|
+
assertBiometricLevel(resolvedBiometricLevel);
|
|
1440
|
+
if (secureAccessControl !== undefined) {
|
|
1441
|
+
assertAccessControlLevel(secureAccessControl);
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1399
1444
|
|
|
1400
1445
|
const listeners = new Set<() => void>();
|
|
1401
1446
|
let unsubscribe: (() => void) | null = null;
|
|
@@ -1907,6 +1952,7 @@ export function createStorageItem<T = undefined>(
|
|
|
1907
1952
|
_hasExpiration: expiration !== undefined,
|
|
1908
1953
|
_readCacheEnabled: readCache,
|
|
1909
1954
|
_isBiometric: isBiometric,
|
|
1955
|
+
_biometricLevel: resolvedBiometricLevel,
|
|
1910
1956
|
_defaultValue: defaultValue,
|
|
1911
1957
|
...(secureAccessControl !== undefined
|
|
1912
1958
|
? { _secureAccessControl: secureAccessControl }
|
|
@@ -2292,19 +2338,40 @@ export function runTransaction<T>(
|
|
|
2292
2338
|
}
|
|
2293
2339
|
|
|
2294
2340
|
const NOT_SET = Symbol();
|
|
2295
|
-
const rollback = new Map<string,
|
|
2341
|
+
const rollback = new Map<string, RollbackRecord>();
|
|
2296
2342
|
|
|
2297
|
-
const rememberRollback = (
|
|
2343
|
+
const rememberRollback = (
|
|
2344
|
+
key: string,
|
|
2345
|
+
item?: Pick<StorageItem<unknown>, "key" | "scope">,
|
|
2346
|
+
) => {
|
|
2298
2347
|
if (rollback.has(key)) {
|
|
2299
2348
|
return;
|
|
2300
2349
|
}
|
|
2301
2350
|
if (scope === StorageScope.Memory) {
|
|
2302
|
-
rollback.set(
|
|
2303
|
-
|
|
2304
|
-
memoryStore.has(key) ? memoryStore.get(key) : NOT_SET,
|
|
2305
|
-
);
|
|
2351
|
+
rollback.set(key, {
|
|
2352
|
+
kind: "memory",
|
|
2353
|
+
value: memoryStore.has(key) ? memoryStore.get(key) : NOT_SET,
|
|
2354
|
+
});
|
|
2306
2355
|
} else {
|
|
2307
|
-
|
|
2356
|
+
const internal = item
|
|
2357
|
+
? (item as StorageItemInternal<unknown>)
|
|
2358
|
+
: undefined;
|
|
2359
|
+
if (scope === StorageScope.Secure && internal?._isBiometric === true) {
|
|
2360
|
+
rollback.set(key, {
|
|
2361
|
+
kind: "biometric",
|
|
2362
|
+
value: getStorageModule().getSecureBiometric(key),
|
|
2363
|
+
level: internal._biometricLevel,
|
|
2364
|
+
});
|
|
2365
|
+
return;
|
|
2366
|
+
}
|
|
2367
|
+
rollback.set(key, {
|
|
2368
|
+
kind: "raw",
|
|
2369
|
+
value: getRawValue(key, scope),
|
|
2370
|
+
...(scope === StorageScope.Secure &&
|
|
2371
|
+
internal?._secureAccessControl !== undefined
|
|
2372
|
+
? { accessControl: internal._secureAccessControl }
|
|
2373
|
+
: {}),
|
|
2374
|
+
});
|
|
2308
2375
|
}
|
|
2309
2376
|
};
|
|
2310
2377
|
|
|
@@ -2325,12 +2392,12 @@ export function runTransaction<T>(
|
|
|
2325
2392
|
},
|
|
2326
2393
|
setItem: (item, value) => {
|
|
2327
2394
|
assertBatchScope([item], scope);
|
|
2328
|
-
rememberRollback(item.key);
|
|
2395
|
+
rememberRollback(item.key, item);
|
|
2329
2396
|
item.set(value);
|
|
2330
2397
|
},
|
|
2331
2398
|
removeItem: (item) => {
|
|
2332
2399
|
assertBatchScope([item], scope);
|
|
2333
|
-
rememberRollback(item.key);
|
|
2400
|
+
rememberRollback(item.key, item);
|
|
2334
2401
|
item.delete();
|
|
2335
2402
|
},
|
|
2336
2403
|
};
|
|
@@ -2340,25 +2407,49 @@ export function runTransaction<T>(
|
|
|
2340
2407
|
} catch (error) {
|
|
2341
2408
|
const rollbackEntries = Array.from(rollback.entries()).reverse();
|
|
2342
2409
|
if (scope === StorageScope.Memory) {
|
|
2343
|
-
rollbackEntries.forEach(([key,
|
|
2344
|
-
if (
|
|
2410
|
+
rollbackEntries.forEach(([key, record]) => {
|
|
2411
|
+
if (record.value === NOT_SET) {
|
|
2345
2412
|
memoryStore.delete(key);
|
|
2346
2413
|
} else {
|
|
2347
|
-
memoryStore.set(key,
|
|
2414
|
+
memoryStore.set(key, record.value);
|
|
2348
2415
|
}
|
|
2349
2416
|
notifyKeyListeners(memoryListeners, key);
|
|
2350
2417
|
});
|
|
2351
2418
|
} else {
|
|
2352
|
-
const
|
|
2353
|
-
|
|
2419
|
+
const groupedKeysToSet = new Map<
|
|
2420
|
+
AccessControl,
|
|
2421
|
+
{ keys: string[]; values: string[] }
|
|
2422
|
+
>();
|
|
2354
2423
|
const keysToRemove: string[] = [];
|
|
2355
2424
|
|
|
2356
|
-
rollbackEntries.forEach(([key,
|
|
2357
|
-
if (
|
|
2425
|
+
rollbackEntries.forEach(([key, record]) => {
|
|
2426
|
+
if (record.kind === "biometric") {
|
|
2427
|
+
if (record.value === undefined) {
|
|
2428
|
+
getStorageModule().deleteSecureBiometric(key);
|
|
2429
|
+
} else {
|
|
2430
|
+
getStorageModule().setSecureBiometricWithLevel(
|
|
2431
|
+
key,
|
|
2432
|
+
record.value,
|
|
2433
|
+
record.level,
|
|
2434
|
+
);
|
|
2435
|
+
}
|
|
2436
|
+
return;
|
|
2437
|
+
}
|
|
2438
|
+
if (record.kind !== "raw") {
|
|
2439
|
+
return;
|
|
2440
|
+
}
|
|
2441
|
+
if (record.value === undefined) {
|
|
2358
2442
|
keysToRemove.push(key);
|
|
2359
2443
|
} else {
|
|
2360
|
-
|
|
2361
|
-
|
|
2444
|
+
const accessControl =
|
|
2445
|
+
record.accessControl ?? secureDefaultAccessControl;
|
|
2446
|
+
const existingGroup = groupedKeysToSet.get(accessControl);
|
|
2447
|
+
const group = existingGroup ?? { keys: [], values: [] };
|
|
2448
|
+
group.keys.push(key);
|
|
2449
|
+
group.values.push(record.value);
|
|
2450
|
+
if (!existingGroup) {
|
|
2451
|
+
groupedKeysToSet.set(accessControl, group);
|
|
2452
|
+
}
|
|
2362
2453
|
}
|
|
2363
2454
|
});
|
|
2364
2455
|
|
|
@@ -2368,12 +2459,15 @@ export function runTransaction<T>(
|
|
|
2368
2459
|
if (scope === StorageScope.Secure) {
|
|
2369
2460
|
flushSecureWrites();
|
|
2370
2461
|
}
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2462
|
+
groupedKeysToSet.forEach((group, accessControl) => {
|
|
2463
|
+
if (scope === StorageScope.Secure) {
|
|
2464
|
+
getStorageModule().setSecureAccessControl(accessControl);
|
|
2465
|
+
}
|
|
2466
|
+
getStorageModule().setBatch(group.keys, group.values, scope);
|
|
2467
|
+
group.keys.forEach((key, index) =>
|
|
2468
|
+
cacheRawValue(scope, key, group.values[index]),
|
|
2375
2469
|
);
|
|
2376
|
-
}
|
|
2470
|
+
});
|
|
2377
2471
|
if (keysToRemove.length > 0) {
|
|
2378
2472
|
getStorageModule().removeBatch(keysToRemove, scope);
|
|
2379
2473
|
keysToRemove.forEach((key) => cacheRawValue(scope, key, undefined));
|
package/src/index.web.ts
CHANGED
|
@@ -118,8 +118,24 @@ type RawBatchPathItem = {
|
|
|
118
118
|
_hasValidation?: boolean;
|
|
119
119
|
_hasExpiration?: boolean;
|
|
120
120
|
_isBiometric?: boolean;
|
|
121
|
+
_biometricLevel?: BiometricLevel;
|
|
121
122
|
_secureAccessControl?: AccessControl;
|
|
122
123
|
};
|
|
124
|
+
type RollbackRecord =
|
|
125
|
+
| {
|
|
126
|
+
kind: "memory";
|
|
127
|
+
value: unknown;
|
|
128
|
+
}
|
|
129
|
+
| {
|
|
130
|
+
kind: "raw";
|
|
131
|
+
value: string | undefined;
|
|
132
|
+
accessControl?: AccessControl;
|
|
133
|
+
}
|
|
134
|
+
| {
|
|
135
|
+
kind: "biometric";
|
|
136
|
+
value: string | undefined;
|
|
137
|
+
level: BiometricLevel;
|
|
138
|
+
};
|
|
123
139
|
|
|
124
140
|
function asInternal<T>(item: StorageItem<T>): StorageItemInternal<T> {
|
|
125
141
|
return item as StorageItemInternal<T>;
|
|
@@ -134,6 +150,27 @@ function isUpdater<T>(
|
|
|
134
150
|
function typedKeys<K extends string, V>(record: Record<K, V>): K[] {
|
|
135
151
|
return Object.keys(record) as K[];
|
|
136
152
|
}
|
|
153
|
+
function assertEnumInteger(
|
|
154
|
+
value: number,
|
|
155
|
+
min: number,
|
|
156
|
+
max: number,
|
|
157
|
+
label: string,
|
|
158
|
+
): void {
|
|
159
|
+
if (!Number.isFinite(value) || value < min || value > max) {
|
|
160
|
+
throw new Error(`NitroStorage: Invalid ${label}`);
|
|
161
|
+
}
|
|
162
|
+
if (value !== Math.trunc(value)) {
|
|
163
|
+
throw new Error(`NitroStorage: Invalid ${label}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
function assertAccessControlLevel(level: number): void {
|
|
168
|
+
assertEnumInteger(level, 0, 4, "access control level");
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function assertBiometricLevel(level: number): void {
|
|
172
|
+
assertEnumInteger(level, 0, 2, "biometric level");
|
|
173
|
+
}
|
|
137
174
|
type NonMemoryScope = StorageScope.Disk | StorageScope.Secure;
|
|
138
175
|
type PendingDiskWrite = {
|
|
139
176
|
key: string;
|
|
@@ -866,6 +903,11 @@ const WebStorage: Storage = {
|
|
|
866
903
|
if (scope !== StorageScope.Disk && scope !== StorageScope.Secure) {
|
|
867
904
|
return;
|
|
868
905
|
}
|
|
906
|
+
if (keys.length !== values.length) {
|
|
907
|
+
throw new Error(
|
|
908
|
+
"NitroStorage: Keys and values size mismatch in setBatch",
|
|
909
|
+
);
|
|
910
|
+
}
|
|
869
911
|
|
|
870
912
|
const entries: (readonly [string, string])[] = [];
|
|
871
913
|
keys.forEach((key, index) => {
|
|
@@ -888,7 +930,13 @@ const WebStorage: Storage = {
|
|
|
888
930
|
});
|
|
889
931
|
});
|
|
890
932
|
const keyIndex = ensureWebScopeKeyIndex(scope);
|
|
891
|
-
|
|
933
|
+
entries.forEach(([storageKey]) =>
|
|
934
|
+
keyIndex.add(
|
|
935
|
+
scope === StorageScope.Secure
|
|
936
|
+
? storageKey.slice(SECURE_WEB_PREFIX.length)
|
|
937
|
+
: storageKey,
|
|
938
|
+
),
|
|
939
|
+
);
|
|
892
940
|
const listeners = getScopedListeners(scope);
|
|
893
941
|
keys.forEach((key) => notifyKeyListeners(listeners, key));
|
|
894
942
|
},
|
|
@@ -988,7 +1036,9 @@ const WebStorage: Storage = {
|
|
|
988
1036
|
}
|
|
989
1037
|
return 0;
|
|
990
1038
|
},
|
|
991
|
-
setSecureAccessControl: () => {
|
|
1039
|
+
setSecureAccessControl: (level: number) => {
|
|
1040
|
+
assertAccessControlLevel(level);
|
|
1041
|
+
},
|
|
992
1042
|
setSecureWritesAsync: (_enabled: boolean) => {},
|
|
993
1043
|
setKeychainAccessGroup: () => {},
|
|
994
1044
|
setSecureBiometric: (key: string, value: string) => {
|
|
@@ -998,7 +1048,17 @@ const WebStorage: Storage = {
|
|
|
998
1048
|
BiometricLevel.BiometryOnly,
|
|
999
1049
|
);
|
|
1000
1050
|
},
|
|
1001
|
-
setSecureBiometricWithLevel: (key: string, value: string,
|
|
1051
|
+
setSecureBiometricWithLevel: (key: string, value: string, level: number) => {
|
|
1052
|
+
assertBiometricLevel(level);
|
|
1053
|
+
if (level === BiometricLevel.None) {
|
|
1054
|
+
withWebBackendOperation(StorageScope.Secure, "setSecure", (backend) => {
|
|
1055
|
+
backend.removeItem(toBiometricStorageKey(key));
|
|
1056
|
+
backend.setItem(toSecureStorageKey(key), value);
|
|
1057
|
+
});
|
|
1058
|
+
ensureWebScopeKeyIndex(StorageScope.Secure).add(key);
|
|
1059
|
+
notifyKeyListeners(getScopedListeners(StorageScope.Secure), key);
|
|
1060
|
+
return;
|
|
1061
|
+
}
|
|
1002
1062
|
if (
|
|
1003
1063
|
typeof __DEV__ !== "undefined" &&
|
|
1004
1064
|
__DEV__ &&
|
|
@@ -1510,6 +1570,7 @@ export const storage = {
|
|
|
1510
1570
|
});
|
|
1511
1571
|
},
|
|
1512
1572
|
setAccessControl: (level: AccessControl) => {
|
|
1573
|
+
assertAccessControlLevel(level);
|
|
1513
1574
|
secureDefaultAccessControl = level;
|
|
1514
1575
|
recordMetric("storage:setAccessControl", StorageScope.Secure, 0);
|
|
1515
1576
|
},
|
|
@@ -1793,6 +1854,7 @@ type StorageItemInternal<T> = StorageItem<T> & {
|
|
|
1793
1854
|
_hasExpiration: boolean;
|
|
1794
1855
|
_readCacheEnabled: boolean;
|
|
1795
1856
|
_isBiometric: boolean;
|
|
1857
|
+
_biometricLevel: BiometricLevel;
|
|
1796
1858
|
_defaultValue: T;
|
|
1797
1859
|
_secureAccessControl?: AccessControl;
|
|
1798
1860
|
};
|
|
@@ -1863,6 +1925,12 @@ export function createStorageItem<T = undefined>(
|
|
|
1863
1925
|
if (expiration && expiration.ttlMs <= 0) {
|
|
1864
1926
|
throw new Error("expiration.ttlMs must be greater than 0.");
|
|
1865
1927
|
}
|
|
1928
|
+
if (config.scope === StorageScope.Secure) {
|
|
1929
|
+
assertBiometricLevel(resolvedBiometricLevel);
|
|
1930
|
+
if (secureAccessControl !== undefined) {
|
|
1931
|
+
assertAccessControlLevel(secureAccessControl);
|
|
1932
|
+
}
|
|
1933
|
+
}
|
|
1866
1934
|
|
|
1867
1935
|
const listeners = new Set<() => void>();
|
|
1868
1936
|
let unsubscribe: (() => void) | null = null;
|
|
@@ -2350,6 +2418,7 @@ export function createStorageItem<T = undefined>(
|
|
|
2350
2418
|
_hasExpiration: expiration !== undefined,
|
|
2351
2419
|
_readCacheEnabled: readCache,
|
|
2352
2420
|
_isBiometric: isBiometric,
|
|
2421
|
+
_biometricLevel: resolvedBiometricLevel,
|
|
2353
2422
|
_defaultValue: defaultValue,
|
|
2354
2423
|
...(secureAccessControl !== undefined
|
|
2355
2424
|
? { _secureAccessControl: secureAccessControl }
|
|
@@ -2729,19 +2798,40 @@ export function runTransaction<T>(
|
|
|
2729
2798
|
}
|
|
2730
2799
|
|
|
2731
2800
|
const NOT_SET = Symbol();
|
|
2732
|
-
const rollback = new Map<string,
|
|
2801
|
+
const rollback = new Map<string, RollbackRecord>();
|
|
2733
2802
|
|
|
2734
|
-
const rememberRollback = (
|
|
2803
|
+
const rememberRollback = (
|
|
2804
|
+
key: string,
|
|
2805
|
+
item?: Pick<StorageItem<unknown>, "key" | "scope">,
|
|
2806
|
+
) => {
|
|
2735
2807
|
if (rollback.has(key)) {
|
|
2736
2808
|
return;
|
|
2737
2809
|
}
|
|
2738
2810
|
if (scope === StorageScope.Memory) {
|
|
2739
|
-
rollback.set(
|
|
2740
|
-
|
|
2741
|
-
memoryStore.has(key) ? memoryStore.get(key) : NOT_SET,
|
|
2742
|
-
);
|
|
2811
|
+
rollback.set(key, {
|
|
2812
|
+
kind: "memory",
|
|
2813
|
+
value: memoryStore.has(key) ? memoryStore.get(key) : NOT_SET,
|
|
2814
|
+
});
|
|
2743
2815
|
} else {
|
|
2744
|
-
|
|
2816
|
+
const internal = item
|
|
2817
|
+
? (item as StorageItemInternal<unknown>)
|
|
2818
|
+
: undefined;
|
|
2819
|
+
if (scope === StorageScope.Secure && internal?._isBiometric === true) {
|
|
2820
|
+
rollback.set(key, {
|
|
2821
|
+
kind: "biometric",
|
|
2822
|
+
value: WebStorage.getSecureBiometric(key),
|
|
2823
|
+
level: internal._biometricLevel,
|
|
2824
|
+
});
|
|
2825
|
+
return;
|
|
2826
|
+
}
|
|
2827
|
+
rollback.set(key, {
|
|
2828
|
+
kind: "raw",
|
|
2829
|
+
value: getRawValue(key, scope),
|
|
2830
|
+
...(scope === StorageScope.Secure &&
|
|
2831
|
+
internal?._secureAccessControl !== undefined
|
|
2832
|
+
? { accessControl: internal._secureAccessControl }
|
|
2833
|
+
: {}),
|
|
2834
|
+
});
|
|
2745
2835
|
}
|
|
2746
2836
|
};
|
|
2747
2837
|
|
|
@@ -2762,12 +2852,12 @@ export function runTransaction<T>(
|
|
|
2762
2852
|
},
|
|
2763
2853
|
setItem: (item, value) => {
|
|
2764
2854
|
assertBatchScope([item], scope);
|
|
2765
|
-
rememberRollback(item.key);
|
|
2855
|
+
rememberRollback(item.key, item);
|
|
2766
2856
|
item.set(value);
|
|
2767
2857
|
},
|
|
2768
2858
|
removeItem: (item) => {
|
|
2769
2859
|
assertBatchScope([item], scope);
|
|
2770
|
-
rememberRollback(item.key);
|
|
2860
|
+
rememberRollback(item.key, item);
|
|
2771
2861
|
item.delete();
|
|
2772
2862
|
},
|
|
2773
2863
|
};
|
|
@@ -2777,25 +2867,49 @@ export function runTransaction<T>(
|
|
|
2777
2867
|
} catch (error) {
|
|
2778
2868
|
const rollbackEntries = Array.from(rollback.entries()).reverse();
|
|
2779
2869
|
if (scope === StorageScope.Memory) {
|
|
2780
|
-
rollbackEntries.forEach(([key,
|
|
2781
|
-
if (
|
|
2870
|
+
rollbackEntries.forEach(([key, record]) => {
|
|
2871
|
+
if (record.value === NOT_SET) {
|
|
2782
2872
|
memoryStore.delete(key);
|
|
2783
2873
|
} else {
|
|
2784
|
-
memoryStore.set(key,
|
|
2874
|
+
memoryStore.set(key, record.value);
|
|
2785
2875
|
}
|
|
2786
2876
|
notifyKeyListeners(memoryListeners, key);
|
|
2787
2877
|
});
|
|
2788
2878
|
} else {
|
|
2789
|
-
const
|
|
2790
|
-
|
|
2879
|
+
const groupedKeysToSet = new Map<
|
|
2880
|
+
AccessControl,
|
|
2881
|
+
{ keys: string[]; values: string[] }
|
|
2882
|
+
>();
|
|
2791
2883
|
const keysToRemove: string[] = [];
|
|
2792
2884
|
|
|
2793
|
-
rollbackEntries.forEach(([key,
|
|
2794
|
-
if (
|
|
2885
|
+
rollbackEntries.forEach(([key, record]) => {
|
|
2886
|
+
if (record.kind === "biometric") {
|
|
2887
|
+
if (record.value === undefined) {
|
|
2888
|
+
WebStorage.deleteSecureBiometric(key);
|
|
2889
|
+
} else {
|
|
2890
|
+
WebStorage.setSecureBiometricWithLevel(
|
|
2891
|
+
key,
|
|
2892
|
+
record.value,
|
|
2893
|
+
record.level,
|
|
2894
|
+
);
|
|
2895
|
+
}
|
|
2896
|
+
return;
|
|
2897
|
+
}
|
|
2898
|
+
if (record.kind !== "raw") {
|
|
2899
|
+
return;
|
|
2900
|
+
}
|
|
2901
|
+
if (record.value === undefined) {
|
|
2795
2902
|
keysToRemove.push(key);
|
|
2796
2903
|
} else {
|
|
2797
|
-
|
|
2798
|
-
|
|
2904
|
+
const accessControl =
|
|
2905
|
+
record.accessControl ?? secureDefaultAccessControl;
|
|
2906
|
+
const existingGroup = groupedKeysToSet.get(accessControl);
|
|
2907
|
+
const group = existingGroup ?? { keys: [], values: [] };
|
|
2908
|
+
group.keys.push(key);
|
|
2909
|
+
group.values.push(record.value);
|
|
2910
|
+
if (!existingGroup) {
|
|
2911
|
+
groupedKeysToSet.set(accessControl, group);
|
|
2912
|
+
}
|
|
2799
2913
|
}
|
|
2800
2914
|
});
|
|
2801
2915
|
|
|
@@ -2805,12 +2919,15 @@ export function runTransaction<T>(
|
|
|
2805
2919
|
if (scope === StorageScope.Secure) {
|
|
2806
2920
|
flushSecureWrites();
|
|
2807
2921
|
}
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2922
|
+
groupedKeysToSet.forEach((group, accessControl) => {
|
|
2923
|
+
if (scope === StorageScope.Secure) {
|
|
2924
|
+
WebStorage.setSecureAccessControl(accessControl);
|
|
2925
|
+
}
|
|
2926
|
+
WebStorage.setBatch(group.keys, group.values, scope);
|
|
2927
|
+
group.keys.forEach((key, index) =>
|
|
2928
|
+
cacheRawValue(scope, key, group.values[index]),
|
|
2812
2929
|
);
|
|
2813
|
-
}
|
|
2930
|
+
});
|
|
2814
2931
|
if (keysToRemove.length > 0) {
|
|
2815
2932
|
WebStorage.removeBatch(keysToRemove, scope);
|
|
2816
2933
|
keysToRemove.forEach((key) => cacheRawValue(scope, key, undefined));
|