react-native-nitro-storage 0.4.1 → 0.4.3
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 +39 -0
- package/android/build.gradle +0 -12
- package/android/consumer-rules.pro +26 -4
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +7 -10
- package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +0 -4
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +172 -77
- package/cpp/bindings/HybridStorage.cpp +120 -69
- package/cpp/bindings/HybridStorage.hpp +4 -0
- package/ios/IOSStorageAdapterCpp.hpp +2 -1
- package/ios/IOSStorageAdapterCpp.mm +264 -49
- package/lib/commonjs/index.js +73 -21
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +120 -42
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/internal.js +51 -23
- package/lib/commonjs/internal.js.map +1 -1
- package/lib/module/index.js +72 -21
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +119 -42
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/internal.js +51 -23
- package/lib/module/internal.js.map +1 -1
- package/lib/typescript/index.d.ts +4 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +5 -1
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/internal.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +83 -28
- package/src/index.web.ts +135 -50
- package/src/internal.ts +51 -23
package/lib/module/internal.js
CHANGED
|
@@ -4,6 +4,15 @@ import { StorageScope } from "./Storage.types";
|
|
|
4
4
|
export const MIGRATION_VERSION_KEY = "__nitro_storage_migration_version__";
|
|
5
5
|
export const NATIVE_BATCH_MISSING_SENTINEL = "__nitro_storage_batch_missing__::v1";
|
|
6
6
|
const PRIMITIVE_FAST_PATH_PREFIX = "__nitro_storage_primitive__:";
|
|
7
|
+
const PRIM_NULL = "__nitro_storage_primitive__:l";
|
|
8
|
+
const PRIM_UNDEFINED = "__nitro_storage_primitive__:u";
|
|
9
|
+
const PRIM_TRUE = "__nitro_storage_primitive__:b:1";
|
|
10
|
+
const PRIM_FALSE = "__nitro_storage_primitive__:b:0";
|
|
11
|
+
const PRIM_STRING_PREFIX = "__nitro_storage_primitive__:s:";
|
|
12
|
+
const PRIM_NUMBER_PREFIX = "__nitro_storage_primitive__:n:";
|
|
13
|
+
const PRIM_INFINITY = "__nitro_storage_primitive__:n:Infinity";
|
|
14
|
+
const PRIM_NEG_INFINITY = "__nitro_storage_primitive__:n:-Infinity";
|
|
15
|
+
const PRIM_NAN = "__nitro_storage_primitive__:n:NaN";
|
|
7
16
|
const NAMESPACE_SEPARATOR = ":";
|
|
8
17
|
const VERSION_TOKEN_PREFIX = "__nitro_storage_version__:";
|
|
9
18
|
export function isStoredEnvelope(value) {
|
|
@@ -42,20 +51,29 @@ export function isNamespaced(key, namespace) {
|
|
|
42
51
|
}
|
|
43
52
|
export function serializeWithPrimitiveFastPath(value) {
|
|
44
53
|
if (value === null) {
|
|
45
|
-
return
|
|
54
|
+
return PRIM_NULL;
|
|
46
55
|
}
|
|
47
56
|
switch (typeof value) {
|
|
48
57
|
case "string":
|
|
49
|
-
return
|
|
58
|
+
return PRIM_STRING_PREFIX + value;
|
|
50
59
|
case "number":
|
|
51
60
|
if (Number.isFinite(value)) {
|
|
52
|
-
return
|
|
61
|
+
return PRIM_NUMBER_PREFIX + String(value);
|
|
62
|
+
}
|
|
63
|
+
if (Number.isNaN(value)) {
|
|
64
|
+
return PRIM_NAN;
|
|
65
|
+
}
|
|
66
|
+
if (value === Infinity) {
|
|
67
|
+
return PRIM_INFINITY;
|
|
68
|
+
}
|
|
69
|
+
if (value === -Infinity) {
|
|
70
|
+
return PRIM_NEG_INFINITY;
|
|
53
71
|
}
|
|
54
72
|
break;
|
|
55
73
|
case "boolean":
|
|
56
|
-
return
|
|
74
|
+
return value ? PRIM_TRUE : PRIM_FALSE;
|
|
57
75
|
case "undefined":
|
|
58
|
-
return
|
|
76
|
+
return PRIM_UNDEFINED;
|
|
59
77
|
default:
|
|
60
78
|
break;
|
|
61
79
|
}
|
|
@@ -65,30 +83,40 @@ export function serializeWithPrimitiveFastPath(value) {
|
|
|
65
83
|
}
|
|
66
84
|
return serialized;
|
|
67
85
|
}
|
|
86
|
+
|
|
87
|
+
// charCode constants for fast tag dispatch
|
|
88
|
+
const CHAR_U = 117; // 'u'
|
|
89
|
+
const CHAR_L = 108; // 'l'
|
|
90
|
+
const CHAR_S = 115; // 's'
|
|
91
|
+
const CHAR_B = 98; // 'b'
|
|
92
|
+
const CHAR_N = 110; // 'n'
|
|
93
|
+
|
|
68
94
|
export function deserializeWithPrimitiveFastPath(value) {
|
|
69
95
|
if (value.startsWith(PRIMITIVE_FAST_PATH_PREFIX)) {
|
|
70
|
-
const
|
|
71
|
-
|
|
96
|
+
const prefixLen = PRIMITIVE_FAST_PATH_PREFIX.length;
|
|
97
|
+
const tagChar = value.charCodeAt(prefixLen);
|
|
98
|
+
if (tagChar === CHAR_U) {
|
|
72
99
|
return undefined;
|
|
73
100
|
}
|
|
74
|
-
if (
|
|
101
|
+
if (tagChar === CHAR_L) {
|
|
75
102
|
return null;
|
|
76
103
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
if (
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
104
|
+
|
|
105
|
+
// Tagged values have format: prefix + tag + ':' + payload
|
|
106
|
+
const payload = value.slice(prefixLen + 2);
|
|
107
|
+
if (tagChar === CHAR_S) {
|
|
108
|
+
return payload;
|
|
109
|
+
}
|
|
110
|
+
if (tagChar === CHAR_B) {
|
|
111
|
+
return payload === "1";
|
|
112
|
+
}
|
|
113
|
+
if (tagChar === CHAR_N) {
|
|
114
|
+
if (payload === "NaN") return NaN;
|
|
115
|
+
if (payload === "Infinity") return Infinity;
|
|
116
|
+
if (payload === "-Infinity") return -Infinity;
|
|
117
|
+
const parsed = Number(payload);
|
|
118
|
+
if (Number.isFinite(parsed)) {
|
|
119
|
+
return parsed;
|
|
92
120
|
}
|
|
93
121
|
}
|
|
94
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","NAMESPACE_SEPARATOR","VERSION_TOKEN_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","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","
|
|
1
|
+
{"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","PRIM_NULL","PRIM_UNDEFINED","PRIM_TRUE","PRIM_FALSE","PRIM_STRING_PREFIX","PRIM_NUMBER_PREFIX","PRIM_INFINITY","PRIM_NEG_INFINITY","PRIM_NAN","NAMESPACE_SEPARATOR","VERSION_TOKEN_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","isNaN","Infinity","serialized","JSON","stringify","CHAR_U","CHAR_L","CHAR_S","CHAR_B","CHAR_N","deserializeWithPrimitiveFastPath","prefixLen","length","tagChar","charCodeAt","slice","NaN","parsed","parse","fnv1aHash","hash","index","Math","imul","toString","padStart","toVersionToken","raw","normalized"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -65,6 +65,9 @@ export declare const storage: {
|
|
|
65
65
|
setMetricsObserver: (observer?: StorageMetricsObserver) => void;
|
|
66
66
|
getMetricsSnapshot: () => Record<string, StorageMetricSummary>;
|
|
67
67
|
resetMetrics: () => void;
|
|
68
|
+
getString: (key: string, scope: StorageScope) => string | undefined;
|
|
69
|
+
setString: (key: string, value: string, scope: StorageScope) => void;
|
|
70
|
+
deleteString: (key: string, scope: StorageScope) => void;
|
|
68
71
|
import: (data: Record<string, string>, scope: StorageScope) => void;
|
|
69
72
|
};
|
|
70
73
|
export declare function setWebSecureStorageBackend(_backend?: WebSecureStorageBackend): void;
|
|
@@ -127,6 +130,7 @@ export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
|
|
|
127
130
|
biometricLevel?: BiometricLevel;
|
|
128
131
|
accessControl?: AccessControl;
|
|
129
132
|
}>;
|
|
133
|
+
export declare function isKeychainLockedError(err: unknown): boolean;
|
|
130
134
|
export declare function createSecureAuthStorage<K extends string>(config: SecureAuthStorageConfig<K>, options?: {
|
|
131
135
|
namespace?: string;
|
|
132
136
|
}): Record<K, StorageItem<string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,13 +84,16 @@ export declare const storage: {
|
|
|
84
84
|
getByPrefix: (prefix: string, scope: StorageScope) => Record<string, string>;
|
|
85
85
|
getAll: (scope: StorageScope) => Record<string, string>;
|
|
86
86
|
size: (scope: StorageScope) => number;
|
|
87
|
-
setAccessControl: (
|
|
87
|
+
setAccessControl: (level: AccessControl) => void;
|
|
88
88
|
setSecureWritesAsync: (_enabled: boolean) => void;
|
|
89
89
|
flushSecureWrites: () => void;
|
|
90
90
|
setKeychainAccessGroup: (_group: string) => void;
|
|
91
91
|
setMetricsObserver: (observer?: StorageMetricsObserver) => void;
|
|
92
92
|
getMetricsSnapshot: () => Record<string, StorageMetricSummary>;
|
|
93
93
|
resetMetrics: () => void;
|
|
94
|
+
getString: (key: string, scope: StorageScope) => string | undefined;
|
|
95
|
+
setString: (key: string, value: string, scope: StorageScope) => void;
|
|
96
|
+
deleteString: (key: string, scope: StorageScope) => void;
|
|
94
97
|
import: (data: Record<string, string>, scope: StorageScope) => void;
|
|
95
98
|
};
|
|
96
99
|
export declare function setWebSecureStorageBackend(backend?: WebSecureStorageBackend): void;
|
|
@@ -156,4 +159,5 @@ export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
|
|
|
156
159
|
export declare function createSecureAuthStorage<K extends string>(config: SecureAuthStorageConfig<K>, options?: {
|
|
157
160
|
namespace?: string;
|
|
158
161
|
}): Record<K, StorageItem<string>>;
|
|
162
|
+
export declare function isKeychainLockedError(_err: unknown): boolean;
|
|
159
163
|
//# sourceMappingURL=index.web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAc9E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,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,GAAG;IACpC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,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;AA8CF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,WAAW,CACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GACzD,MAAM,IAAI,CAAC;IACd,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7E,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,oBAAoB,IAAI,IAAI,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAC3E,eAAO,MAAM,6BAA6B,wCACH,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAC3E,eAAO,MAAM,6BAA6B,wCACH,CAAC;AAcxC,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB,EAAE,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAWxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAQ1D;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,KAAK,EAAE,YAAY,GAClB,IAAI,CAaN;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,8BAA8B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAqClE;AASD,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAqCpE;AAWD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAgBnD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-storage",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "The fastest, most complete storage solution for React Native. Synchronous Memory, Disk, and Secure storage in one unified API. Built with Nitro Modules.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
package/src/index.ts
CHANGED
|
@@ -173,6 +173,9 @@ function measureOperation<T>(
|
|
|
173
173
|
fn: () => T,
|
|
174
174
|
keysCount = 1,
|
|
175
175
|
): T {
|
|
176
|
+
if (!metricsObserver) {
|
|
177
|
+
return fn();
|
|
178
|
+
}
|
|
176
179
|
const start = Date.now();
|
|
177
180
|
try {
|
|
178
181
|
return fn();
|
|
@@ -215,13 +218,20 @@ function clearScopeRawCache(scope: NonMemoryScope): void {
|
|
|
215
218
|
}
|
|
216
219
|
|
|
217
220
|
function notifyKeyListeners(registry: KeyListenerRegistry, key: string): void {
|
|
218
|
-
registry.get(key)
|
|
221
|
+
const listeners = registry.get(key);
|
|
222
|
+
if (listeners) {
|
|
223
|
+
for (const listener of listeners) {
|
|
224
|
+
listener();
|
|
225
|
+
}
|
|
226
|
+
}
|
|
219
227
|
}
|
|
220
228
|
|
|
221
229
|
function notifyAllListeners(registry: KeyListenerRegistry): void {
|
|
222
|
-
registry.
|
|
223
|
-
|
|
224
|
-
|
|
230
|
+
for (const listeners of registry.values()) {
|
|
231
|
+
for (const listener of listeners) {
|
|
232
|
+
listener();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
225
235
|
}
|
|
226
236
|
|
|
227
237
|
function addKeyListener(
|
|
@@ -470,7 +480,12 @@ export const storage = {
|
|
|
470
480
|
flushSecureWrites();
|
|
471
481
|
}
|
|
472
482
|
|
|
473
|
-
|
|
483
|
+
const scopeCache = getScopeRawCache(scope);
|
|
484
|
+
for (const key of scopeCache.keys()) {
|
|
485
|
+
if (isNamespaced(key, namespace)) {
|
|
486
|
+
scopeCache.delete(key);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
474
489
|
getStorageModule().removeByPrefix(keyPrefix, scope);
|
|
475
490
|
});
|
|
476
491
|
},
|
|
@@ -616,13 +631,28 @@ export const storage = {
|
|
|
616
631
|
resetMetrics: () => {
|
|
617
632
|
metricsCounters.clear();
|
|
618
633
|
},
|
|
634
|
+
getString: (key: string, scope: StorageScope): string | undefined => {
|
|
635
|
+
return measureOperation("storage:getString", scope, () => {
|
|
636
|
+
return getRawValue(key, scope);
|
|
637
|
+
});
|
|
638
|
+
},
|
|
639
|
+
setString: (key: string, value: string, scope: StorageScope): void => {
|
|
640
|
+
measureOperation("storage:setString", scope, () => {
|
|
641
|
+
setRawValue(key, value, scope);
|
|
642
|
+
});
|
|
643
|
+
},
|
|
644
|
+
deleteString: (key: string, scope: StorageScope): void => {
|
|
645
|
+
measureOperation("storage:deleteString", scope, () => {
|
|
646
|
+
removeRawValue(key, scope);
|
|
647
|
+
});
|
|
648
|
+
},
|
|
619
649
|
import: (data: Record<string, string>, scope: StorageScope): void => {
|
|
650
|
+
const keys = Object.keys(data);
|
|
620
651
|
measureOperation(
|
|
621
652
|
"storage:import",
|
|
622
653
|
scope,
|
|
623
654
|
() => {
|
|
624
655
|
assertValidScope(scope);
|
|
625
|
-
const keys = Object.keys(data);
|
|
626
656
|
if (keys.length === 0) return;
|
|
627
657
|
const values = keys.map((k) => data[k]!);
|
|
628
658
|
|
|
@@ -642,7 +672,7 @@ export const storage = {
|
|
|
642
672
|
getStorageModule().setBatch(keys, values, scope);
|
|
643
673
|
keys.forEach((key, index) => cacheRawValue(scope, key, values[index]));
|
|
644
674
|
},
|
|
645
|
-
|
|
675
|
+
keys.length,
|
|
646
676
|
);
|
|
647
677
|
},
|
|
648
678
|
};
|
|
@@ -822,17 +852,18 @@ export function createStorageItem<T = undefined>(
|
|
|
822
852
|
return memoryStore.get(storageKey);
|
|
823
853
|
}
|
|
824
854
|
|
|
825
|
-
if (
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
return readPendingSecureWrite(storageKey);
|
|
855
|
+
if (nonMemoryScope === StorageScope.Secure && !isBiometric) {
|
|
856
|
+
const pending = pendingSecureWrites.get(storageKey);
|
|
857
|
+
if (pending !== undefined) {
|
|
858
|
+
return pending.value;
|
|
859
|
+
}
|
|
831
860
|
}
|
|
832
861
|
|
|
833
862
|
if (readCache) {
|
|
834
|
-
|
|
835
|
-
|
|
863
|
+
const cache = getScopeRawCache(nonMemoryScope!);
|
|
864
|
+
const cached = cache.get(storageKey);
|
|
865
|
+
if (cached !== undefined || cache.has(storageKey)) {
|
|
866
|
+
return cached;
|
|
836
867
|
}
|
|
837
868
|
}
|
|
838
869
|
|
|
@@ -1049,14 +1080,13 @@ export function createStorageItem<T = undefined>(
|
|
|
1049
1080
|
? valueOrFn(getInternal())
|
|
1050
1081
|
: valueOrFn;
|
|
1051
1082
|
|
|
1052
|
-
invalidateParsedCache();
|
|
1053
|
-
|
|
1054
1083
|
if (validate && !validate(newValue)) {
|
|
1055
1084
|
throw new Error(
|
|
1056
1085
|
`Validation failed for key "${storageKey}" in scope "${StorageScope[config.scope]}".`,
|
|
1057
1086
|
);
|
|
1058
1087
|
}
|
|
1059
1088
|
|
|
1089
|
+
invalidateParsedCache();
|
|
1060
1090
|
writeValueWithoutValidation(newValue);
|
|
1061
1091
|
});
|
|
1062
1092
|
};
|
|
@@ -1195,15 +1225,18 @@ export function getBatch(
|
|
|
1195
1225
|
|
|
1196
1226
|
items.forEach((item, index) => {
|
|
1197
1227
|
if (scope === StorageScope.Secure) {
|
|
1198
|
-
|
|
1199
|
-
|
|
1228
|
+
const pending = pendingSecureWrites.get(item.key);
|
|
1229
|
+
if (pending !== undefined) {
|
|
1230
|
+
rawValues[index] = pending.value;
|
|
1200
1231
|
return;
|
|
1201
1232
|
}
|
|
1202
1233
|
}
|
|
1203
1234
|
|
|
1204
1235
|
if (item._readCacheEnabled === true) {
|
|
1205
|
-
|
|
1206
|
-
|
|
1236
|
+
const cache = getScopeRawCache(scope);
|
|
1237
|
+
const cached = cache.get(item.key);
|
|
1238
|
+
if (cached !== undefined || cache.has(item.key)) {
|
|
1239
|
+
rawValues[index] = cached;
|
|
1207
1240
|
return;
|
|
1208
1241
|
}
|
|
1209
1242
|
}
|
|
@@ -1400,10 +1433,13 @@ export function migrateToLatest(
|
|
|
1400
1433
|
return;
|
|
1401
1434
|
}
|
|
1402
1435
|
migration(context);
|
|
1403
|
-
writeMigrationVersion(scope, version);
|
|
1404
1436
|
appliedVersion = version;
|
|
1405
1437
|
});
|
|
1406
1438
|
|
|
1439
|
+
if (appliedVersion !== currentVersion) {
|
|
1440
|
+
writeMigrationVersion(scope, appliedVersion);
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1407
1443
|
return appliedVersion;
|
|
1408
1444
|
});
|
|
1409
1445
|
}
|
|
@@ -1418,13 +1454,18 @@ export function runTransaction<T>(
|
|
|
1418
1454
|
flushSecureWrites();
|
|
1419
1455
|
}
|
|
1420
1456
|
|
|
1421
|
-
const
|
|
1457
|
+
const NOT_SET = Symbol();
|
|
1458
|
+
const rollback = new Map<string, unknown>();
|
|
1422
1459
|
|
|
1423
1460
|
const rememberRollback = (key: string) => {
|
|
1424
1461
|
if (rollback.has(key)) {
|
|
1425
1462
|
return;
|
|
1426
1463
|
}
|
|
1427
|
-
|
|
1464
|
+
if (scope === StorageScope.Memory) {
|
|
1465
|
+
rollback.set(key, memoryStore.has(key) ? memoryStore.get(key) : NOT_SET);
|
|
1466
|
+
} else {
|
|
1467
|
+
rollback.set(key, getRawValue(key, scope));
|
|
1468
|
+
}
|
|
1428
1469
|
};
|
|
1429
1470
|
|
|
1430
1471
|
const tx: TransactionContext = {
|
|
@@ -1460,11 +1501,12 @@ export function runTransaction<T>(
|
|
|
1460
1501
|
const rollbackEntries = Array.from(rollback.entries()).reverse();
|
|
1461
1502
|
if (scope === StorageScope.Memory) {
|
|
1462
1503
|
rollbackEntries.forEach(([key, previousValue]) => {
|
|
1463
|
-
if (previousValue ===
|
|
1464
|
-
|
|
1504
|
+
if (previousValue === NOT_SET) {
|
|
1505
|
+
memoryStore.delete(key);
|
|
1465
1506
|
} else {
|
|
1466
|
-
|
|
1507
|
+
memoryStore.set(key, previousValue);
|
|
1467
1508
|
}
|
|
1509
|
+
notifyKeyListeners(memoryListeners, key);
|
|
1468
1510
|
});
|
|
1469
1511
|
} else {
|
|
1470
1512
|
const keysToSet: string[] = [];
|
|
@@ -1476,7 +1518,7 @@ export function runTransaction<T>(
|
|
|
1476
1518
|
keysToRemove.push(key);
|
|
1477
1519
|
} else {
|
|
1478
1520
|
keysToSet.push(key);
|
|
1479
|
-
valuesToSet.push(previousValue);
|
|
1521
|
+
valuesToSet.push(previousValue as string);
|
|
1480
1522
|
}
|
|
1481
1523
|
});
|
|
1482
1524
|
|
|
@@ -1509,6 +1551,19 @@ export type SecureAuthStorageConfig<K extends string = string> = Record<
|
|
|
1509
1551
|
}
|
|
1510
1552
|
>;
|
|
1511
1553
|
|
|
1554
|
+
export function isKeychainLockedError(err: unknown): boolean {
|
|
1555
|
+
if (!(err instanceof Error)) return false;
|
|
1556
|
+
const msg = err.message;
|
|
1557
|
+
return (
|
|
1558
|
+
msg.includes("errSecInteractionNotAllowed") ||
|
|
1559
|
+
msg.includes("UserNotAuthenticatedException") ||
|
|
1560
|
+
msg.includes("KeyStoreException") ||
|
|
1561
|
+
msg.includes("KeyPermanentlyInvalidatedException") ||
|
|
1562
|
+
msg.includes("InvalidKeyException") ||
|
|
1563
|
+
msg.includes("android.security.keystore")
|
|
1564
|
+
);
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1512
1567
|
export function createSecureAuthStorage<K extends string>(
|
|
1513
1568
|
config: SecureAuthStorageConfig<K>,
|
|
1514
1569
|
options?: { namespace?: string },
|