react-native-nitro-storage 0.10.4 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +71 -14
- package/README.md +127 -41
- package/SECURITY.md +16 -6
- package/android/build.gradle +0 -1
- package/android/consumer-rules.pro +0 -3
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +1 -4
- package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +3 -3
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +73 -23
- package/android/src/main/java/com/nitrostorage/DiskSqliteStore.kt +15 -0
- package/app.plugin.js +51 -51
- package/cpp/bindings/HybridStorage.cpp +25 -6
- package/cpp/core/NativeStorageAdapter.hpp +14 -1
- package/cpp/core/SqliteDiskStore.cpp +84 -11
- package/cpp/core/SqliteDiskStore.hpp +10 -0
- package/docs/api-reference.md +73 -28
- package/docs/benchmarks.md +4 -12
- package/docs/mmkv-migration.md +3 -1
- package/docs/native-libraries.md +10 -4
- package/docs/secure-storage.md +26 -12
- package/docs/web-backends.md +6 -2
- package/indexeddb-backend/package.json +6 -0
- package/ios/IOSStorageAdapterCpp.hpp +4 -0
- package/ios/IOSStorageAdapterCpp.mm +96 -18
- package/lib/commonjs/capabilities.js +3 -8
- package/lib/commonjs/capabilities.js.map +1 -1
- package/lib/commonjs/index.js +23 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +61 -19
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/indexeddb-backend.js +21 -37
- package/lib/commonjs/indexeddb-backend.js.map +1 -1
- package/lib/commonjs/internal.js +6 -0
- package/lib/commonjs/internal.js.map +1 -1
- package/lib/commonjs/storage-core.js +35 -11
- package/lib/commonjs/storage-core.js.map +1 -1
- package/lib/commonjs/storage-runtime.js +1 -1
- package/lib/commonjs/storage-runtime.js.map +1 -1
- package/lib/commonjs/testing.js +68 -23
- package/lib/commonjs/testing.js.map +1 -1
- package/lib/commonjs/web-backend-contract.js +6 -2
- package/lib/commonjs/web-backend-contract.js.map +1 -1
- package/lib/module/capabilities.js +3 -8
- package/lib/module/capabilities.js.map +1 -1
- package/lib/module/index.js +14 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +61 -12
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/indexeddb-backend.js +21 -37
- package/lib/module/indexeddb-backend.js.map +1 -1
- package/lib/module/internal.js +5 -0
- package/lib/module/internal.js.map +1 -1
- package/lib/module/storage-core.js +36 -12
- package/lib/module/storage-core.js.map +1 -1
- package/lib/module/storage-runtime.js +1 -1
- package/lib/module/storage-runtime.js.map +1 -1
- package/lib/module/testing.js +59 -16
- package/lib/module/testing.js.map +1 -1
- package/lib/module/web-backend-contract.js +5 -2
- package/lib/module/web-backend-contract.js.map +1 -1
- package/lib/typescript/capabilities.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +8 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +7 -1
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/indexeddb-backend.d.ts.map +1 -1
- package/lib/typescript/internal.d.ts +1 -0
- package/lib/typescript/internal.d.ts.map +1 -1
- package/lib/typescript/storage-core.d.ts +1 -1
- package/lib/typescript/storage-core.d.ts.map +1 -1
- package/lib/typescript/storage-runtime.d.ts +1 -1
- package/lib/typescript/storage-runtime.d.ts.map +1 -1
- package/lib/typescript/testing.d.ts +15 -2
- package/lib/typescript/testing.d.ts.map +1 -1
- package/lib/typescript/web-backend-contract.d.ts +1 -0
- package/lib/typescript/web-backend-contract.d.ts.map +1 -1
- package/package.json +14 -5
- package/react-native-nitro-storage.podspec +4 -2
- package/src/capabilities.ts +4 -9
- package/src/index.ts +19 -5
- package/src/index.web.ts +86 -19
- package/src/indexeddb-backend.ts +20 -42
- package/src/internal.ts +8 -0
- package/src/storage-core.ts +52 -19
- package/src/storage-runtime.ts +3 -1
- package/src/testing.ts +91 -18
- package/src/web-backend-contract.ts +6 -2
- package/testing/package.json +8 -0
package/lib/commonjs/testing.js
CHANGED
|
@@ -21,12 +21,7 @@ Object.defineProperty(exports, "StorageScope", {
|
|
|
21
21
|
return _Storage.StorageScope;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _indexeddbBackend.createIndexedDBBackend;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
24
|
+
exports.createIndexedDBBackend = void 0;
|
|
30
25
|
exports.createNitroStorageMock = createNitroStorageMock;
|
|
31
26
|
exports.createStorageItem = exports.createSetItem = exports.createSecureAuthStorage = void 0;
|
|
32
27
|
Object.defineProperty(exports, "describeWebBackendCapabilities", {
|
|
@@ -35,13 +30,17 @@ Object.defineProperty(exports, "describeWebBackendCapabilities", {
|
|
|
35
30
|
return _webBackendContract.describeWebBackendCapabilities;
|
|
36
31
|
}
|
|
37
32
|
});
|
|
38
|
-
exports.
|
|
33
|
+
exports.diskItem = void 0;
|
|
34
|
+
exports.flushWebStorageBackends = flushWebStorageBackends;
|
|
35
|
+
exports.getBatch = void 0;
|
|
39
36
|
Object.defineProperty(exports, "getStorageErrorCode", {
|
|
40
37
|
enumerable: true,
|
|
41
38
|
get: function () {
|
|
42
39
|
return _storageRuntime.getStorageErrorCode;
|
|
43
40
|
}
|
|
44
41
|
});
|
|
42
|
+
exports.getWebDiskStorageBackend = getWebDiskStorageBackend;
|
|
43
|
+
exports.getWebSecureStorageBackend = getWebSecureStorageBackend;
|
|
45
44
|
Object.defineProperty(exports, "isIndexedDBWebBackend", {
|
|
46
45
|
enumerable: true,
|
|
47
46
|
get: function () {
|
|
@@ -69,7 +68,10 @@ Object.defineProperty(exports, "migrateFromMMKV", {
|
|
|
69
68
|
});
|
|
70
69
|
exports.removeBatch = exports.registerMigration = exports.migrateToLatest = void 0;
|
|
71
70
|
exports.resetNitroStorageMock = resetNitroStorageMock;
|
|
72
|
-
exports.
|
|
71
|
+
exports.setBatch = exports.secureItem = exports.runTransaction = void 0;
|
|
72
|
+
exports.setWebDiskStorageBackend = setWebDiskStorageBackend;
|
|
73
|
+
exports.setWebSecureStorageBackend = setWebSecureStorageBackend;
|
|
74
|
+
exports.storage = void 0;
|
|
73
75
|
Object.defineProperty(exports, "useSetStorage", {
|
|
74
76
|
enumerable: true,
|
|
75
77
|
get: function () {
|
|
@@ -100,16 +102,16 @@ Object.defineProperty(exports, "useStorageValue", {
|
|
|
100
102
|
return _storageHooks.useStorageValue;
|
|
101
103
|
}
|
|
102
104
|
});
|
|
105
|
+
var _indexeddbBackend = require("./indexeddb-backend");
|
|
103
106
|
var _shared = require("./shared");
|
|
104
107
|
var _storageCore = require("./storage-core");
|
|
105
108
|
var _Storage = require("./Storage.types");
|
|
106
109
|
var _migration = require("./migration");
|
|
107
110
|
var _storageRuntime = require("./storage-runtime");
|
|
108
|
-
var _indexeddbBackend = require("./indexeddb-backend");
|
|
109
111
|
var _webBackendContract = require("./web-backend-contract");
|
|
110
112
|
var _storageHooks = require("./storage-hooks");
|
|
111
113
|
const TEST_SECURE_BACKEND = "in-memory-test";
|
|
112
|
-
function createInMemoryBackend() {
|
|
114
|
+
function createInMemoryBackend(notify) {
|
|
113
115
|
const stores = new Map([[_Storage.StorageScope.Disk, new Map()], [_Storage.StorageScope.Secure, new Map()]]);
|
|
114
116
|
const biometricStore = new Map();
|
|
115
117
|
const storeFor = scope => {
|
|
@@ -123,15 +125,18 @@ function createInMemoryBackend() {
|
|
|
123
125
|
get: (key, scope) => storeFor(scope).get(key),
|
|
124
126
|
set: (key, value, scope) => {
|
|
125
127
|
storeFor(scope).set(key, value);
|
|
128
|
+
notify(scope, key);
|
|
126
129
|
},
|
|
127
130
|
remove: (key, scope) => {
|
|
128
131
|
storeFor(scope).delete(key);
|
|
129
132
|
if (scope === _Storage.StorageScope.Secure) {
|
|
130
133
|
biometricStore.delete(key);
|
|
131
134
|
}
|
|
135
|
+
notify(scope, key);
|
|
132
136
|
},
|
|
133
137
|
clear: scope => {
|
|
134
138
|
storeFor(scope).clear();
|
|
139
|
+
notify(scope, null);
|
|
135
140
|
},
|
|
136
141
|
has: (key, scope) => storeFor(scope).has(key),
|
|
137
142
|
getAllKeys: scope => Array.from(storeFor(scope).keys()),
|
|
@@ -145,6 +150,9 @@ function createInMemoryBackend() {
|
|
|
145
150
|
store.set(key, value);
|
|
146
151
|
}
|
|
147
152
|
});
|
|
153
|
+
keys.forEach(key => {
|
|
154
|
+
notify(scope, key);
|
|
155
|
+
});
|
|
148
156
|
},
|
|
149
157
|
getBatch: (keys, scope) => {
|
|
150
158
|
const store = storeFor(scope);
|
|
@@ -156,12 +164,16 @@ function createInMemoryBackend() {
|
|
|
156
164
|
if (scope === _Storage.StorageScope.Secure) {
|
|
157
165
|
keys.forEach(key => biometricStore.delete(key));
|
|
158
166
|
}
|
|
167
|
+
keys.forEach(key => {
|
|
168
|
+
notify(scope, key);
|
|
169
|
+
});
|
|
159
170
|
},
|
|
160
171
|
removeByPrefix: (prefix, scope) => {
|
|
161
172
|
const store = storeFor(scope);
|
|
162
173
|
for (const key of Array.from(store.keys())) {
|
|
163
174
|
if (key.startsWith(prefix)) {
|
|
164
175
|
store.delete(key);
|
|
176
|
+
notify(scope, key);
|
|
165
177
|
}
|
|
166
178
|
}
|
|
167
179
|
},
|
|
@@ -170,13 +182,16 @@ function createInMemoryBackend() {
|
|
|
170
182
|
setSecureBiometricWithLevel: (key, value) => {
|
|
171
183
|
biometricStore.set(key, value);
|
|
172
184
|
storeFor(_Storage.StorageScope.Secure).delete(key);
|
|
185
|
+
notify(_Storage.StorageScope.Secure, key);
|
|
173
186
|
},
|
|
174
187
|
deleteSecureBiometric: key => {
|
|
175
188
|
biometricStore.delete(key);
|
|
189
|
+
notify(_Storage.StorageScope.Secure, key);
|
|
176
190
|
},
|
|
177
191
|
hasSecureBiometric: key => biometricStore.has(key),
|
|
178
192
|
clearSecureBiometric: () => {
|
|
179
193
|
biometricStore.clear();
|
|
194
|
+
notify(_Storage.StorageScope.Secure, null);
|
|
180
195
|
},
|
|
181
196
|
resetState: () => {
|
|
182
197
|
stores.forEach(store => {
|
|
@@ -187,20 +202,34 @@ function createInMemoryBackend() {
|
|
|
187
202
|
};
|
|
188
203
|
}
|
|
189
204
|
function buildTestingModule() {
|
|
190
|
-
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
hardwareBacked: "unavailable"
|
|
202
|
-
})
|
|
205
|
+
let coreInternals;
|
|
206
|
+
const backend = createInMemoryBackend((scope, key) => {
|
|
207
|
+
if (!coreInternals) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const listeners = coreInternals.getScopedListeners(scope);
|
|
211
|
+
if (key === null) {
|
|
212
|
+
(0, _shared.notifyAllListeners)(listeners);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
(0, _shared.notifyKeyListeners)(listeners, key);
|
|
203
216
|
});
|
|
217
|
+
const buildAdapter = adapterInternals => {
|
|
218
|
+
coreInternals = adapterInternals;
|
|
219
|
+
return {
|
|
220
|
+
backend,
|
|
221
|
+
changeSource: "native",
|
|
222
|
+
applyAccessControlOnSecureRawWrite: true,
|
|
223
|
+
ensureScopeSubscription: _scope => {},
|
|
224
|
+
maybeCleanupScopeSubscription: _scope => {},
|
|
225
|
+
onWillEmitChanges: () => {},
|
|
226
|
+
getSecureMetadataProfile: () => ({
|
|
227
|
+
backend: TEST_SECURE_BACKEND,
|
|
228
|
+
encrypted: "unavailable",
|
|
229
|
+
hardwareBacked: "unavailable"
|
|
230
|
+
})
|
|
231
|
+
};
|
|
232
|
+
};
|
|
204
233
|
const core = (0, _storageCore.createStorageCore)(buildAdapter);
|
|
205
234
|
const {
|
|
206
235
|
internals
|
|
@@ -286,10 +315,26 @@ const registerMigration = exports.registerMigration = defaultModule.registerMigr
|
|
|
286
315
|
const migrateToLatest = exports.migrateToLatest = defaultModule.migrateToLatest;
|
|
287
316
|
const runTransaction = exports.runTransaction = defaultModule.runTransaction;
|
|
288
317
|
const createSecureAuthStorage = exports.createSecureAuthStorage = defaultModule.createSecureAuthStorage;
|
|
318
|
+
function setWebSecureStorageBackend(_backend) {}
|
|
319
|
+
function getWebSecureStorageBackend() {
|
|
320
|
+
return undefined;
|
|
321
|
+
}
|
|
322
|
+
function setWebDiskStorageBackend(_backend) {}
|
|
323
|
+
function getWebDiskStorageBackend() {
|
|
324
|
+
return undefined;
|
|
325
|
+
}
|
|
326
|
+
async function flushWebStorageBackends() {}
|
|
289
327
|
function resetNitroStorageMock() {
|
|
290
328
|
defaultModule.reset();
|
|
291
329
|
}
|
|
292
330
|
function createNitroStorageMock() {
|
|
293
331
|
return buildTestingModule();
|
|
294
332
|
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* @deprecated Import `createIndexedDBBackend` from
|
|
336
|
+
* `react-native-nitro-storage/indexeddb-backend` instead. The root export
|
|
337
|
+
* will be removed in a future minor release.
|
|
338
|
+
*/
|
|
339
|
+
const createIndexedDBBackend = exports.createIndexedDBBackend = _indexeddbBackend.createIndexedDBBackend;
|
|
295
340
|
//# sourceMappingURL=testing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_indexeddbBackend","require","_shared","_storageCore","_Storage","_migration","_storageRuntime","_webBackendContract","_storageHooks","TEST_SECURE_BACKEND","createInMemoryBackend","notify","stores","Map","StorageScope","Disk","Secure","biometricStore","storeFor","scope","store","get","Error","key","set","value","remove","delete","clear","has","getAllKeys","Array","from","keys","getKeysByPrefix","prefix","filter","startsWith","size","setBatch","values","forEach","index","undefined","getBatch","map","removeBatch","removeByPrefix","setSecureAccessControl","getSecureBiometric","setSecureBiometricWithLevel","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","resetState","buildTestingModule","coreInternals","backend","listeners","getScopedListeners","notifyAllListeners","notifyKeyListeners","buildAdapter","adapterInternals","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","_scope","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","createStorageCore","internals","storage","setAccessControl","level","assertAccessControlLevel","setSecureDefaultAccessControl","setSecureWritesAsync","_enabled","setKeychainAccessGroup","_group","getCapabilities","platform","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","accessControl","keychainAccessGroup","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","reset","setEventObserver","setMetricsObserver","resetMetrics","clearAll","AccessControl","WhenUnlocked","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","defaultModule","exports","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","resetNitroStorageMock","createNitroStorageMock","createIndexedDBBackend","createIndexedDBBackendFromSubpath"],"sourceRoot":"../../src","sources":["testing.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.describeWebBackendCapabilities = describeWebBackendCapabilities;
|
|
7
|
+
exports.isIndexedDBBackendName = isIndexedDBBackendName;
|
|
7
8
|
exports.isIndexedDBWebBackend = isIndexedDBWebBackend;
|
|
9
|
+
function isIndexedDBBackendName(name) {
|
|
10
|
+
return name?.startsWith("indexeddb:") ?? false;
|
|
11
|
+
}
|
|
8
12
|
function describeWebBackendCapabilities(backend) {
|
|
9
13
|
if (!backend) {
|
|
10
14
|
return {
|
|
@@ -15,13 +19,13 @@ function describeWebBackendCapabilities(backend) {
|
|
|
15
19
|
};
|
|
16
20
|
}
|
|
17
21
|
return {
|
|
18
|
-
buffered: backend.name
|
|
22
|
+
buffered: isIndexedDBBackendName(backend.name),
|
|
19
23
|
flushable: typeof backend.flush === "function",
|
|
20
24
|
closable: typeof backend.close === "function",
|
|
21
25
|
subscribable: typeof backend.subscribe === "function"
|
|
22
26
|
};
|
|
23
27
|
}
|
|
24
28
|
function isIndexedDBWebBackend(backend) {
|
|
25
|
-
return backend?.name
|
|
29
|
+
return isIndexedDBBackendName(backend?.name);
|
|
26
30
|
}
|
|
27
31
|
//# sourceMappingURL=web-backend-contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describeWebBackendCapabilities","backend","buffered","flushable","closable","subscribable","
|
|
1
|
+
{"version":3,"names":["isIndexedDBBackendName","name","startsWith","describeWebBackendCapabilities","backend","buffered","flushable","closable","subscribable","flush","close","subscribe","isIndexedDBWebBackend"],"sourceRoot":"../../src","sources":["web-backend-contract.ts"],"mappings":";;;;;;;;AASO,SAASA,sBAAsBA,CAACC,IAAwB,EAAW;EACxE,OAAOA,IAAI,EAAEC,UAAU,CAAC,YAAY,CAAC,IAAI,KAAK;AAChD;AAEO,SAASC,8BAA8BA,CAC5CC,OAAsC,EACd;EACxB,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO;MACLC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBC,QAAQ,EAAE,KAAK;MACfC,YAAY,EAAE;IAChB,CAAC;EACH;EAEA,OAAO;IACLH,QAAQ,EAAEL,sBAAsB,CAACI,OAAO,CAACH,IAAI,CAAC;IAC9CK,SAAS,EAAE,OAAOF,OAAO,CAACK,KAAK,KAAK,UAAU;IAC9CF,QAAQ,EAAE,OAAOH,OAAO,CAACM,KAAK,KAAK,UAAU;IAC7CF,YAAY,EAAE,OAAOJ,OAAO,CAACO,SAAS,KAAK;EAC7C,CAAC;AACH;AAEO,SAASC,qBAAqBA,CACnCR,OAAsC,EAC7B;EACT,OAAOJ,sBAAsB,CAACI,OAAO,EAAEH,IAAI,CAAC;AAC9C","ignoreList":[]}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { isIndexedDBBackendName } from "./web-backend-contract";
|
|
3
4
|
export function resolveWebWriteBuffering(diskBackendName, secureBackendName) {
|
|
4
5
|
return {
|
|
5
|
-
disk:
|
|
6
|
-
secure:
|
|
6
|
+
disk: isIndexedDBBackendName(diskBackendName),
|
|
7
|
+
secure: isIndexedDBBackendName(secureBackendName)
|
|
7
8
|
};
|
|
8
9
|
}
|
|
9
|
-
function isIndexedDBWebBackendByName(backendName) {
|
|
10
|
-
if (!backendName) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
return backendName.startsWith("indexeddb:");
|
|
14
|
-
}
|
|
15
10
|
export const DEFAULT_SECURE_WRITES_ASYNC = false;
|
|
16
11
|
export function resolveNativeWriteBuffering(platform, secureWritesAsync = DEFAULT_SECURE_WRITES_ASYNC) {
|
|
17
12
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolveWebWriteBuffering","diskBackendName","secureBackendName","disk","
|
|
1
|
+
{"version":3,"names":["isIndexedDBBackendName","resolveWebWriteBuffering","diskBackendName","secureBackendName","disk","secure","DEFAULT_SECURE_WRITES_ASYNC","resolveNativeWriteBuffering","platform","secureWritesAsync"],"sourceRoot":"../../src","sources":["capabilities.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,wBAAwB;AAY/D,OAAO,SAASC,wBAAwBA,CACtCC,eAAmC,EACnCC,iBAAqC,EACrB;EAChB,OAAO;IACLC,IAAI,EAAEJ,sBAAsB,CAACE,eAAe,CAAC;IAC7CG,MAAM,EAAEL,sBAAsB,CAACG,iBAAiB;EAClD,CAAC;AACH;AAEA,OAAO,MAAMG,2BAA2B,GAAG,KAAK;AAEhD,OAAO,SAASC,2BAA2BA,CACzCC,QAA2B,EAC3BC,iBAA0B,GAAGH,2BAA2B,EACxC;EAChB,OAAO;IACLF,IAAI,EAAE,IAAI;IACVC,MAAM,EAAEG,QAAQ,KAAK,SAAS,GAAGC,iBAAiB,GAAG;EACvD,CAAC;AACH","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { Platform } from "react-native";
|
|
4
4
|
import { NitroModules } from "react-native-nitro-modules";
|
|
5
5
|
import { DEFAULT_SECURE_WRITES_ASYNC, resolveNativeWriteBuffering } from "./capabilities";
|
|
6
|
+
import { createIndexedDBBackend as createIndexedDBBackendFromSubpath } from "./indexeddb-backend";
|
|
6
7
|
import { unescapeCollidingRawValue } from "./internal";
|
|
7
8
|
import { assertAccessControlLevel, notifyAllListeners, notifyKeyListeners } from "./shared";
|
|
8
9
|
import { createStorageCore } from "./storage-core";
|
|
@@ -11,6 +12,7 @@ export { isKeychainLockedError } from "./shared";
|
|
|
11
12
|
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
12
13
|
export { migrateFromMMKV } from "./migration";
|
|
13
14
|
export { getStorageErrorCode, isStorageError } from "./storage-runtime";
|
|
15
|
+
export { describeWebBackendCapabilities, isIndexedDBWebBackend } from "./web-backend-contract";
|
|
14
16
|
let _storageModule = null;
|
|
15
17
|
function getStorageModule() {
|
|
16
18
|
if (!_storageModule) {
|
|
@@ -106,6 +108,10 @@ function buildNativeAdapter(internals) {
|
|
|
106
108
|
notifyAllListeners(internals.getScopedListeners(scope));
|
|
107
109
|
return;
|
|
108
110
|
}
|
|
111
|
+
if (consumeSuppressedNativeEvent(scope, key)) {
|
|
112
|
+
notifyKeyListeners(internals.getScopedListeners(scope), key);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
109
115
|
const oldValue = scope === StorageScope.Secure ? undefined : internals.readCachedRawValue(scope, key);
|
|
110
116
|
if (scope === StorageScope.Secure) {
|
|
111
117
|
internals.invalidateRawCache(scope, key);
|
|
@@ -113,9 +119,6 @@ function buildNativeAdapter(internals) {
|
|
|
113
119
|
internals.cacheRawValue(scope, key, value);
|
|
114
120
|
}
|
|
115
121
|
notifyKeyListeners(internals.getScopedListeners(scope), key);
|
|
116
|
-
if (consumeSuppressedNativeEvent(scope, key)) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
122
|
internals.emitKeyChange(scope, key, oldValue === undefined ? undefined : unescapeCollidingRawValue(oldValue), value === undefined ? undefined : unescapeCollidingRawValue(value), "external", "native");
|
|
120
123
|
});
|
|
121
124
|
scopedUnsubscribers.set(scope, typeof unsubscribe === "function" ? unsubscribe : () => {});
|
|
@@ -180,7 +183,7 @@ export const storage = {
|
|
|
180
183
|
getCapabilities: () => ({
|
|
181
184
|
platform: "native",
|
|
182
185
|
backend: {
|
|
183
|
-
disk: "
|
|
186
|
+
disk: "sqlite",
|
|
184
187
|
secure: nativeSecureBackend
|
|
185
188
|
},
|
|
186
189
|
writeBuffering: resolveNativeWriteBuffering(Platform.OS === "android" ? "android" : "ios", secureWritesBuffered),
|
|
@@ -236,5 +239,11 @@ export async function flushWebStorageBackends() {
|
|
|
236
239
|
// Native platforms do not use web storage backends.
|
|
237
240
|
}
|
|
238
241
|
export { useSetStorage, useStorage, useStorageActions, useStorageSelector, useStorageValue } from "./storage-hooks";
|
|
239
|
-
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* @deprecated Import `createIndexedDBBackend` from
|
|
245
|
+
* `react-native-nitro-storage/indexeddb-backend` instead. The root export
|
|
246
|
+
* will be removed in a future minor release.
|
|
247
|
+
*/
|
|
248
|
+
export const createIndexedDBBackend = createIndexedDBBackendFromSubpath;
|
|
240
249
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","NitroModules","DEFAULT_SECURE_WRITES_ASYNC","resolveNativeWriteBuffering","unescapeCollidingRawValue","assertAccessControlLevel","notifyAllListeners","notifyKeyListeners","createStorageCore","StorageScope","isKeychainLockedError","AccessControl","BiometricLevel","migrateFromMMKV","getStorageErrorCode","isStorageError","_storageModule","getStorageModule","createHybridObject","nativeSecureBackend","nativeBackend","get","key","scope","set","value","remove","clear","has","getAllKeys","getKeysByPrefix","prefix","size","setBatch","keys","values","getBatch","removeBatch","removeByPrefix","setSecureAccessControl","level","getSecureBiometric","setSecureBiometricWithLevel","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","buildNativeAdapter","internals","scopedUnsubscribers","Map","suppressedNativeEvents","Disk","Secure","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","count","undefined","delete","ensureNativeScopeSubscription","unsubscribe","addOnChange","clearAllPendingDiskWrites","clearPendingDiskWrite","clearAllPendingSecureWrites","clearPendingSecureWrite","clearScopeRawCache","getScopedListeners","oldValue","readCachedRawValue","invalidateRawCache","cacheRawValue","emitKeyChange","maybeCleanupNativeScopeSubscription","listeners","hasScopeEventListeners","hasEventObserver","backend","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","operation","source","Memory","forEach","getSecureMetadataProfile","encrypted","hardwareBacked","core","secureWritesBuffered","storage","setAccessControl","measureOperation","setSecureDefaultAccessControl","setSecureWritesAsync","enabled","setKeychainAccessGroup","group","getCapabilities","platform","disk","secure","writeBuffering","OS","errorClassification","getSecurityCapabilities","secureStorage","accessControl","keychainAccessGroup","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","useSetStorage","useStorage","useStorageActions","useStorageSelector","useStorageValue","createIndexedDBBackend"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","NitroModules","DEFAULT_SECURE_WRITES_ASYNC","resolveNativeWriteBuffering","createIndexedDBBackend","createIndexedDBBackendFromSubpath","unescapeCollidingRawValue","assertAccessControlLevel","notifyAllListeners","notifyKeyListeners","createStorageCore","StorageScope","isKeychainLockedError","AccessControl","BiometricLevel","migrateFromMMKV","getStorageErrorCode","isStorageError","describeWebBackendCapabilities","isIndexedDBWebBackend","_storageModule","getStorageModule","createHybridObject","nativeSecureBackend","nativeBackend","get","key","scope","set","value","remove","clear","has","getAllKeys","getKeysByPrefix","prefix","size","setBatch","keys","values","getBatch","removeBatch","removeByPrefix","setSecureAccessControl","level","getSecureBiometric","setSecureBiometricWithLevel","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","buildNativeAdapter","internals","scopedUnsubscribers","Map","suppressedNativeEvents","Disk","Secure","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","count","undefined","delete","ensureNativeScopeSubscription","unsubscribe","addOnChange","clearAllPendingDiskWrites","clearPendingDiskWrite","clearAllPendingSecureWrites","clearPendingSecureWrite","clearScopeRawCache","getScopedListeners","oldValue","readCachedRawValue","invalidateRawCache","cacheRawValue","emitKeyChange","maybeCleanupNativeScopeSubscription","listeners","hasScopeEventListeners","hasEventObserver","backend","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","operation","source","Memory","forEach","getSecureMetadataProfile","encrypted","hardwareBacked","core","secureWritesBuffered","storage","setAccessControl","measureOperation","setSecureDefaultAccessControl","setSecureWritesAsync","enabled","setKeychainAccessGroup","group","getCapabilities","platform","disk","secure","writeBuffering","OS","errorClassification","getSecurityCapabilities","secureStorage","accessControl","keychainAccessGroup","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","useSetStorage","useStorage","useStorageActions","useStorageSelector","useStorageValue"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.web.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { resolveWebWriteBuffering } from "./capabilities";
|
|
4
|
+
import { createIndexedDBBackend as createIndexedDBBackendFromSubpath } from "./indexeddb-backend";
|
|
4
5
|
import { unescapeCollidingRawValue } from "./internal";
|
|
5
6
|
import { assertAccessControlLevel, createStorageCompositeError, assertBiometricLevel, notifyAllListeners, notifyKeyListeners } from "./shared";
|
|
6
7
|
import { createStorageCore } from "./storage-core";
|
|
@@ -27,16 +28,21 @@ function getInternals() {
|
|
|
27
28
|
}
|
|
28
29
|
return internals;
|
|
29
30
|
}
|
|
31
|
+
const DEFAULT_DISK_BACKEND_NAME = "localStorage:disk";
|
|
32
|
+
const DEFAULT_SECURE_BACKEND_NAME = "localStorage:secure";
|
|
33
|
+
function isSecureWebStorageKey(key) {
|
|
34
|
+
return key.startsWith(SECURE_WEB_PREFIX) || key.startsWith(BIOMETRIC_WEB_PREFIX);
|
|
35
|
+
}
|
|
30
36
|
function createDefaultDiskBackend() {
|
|
31
37
|
return createLocalStorageWebBackend({
|
|
32
|
-
name:
|
|
33
|
-
includeKey: key => !
|
|
38
|
+
name: DEFAULT_DISK_BACKEND_NAME,
|
|
39
|
+
includeKey: key => !isSecureWebStorageKey(key)
|
|
34
40
|
});
|
|
35
41
|
}
|
|
36
42
|
function createDefaultSecureBackend() {
|
|
37
43
|
return createLocalStorageWebBackend({
|
|
38
|
-
name:
|
|
39
|
-
includeKey:
|
|
44
|
+
name: DEFAULT_SECURE_BACKEND_NAME,
|
|
45
|
+
includeKey: isSecureWebStorageKey
|
|
40
46
|
});
|
|
41
47
|
}
|
|
42
48
|
let webDiskStorageBackend = createDefaultDiskBackend();
|
|
@@ -97,7 +103,9 @@ function replaceWebScopeKeyIndex(scope, keys) {
|
|
|
97
103
|
keyIndex.clear();
|
|
98
104
|
for (const key of keys) {
|
|
99
105
|
if (scope === StorageScope.Disk) {
|
|
100
|
-
|
|
106
|
+
if (!isSecureWebStorageKey(key)) {
|
|
107
|
+
keyIndex.add(key);
|
|
108
|
+
}
|
|
101
109
|
continue;
|
|
102
110
|
}
|
|
103
111
|
if (key.startsWith(SECURE_WEB_PREFIX)) {
|
|
@@ -208,18 +216,28 @@ function applyExternalChangeEvent(scope, key, newValue) {
|
|
|
208
216
|
notifyKeyListeners(getInternals().getScopedListeners(scope), key);
|
|
209
217
|
getInternals().emitKeyChange(scope, key, oldValue === undefined ? undefined : unescapeCollidingRawValue(oldValue), newValue === null ? undefined : unescapeCollidingRawValue(newValue), "external", "external");
|
|
210
218
|
}
|
|
219
|
+
function usesDefaultLocalStorageBackend(scope) {
|
|
220
|
+
return getWebBackend(scope)?.name === (scope === StorageScope.Disk ? DEFAULT_DISK_BACKEND_NAME : DEFAULT_SECURE_BACKEND_NAME);
|
|
221
|
+
}
|
|
211
222
|
function handleWebStorageEvent(event) {
|
|
223
|
+
if (typeof globalThis.localStorage === "undefined" || event.storageArea !== globalThis.localStorage) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
212
226
|
const key = event.key;
|
|
213
227
|
if (key === null) {
|
|
214
|
-
|
|
215
|
-
|
|
228
|
+
if (usesDefaultLocalStorageBackend(StorageScope.Disk)) {
|
|
229
|
+
applyExternalChangeEvent(StorageScope.Disk, null, null);
|
|
230
|
+
}
|
|
231
|
+
if (usesDefaultLocalStorageBackend(StorageScope.Secure)) {
|
|
232
|
+
applyExternalChangeEvent(StorageScope.Secure, null, null);
|
|
233
|
+
}
|
|
216
234
|
return;
|
|
217
235
|
}
|
|
218
|
-
|
|
219
|
-
|
|
236
|
+
const scope = isSecureWebStorageKey(key) ? StorageScope.Secure : StorageScope.Disk;
|
|
237
|
+
if (!usesDefaultLocalStorageBackend(scope)) {
|
|
220
238
|
return;
|
|
221
239
|
}
|
|
222
|
-
applyExternalChangeEvent(
|
|
240
|
+
applyExternalChangeEvent(scope, key, event.newValue);
|
|
223
241
|
}
|
|
224
242
|
function subscribeToBackendChanges(scope) {
|
|
225
243
|
if (externalSyncUnsubscribers.has(scope)) {
|
|
@@ -230,6 +248,20 @@ function subscribeToBackendChanges(scope) {
|
|
|
230
248
|
return;
|
|
231
249
|
}
|
|
232
250
|
const unsubscribe = backend.subscribe(event => {
|
|
251
|
+
if (webDiskStorageBackend !== webSecureStorageBackend) {
|
|
252
|
+
applyExternalChangeEvent(scope, event.key, event.newValue);
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
if (event.key === null) {
|
|
256
|
+
getInternals().clearScopeRawCache(scope);
|
|
257
|
+
reconcileWebScopeKeyIndex(scope);
|
|
258
|
+
notifyAllListeners(getInternals().getScopedListeners(scope));
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
const eventScope = isSecureWebStorageKey(event.key) ? StorageScope.Secure : StorageScope.Disk;
|
|
262
|
+
if (eventScope !== scope) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
233
265
|
applyExternalChangeEvent(scope, event.key, event.newValue);
|
|
234
266
|
});
|
|
235
267
|
externalSyncUnsubscribers.set(scope, unsubscribe);
|
|
@@ -324,7 +356,18 @@ const WebStorage = {
|
|
|
324
356
|
}
|
|
325
357
|
try {
|
|
326
358
|
withWebBackendOperation(scope, "clear", backend => {
|
|
327
|
-
|
|
359
|
+
if (webDiskStorageBackend !== webSecureStorageBackend) {
|
|
360
|
+
backend.clear();
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
const ownedKeys = backend.getAllKeys().filter(key => scope === StorageScope.Secure ? isSecureWebStorageKey(key) : !isSecureWebStorageKey(key));
|
|
364
|
+
if (backend.removeMany) {
|
|
365
|
+
backend.removeMany(ownedKeys);
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
ownedKeys.forEach(key => {
|
|
369
|
+
backend.removeItem(key);
|
|
370
|
+
});
|
|
328
371
|
});
|
|
329
372
|
} catch (error) {
|
|
330
373
|
throwAfterWebMutationFailure(scope, "clear", error);
|
|
@@ -711,5 +754,11 @@ export async function flushWebStorageBackends() {
|
|
|
711
754
|
}
|
|
712
755
|
}
|
|
713
756
|
export { useSetStorage, useStorage, useStorageActions, useStorageSelector, useStorageValue } from "./storage-hooks";
|
|
714
|
-
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* @deprecated Import `createIndexedDBBackend` from
|
|
760
|
+
* `react-native-nitro-storage/indexeddb-backend` instead. The root export
|
|
761
|
+
* will be removed in a future minor release.
|
|
762
|
+
*/
|
|
763
|
+
export const createIndexedDBBackend = createIndexedDBBackendFromSubpath;
|
|
715
764
|
//# sourceMappingURL=index.web.js.map
|