@onekeyfe/react-native-async-storage 3.0.78 → 3.0.80
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/android/src/main/java/com/asyncstorage/RNCAsyncStorageModule.kt +0 -4
- package/ios/AsyncStorage.h +0 -3
- package/ios/AsyncStorage.mm +0 -16
- package/lib/module/NativeAsyncStorage.web.js +1 -2
- package/lib/module/index.js +10 -61
- package/lib/typescript/src/NativeAsyncStorage.d.ts +0 -1
- package/lib/typescript/src/NativeAsyncStorage.web.d.ts +1 -4
- package/lib/typescript/src/index.d.ts +0 -2
- package/package.json +1 -1
- package/src/NativeAsyncStorage.ts +0 -1
- package/src/NativeAsyncStorage.web.ts +1 -6
- package/src/index.tsx +10 -127
- package/lib/module/runtimeConfig.js +0 -40
- package/lib/typescript/src/runtimeConfig.d.ts +0 -16
- package/src/runtimeConfig.ts +0 -86
|
@@ -292,10 +292,6 @@ class RNCAsyncStorageModule(reactContext: ReactApplicationContext) :
|
|
|
292
292
|
}
|
|
293
293
|
}
|
|
294
294
|
|
|
295
|
-
override fun reloadManifest(promise: Promise) {
|
|
296
|
-
promise.resolve(null)
|
|
297
|
-
}
|
|
298
|
-
|
|
299
295
|
// --- Private helpers (ported from AsyncLocalStorageUtil.java) ---
|
|
300
296
|
|
|
301
297
|
private fun ensureDatabase(): Boolean {
|
package/ios/AsyncStorage.h
CHANGED
package/ios/AsyncStorage.mm
CHANGED
|
@@ -711,20 +711,4 @@ static void RCTStorageDirectoryMigrationCheck(NSString *fromStorageDirectory,
|
|
|
711
711
|
});
|
|
712
712
|
}
|
|
713
713
|
|
|
714
|
-
- (void)reloadManifest:(RCTPromiseResolveBlock)resolve
|
|
715
|
-
reject:(RCTPromiseRejectBlock)reject
|
|
716
|
-
{
|
|
717
|
-
dispatch_async(RCTGetMethodQueue(), ^{
|
|
718
|
-
self->_haveSetup = NO;
|
|
719
|
-
NSDictionary *ensureSetupError = [self _ensureSetup];
|
|
720
|
-
if (ensureSetupError) {
|
|
721
|
-
reject(@"ASYNC_STORAGE_ERROR",
|
|
722
|
-
ensureSetupError[@"message"] ?: @"Storage setup failed",
|
|
723
|
-
nil);
|
|
724
|
-
return;
|
|
725
|
-
}
|
|
726
|
-
resolve(nil);
|
|
727
|
-
});
|
|
728
|
-
}
|
|
729
|
-
|
|
730
714
|
@end
|
|
@@ -135,8 +135,7 @@ const AsyncStorage = {
|
|
|
135
135
|
multiMerge: (keyValuePairs, callback) => {
|
|
136
136
|
const promises = keyValuePairs.map(item => AsyncStorage.mergeItem(item[0], item[1]));
|
|
137
137
|
return createPromiseAll(promises, callback);
|
|
138
|
-
}
|
|
139
|
-
reloadManifest: () => Promise.resolve()
|
|
138
|
+
}
|
|
140
139
|
};
|
|
141
140
|
export default AsyncStorage;
|
|
142
141
|
//# sourceMappingURL=NativeAsyncStorage.web.js.map
|
package/lib/module/index.js
CHANGED
|
@@ -1,45 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import NativeModule from './NativeAsyncStorage';
|
|
4
|
-
import { forwardAsyncStorageWrite, forwardAsyncStorageWriteIfNeeded, shouldForwardAsyncStorageWrite } from "./runtimeConfig.js";
|
|
5
|
-
async function forwardWriteAndReloadManifestIfNeeded(method, args) {
|
|
6
|
-
if (!(await forwardAsyncStorageWriteIfNeeded(method, args))) {
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
await NativeModule.reloadManifest();
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
async function runLocalWriteWithFreshManifest(write) {
|
|
13
|
-
// This narrows the local-write stale manifest window, but it does not make
|
|
14
|
-
// uninjected writes cross-runtime serialized. Writes that already completed
|
|
15
|
-
// before forwarder installation keep the legacy local-write semantics.
|
|
16
|
-
await NativeModule.reloadManifest();
|
|
17
|
-
await write();
|
|
18
|
-
}
|
|
19
|
-
async function runReadWithFreshManifest(read) {
|
|
20
|
-
// iOS keeps one manifest cache per runtime/module instance while the files on
|
|
21
|
-
// disk are shared. Refresh before reads so main can observe bg-origin writes
|
|
22
|
-
// without routing reads through the bg runtime. Android/web implementations
|
|
23
|
-
// expose reloadManifest as a no-op.
|
|
24
|
-
await NativeModule.reloadManifest();
|
|
25
|
-
return read();
|
|
26
|
-
}
|
|
27
|
-
async function forwardClearAsMultiRemoveIfNeeded() {
|
|
28
|
-
if (!shouldForwardAsyncStorageWrite()) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
await NativeModule.reloadManifest();
|
|
32
|
-
const keys = [...(await NativeModule.getAllKeys())];
|
|
33
|
-
// Use the fresh main-runtime key list; bg clear may enumerate from a stale
|
|
34
|
-
// manifest.
|
|
35
|
-
await forwardAsyncStorageWrite('multiRemove', [keys]);
|
|
36
|
-
await NativeModule.reloadManifest();
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
4
|
function createAsyncStorage() {
|
|
40
5
|
const getItem = async (key, callback) => {
|
|
41
6
|
try {
|
|
42
|
-
const result = await
|
|
7
|
+
const result = await NativeModule.multiGet([key]);
|
|
43
8
|
const value = result?.[0]?.[1] ?? null;
|
|
44
9
|
callback?.(null, value);
|
|
45
10
|
return value;
|
|
@@ -51,9 +16,7 @@ function createAsyncStorage() {
|
|
|
51
16
|
};
|
|
52
17
|
const setItem = async (key, value, callback) => {
|
|
53
18
|
try {
|
|
54
|
-
|
|
55
|
-
await runLocalWriteWithFreshManifest(() => NativeModule.multiSet([[key, value]]));
|
|
56
|
-
}
|
|
19
|
+
await NativeModule.multiSet([[key, value]]);
|
|
57
20
|
callback?.(null);
|
|
58
21
|
} catch (e) {
|
|
59
22
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -63,9 +26,7 @@ function createAsyncStorage() {
|
|
|
63
26
|
};
|
|
64
27
|
const removeItem = async (key, callback) => {
|
|
65
28
|
try {
|
|
66
|
-
|
|
67
|
-
await runLocalWriteWithFreshManifest(() => NativeModule.multiRemove([key]));
|
|
68
|
-
}
|
|
29
|
+
await NativeModule.multiRemove([key]);
|
|
69
30
|
callback?.(null);
|
|
70
31
|
} catch (e) {
|
|
71
32
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -75,9 +36,7 @@ function createAsyncStorage() {
|
|
|
75
36
|
};
|
|
76
37
|
const mergeItem = async (key, value, callback) => {
|
|
77
38
|
try {
|
|
78
|
-
|
|
79
|
-
await runLocalWriteWithFreshManifest(() => NativeModule.multiMerge([[key, value]]));
|
|
80
|
-
}
|
|
39
|
+
await NativeModule.multiMerge([[key, value]]);
|
|
81
40
|
callback?.(null);
|
|
82
41
|
} catch (e) {
|
|
83
42
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -87,9 +46,7 @@ function createAsyncStorage() {
|
|
|
87
46
|
};
|
|
88
47
|
const clear = async callback => {
|
|
89
48
|
try {
|
|
90
|
-
|
|
91
|
-
await NativeModule.clear();
|
|
92
|
-
}
|
|
49
|
+
await NativeModule.clear();
|
|
93
50
|
callback?.(null);
|
|
94
51
|
} catch (e) {
|
|
95
52
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -99,7 +56,7 @@ function createAsyncStorage() {
|
|
|
99
56
|
};
|
|
100
57
|
const getAllKeys = async callback => {
|
|
101
58
|
try {
|
|
102
|
-
const keys = await
|
|
59
|
+
const keys = await NativeModule.getAllKeys();
|
|
103
60
|
callback?.(null, keys);
|
|
104
61
|
return keys;
|
|
105
62
|
} catch (e) {
|
|
@@ -113,7 +70,7 @@ function createAsyncStorage() {
|
|
|
113
70
|
};
|
|
114
71
|
const multiGet = async (keys, callback) => {
|
|
115
72
|
try {
|
|
116
|
-
const result = await
|
|
73
|
+
const result = await NativeModule.multiGet([...keys]);
|
|
117
74
|
callback?.(null, result);
|
|
118
75
|
return result;
|
|
119
76
|
} catch (e) {
|
|
@@ -125,9 +82,7 @@ function createAsyncStorage() {
|
|
|
125
82
|
const multiSet = async (keyValuePairs, callback) => {
|
|
126
83
|
try {
|
|
127
84
|
const mutablePairs = keyValuePairs.map(([k, v]) => [k, v]);
|
|
128
|
-
|
|
129
|
-
await runLocalWriteWithFreshManifest(() => NativeModule.multiSet(mutablePairs));
|
|
130
|
-
}
|
|
85
|
+
await NativeModule.multiSet(mutablePairs);
|
|
131
86
|
callback?.(null);
|
|
132
87
|
} catch (e) {
|
|
133
88
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -137,10 +92,7 @@ function createAsyncStorage() {
|
|
|
137
92
|
};
|
|
138
93
|
const multiRemove = async (keys, callback) => {
|
|
139
94
|
try {
|
|
140
|
-
|
|
141
|
-
if (!(await forwardWriteAndReloadManifestIfNeeded('multiRemove', [mutableKeys]))) {
|
|
142
|
-
await runLocalWriteWithFreshManifest(() => NativeModule.multiRemove(mutableKeys));
|
|
143
|
-
}
|
|
95
|
+
await NativeModule.multiRemove([...keys]);
|
|
144
96
|
callback?.(null);
|
|
145
97
|
} catch (e) {
|
|
146
98
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -150,9 +102,7 @@ function createAsyncStorage() {
|
|
|
150
102
|
};
|
|
151
103
|
const multiMerge = async (keyValuePairs, callback) => {
|
|
152
104
|
try {
|
|
153
|
-
|
|
154
|
-
await runLocalWriteWithFreshManifest(() => NativeModule.multiMerge(keyValuePairs));
|
|
155
|
-
}
|
|
105
|
+
await NativeModule.multiMerge(keyValuePairs);
|
|
156
106
|
callback?.(null);
|
|
157
107
|
} catch (e) {
|
|
158
108
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -176,5 +126,4 @@ function createAsyncStorage() {
|
|
|
176
126
|
}
|
|
177
127
|
const AsyncStorage = createAsyncStorage();
|
|
178
128
|
export default AsyncStorage;
|
|
179
|
-
export { setAsyncStorageShouldForwardWriteGetter, setAsyncStorageWriteForwarder } from "./runtimeConfig.js";
|
|
180
129
|
//# sourceMappingURL=index.js.map
|
|
@@ -6,7 +6,6 @@ export interface Spec extends TurboModule {
|
|
|
6
6
|
multiMerge(keyValuePairs: [string, string][]): Promise<void>;
|
|
7
7
|
getAllKeys(): Promise<string[]>;
|
|
8
8
|
clear(): Promise<void>;
|
|
9
|
-
reloadManifest(): Promise<void>;
|
|
10
9
|
}
|
|
11
10
|
declare const _default: Spec;
|
|
12
11
|
export default _default;
|
|
@@ -6,9 +6,6 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
import type { AsyncStorageStatic } from './types';
|
|
9
|
-
|
|
10
|
-
reloadManifest: () => Promise<void>;
|
|
11
|
-
};
|
|
12
|
-
declare const AsyncStorage: AsyncStorageWebStatic;
|
|
9
|
+
declare const AsyncStorage: AsyncStorageStatic;
|
|
13
10
|
export default AsyncStorage;
|
|
14
11
|
//# sourceMappingURL=NativeAsyncStorage.web.d.ts.map
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { AsyncStorageStatic } from './types';
|
|
2
2
|
declare const AsyncStorage: AsyncStorageStatic;
|
|
3
3
|
export default AsyncStorage;
|
|
4
|
-
export type { AsyncStorageShouldForwardWriteGetter, AsyncStorageWriteArgs, AsyncStorageWriteArgsByMethod, AsyncStorageWriteForwarder, AsyncStorageWriteMethod, } from './runtimeConfig';
|
|
5
4
|
export type { AsyncStorageStatic, Callback, CallbackWithResult, KeyValuePair, MultiCallback, MultiGetCallback, } from './types';
|
|
6
|
-
export { setAsyncStorageShouldForwardWriteGetter, setAsyncStorageWriteForwarder, } from './runtimeConfig';
|
|
7
5
|
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -8,7 +8,6 @@ export interface Spec extends TurboModule {
|
|
|
8
8
|
multiMerge(keyValuePairs: [string, string][]): Promise<void>;
|
|
9
9
|
getAllKeys(): Promise<string[]>;
|
|
10
10
|
clear(): Promise<void>;
|
|
11
|
-
reloadManifest(): Promise<void>;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
export default TurboModuleRegistry.getEnforcing<Spec>('RNCAsyncStorage');
|
|
@@ -17,9 +17,6 @@ import type {
|
|
|
17
17
|
type OnMultiResult = Function;
|
|
18
18
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
19
19
|
type OnResult = Function;
|
|
20
|
-
type AsyncStorageWebStatic = AsyncStorageStatic & {
|
|
21
|
-
reloadManifest: () => Promise<void>;
|
|
22
|
-
};
|
|
23
20
|
|
|
24
21
|
const merge = mergeOptions.bind({
|
|
25
22
|
concatArrays: true,
|
|
@@ -76,7 +73,7 @@ function createPromiseAll<
|
|
|
76
73
|
);
|
|
77
74
|
}
|
|
78
75
|
|
|
79
|
-
const AsyncStorage:
|
|
76
|
+
const AsyncStorage: AsyncStorageStatic = {
|
|
80
77
|
/**
|
|
81
78
|
* Fetches `key` value.
|
|
82
79
|
*/
|
|
@@ -179,8 +176,6 @@ const AsyncStorage: AsyncStorageWebStatic = {
|
|
|
179
176
|
);
|
|
180
177
|
return createPromiseAll(promises, callback);
|
|
181
178
|
},
|
|
182
|
-
|
|
183
|
-
reloadManifest: () => Promise.resolve(),
|
|
184
179
|
};
|
|
185
180
|
|
|
186
181
|
export default AsyncStorage;
|
package/src/index.tsx
CHANGED
|
@@ -1,63 +1,10 @@
|
|
|
1
1
|
import NativeModule from './NativeAsyncStorage';
|
|
2
|
-
import {
|
|
3
|
-
forwardAsyncStorageWrite,
|
|
4
|
-
forwardAsyncStorageWriteIfNeeded,
|
|
5
|
-
shouldForwardAsyncStorageWrite,
|
|
6
|
-
} from './runtimeConfig';
|
|
7
|
-
import type {
|
|
8
|
-
AsyncStorageWriteArgs,
|
|
9
|
-
AsyncStorageWriteMethod,
|
|
10
|
-
} from './runtimeConfig';
|
|
11
2
|
import type { AsyncStorageStatic } from './types';
|
|
12
3
|
|
|
13
|
-
async function forwardWriteAndReloadManifestIfNeeded<
|
|
14
|
-
T extends AsyncStorageWriteMethod
|
|
15
|
-
>(method: T, args: AsyncStorageWriteArgs<T>) {
|
|
16
|
-
if (!(await forwardAsyncStorageWriteIfNeeded(method, args))) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
await NativeModule.reloadManifest();
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
async function runLocalWriteWithFreshManifest(write: () => Promise<void>) {
|
|
25
|
-
// This narrows the local-write stale manifest window, but it does not make
|
|
26
|
-
// uninjected writes cross-runtime serialized. Writes that already completed
|
|
27
|
-
// before forwarder installation keep the legacy local-write semantics.
|
|
28
|
-
await NativeModule.reloadManifest();
|
|
29
|
-
await write();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async function runReadWithFreshManifest<T>(read: () => Promise<T>): Promise<T> {
|
|
33
|
-
// iOS keeps one manifest cache per runtime/module instance while the files on
|
|
34
|
-
// disk are shared. Refresh before reads so main can observe bg-origin writes
|
|
35
|
-
// without routing reads through the bg runtime. Android/web implementations
|
|
36
|
-
// expose reloadManifest as a no-op.
|
|
37
|
-
await NativeModule.reloadManifest();
|
|
38
|
-
return read();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
async function forwardClearAsMultiRemoveIfNeeded() {
|
|
42
|
-
if (!shouldForwardAsyncStorageWrite()) {
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
await NativeModule.reloadManifest();
|
|
47
|
-
const keys = [...(await NativeModule.getAllKeys())];
|
|
48
|
-
// Use the fresh main-runtime key list; bg clear may enumerate from a stale
|
|
49
|
-
// manifest.
|
|
50
|
-
await forwardAsyncStorageWrite('multiRemove', [keys]);
|
|
51
|
-
await NativeModule.reloadManifest();
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
4
|
function createAsyncStorage(): AsyncStorageStatic {
|
|
56
5
|
const getItem: AsyncStorageStatic['getItem'] = async (key, callback) => {
|
|
57
6
|
try {
|
|
58
|
-
const result = await
|
|
59
|
-
NativeModule.multiGet([key])
|
|
60
|
-
);
|
|
7
|
+
const result = await NativeModule.multiGet([key]);
|
|
61
8
|
const value = result?.[0]?.[1] ?? null;
|
|
62
9
|
callback?.(null, value);
|
|
63
10
|
return value;
|
|
@@ -74,15 +21,7 @@ function createAsyncStorage(): AsyncStorageStatic {
|
|
|
74
21
|
callback
|
|
75
22
|
) => {
|
|
76
23
|
try {
|
|
77
|
-
|
|
78
|
-
!(await forwardWriteAndReloadManifestIfNeeded('multiSet', [
|
|
79
|
-
[[key, value]],
|
|
80
|
-
]))
|
|
81
|
-
) {
|
|
82
|
-
await runLocalWriteWithFreshManifest(() =>
|
|
83
|
-
NativeModule.multiSet([[key, value]])
|
|
84
|
-
);
|
|
85
|
-
}
|
|
24
|
+
await NativeModule.multiSet([[key, value]]);
|
|
86
25
|
callback?.(null);
|
|
87
26
|
} catch (e) {
|
|
88
27
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -96,13 +35,7 @@ function createAsyncStorage(): AsyncStorageStatic {
|
|
|
96
35
|
callback
|
|
97
36
|
) => {
|
|
98
37
|
try {
|
|
99
|
-
|
|
100
|
-
!(await forwardWriteAndReloadManifestIfNeeded('multiRemove', [[key]]))
|
|
101
|
-
) {
|
|
102
|
-
await runLocalWriteWithFreshManifest(() =>
|
|
103
|
-
NativeModule.multiRemove([key])
|
|
104
|
-
);
|
|
105
|
-
}
|
|
38
|
+
await NativeModule.multiRemove([key]);
|
|
106
39
|
callback?.(null);
|
|
107
40
|
} catch (e) {
|
|
108
41
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -117,15 +50,7 @@ function createAsyncStorage(): AsyncStorageStatic {
|
|
|
117
50
|
callback
|
|
118
51
|
) => {
|
|
119
52
|
try {
|
|
120
|
-
|
|
121
|
-
!(await forwardWriteAndReloadManifestIfNeeded('multiMerge', [
|
|
122
|
-
[[key, value]],
|
|
123
|
-
]))
|
|
124
|
-
) {
|
|
125
|
-
await runLocalWriteWithFreshManifest(() =>
|
|
126
|
-
NativeModule.multiMerge([[key, value]])
|
|
127
|
-
);
|
|
128
|
-
}
|
|
53
|
+
await NativeModule.multiMerge([[key, value]]);
|
|
129
54
|
callback?.(null);
|
|
130
55
|
} catch (e) {
|
|
131
56
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -136,9 +61,7 @@ function createAsyncStorage(): AsyncStorageStatic {
|
|
|
136
61
|
|
|
137
62
|
const clear: AsyncStorageStatic['clear'] = async (callback) => {
|
|
138
63
|
try {
|
|
139
|
-
|
|
140
|
-
await NativeModule.clear();
|
|
141
|
-
}
|
|
64
|
+
await NativeModule.clear();
|
|
142
65
|
callback?.(null);
|
|
143
66
|
} catch (e) {
|
|
144
67
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -149,9 +72,7 @@ function createAsyncStorage(): AsyncStorageStatic {
|
|
|
149
72
|
|
|
150
73
|
const getAllKeys: AsyncStorageStatic['getAllKeys'] = async (callback) => {
|
|
151
74
|
try {
|
|
152
|
-
const keys = await
|
|
153
|
-
NativeModule.getAllKeys()
|
|
154
|
-
);
|
|
75
|
+
const keys = await NativeModule.getAllKeys();
|
|
155
76
|
callback?.(null, keys);
|
|
156
77
|
return keys;
|
|
157
78
|
} catch (e) {
|
|
@@ -167,9 +88,7 @@ function createAsyncStorage(): AsyncStorageStatic {
|
|
|
167
88
|
|
|
168
89
|
const multiGet: AsyncStorageStatic['multiGet'] = async (keys, callback) => {
|
|
169
90
|
try {
|
|
170
|
-
const result = await
|
|
171
|
-
NativeModule.multiGet([...keys])
|
|
172
|
-
);
|
|
91
|
+
const result = await NativeModule.multiGet([...keys]);
|
|
173
92
|
callback?.(null, result);
|
|
174
93
|
return result;
|
|
175
94
|
} catch (e) {
|
|
@@ -187,15 +106,7 @@ function createAsyncStorage(): AsyncStorageStatic {
|
|
|
187
106
|
const mutablePairs = keyValuePairs.map(
|
|
188
107
|
([k, v]) => [k, v] as [string, string]
|
|
189
108
|
);
|
|
190
|
-
|
|
191
|
-
!(await forwardWriteAndReloadManifestIfNeeded('multiSet', [
|
|
192
|
-
mutablePairs,
|
|
193
|
-
]))
|
|
194
|
-
) {
|
|
195
|
-
await runLocalWriteWithFreshManifest(() =>
|
|
196
|
-
NativeModule.multiSet(mutablePairs)
|
|
197
|
-
);
|
|
198
|
-
}
|
|
109
|
+
await NativeModule.multiSet(mutablePairs);
|
|
199
110
|
callback?.(null);
|
|
200
111
|
} catch (e) {
|
|
201
112
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -209,16 +120,7 @@ function createAsyncStorage(): AsyncStorageStatic {
|
|
|
209
120
|
callback
|
|
210
121
|
) => {
|
|
211
122
|
try {
|
|
212
|
-
|
|
213
|
-
if (
|
|
214
|
-
!(await forwardWriteAndReloadManifestIfNeeded('multiRemove', [
|
|
215
|
-
mutableKeys,
|
|
216
|
-
]))
|
|
217
|
-
) {
|
|
218
|
-
await runLocalWriteWithFreshManifest(() =>
|
|
219
|
-
NativeModule.multiRemove(mutableKeys)
|
|
220
|
-
);
|
|
221
|
-
}
|
|
123
|
+
await NativeModule.multiRemove([...keys]);
|
|
222
124
|
callback?.(null);
|
|
223
125
|
} catch (e) {
|
|
224
126
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -232,15 +134,7 @@ function createAsyncStorage(): AsyncStorageStatic {
|
|
|
232
134
|
callback
|
|
233
135
|
) => {
|
|
234
136
|
try {
|
|
235
|
-
|
|
236
|
-
!(await forwardWriteAndReloadManifestIfNeeded('multiMerge', [
|
|
237
|
-
keyValuePairs,
|
|
238
|
-
]))
|
|
239
|
-
) {
|
|
240
|
-
await runLocalWriteWithFreshManifest(() =>
|
|
241
|
-
NativeModule.multiMerge(keyValuePairs)
|
|
242
|
-
);
|
|
243
|
-
}
|
|
137
|
+
await NativeModule.multiMerge(keyValuePairs);
|
|
244
138
|
callback?.(null);
|
|
245
139
|
} catch (e) {
|
|
246
140
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -268,13 +162,6 @@ const AsyncStorage = createAsyncStorage();
|
|
|
268
162
|
|
|
269
163
|
export default AsyncStorage;
|
|
270
164
|
|
|
271
|
-
export type {
|
|
272
|
-
AsyncStorageShouldForwardWriteGetter,
|
|
273
|
-
AsyncStorageWriteArgs,
|
|
274
|
-
AsyncStorageWriteArgsByMethod,
|
|
275
|
-
AsyncStorageWriteForwarder,
|
|
276
|
-
AsyncStorageWriteMethod,
|
|
277
|
-
} from './runtimeConfig';
|
|
278
165
|
export type {
|
|
279
166
|
AsyncStorageStatic,
|
|
280
167
|
Callback,
|
|
@@ -283,7 +170,3 @@ export type {
|
|
|
283
170
|
MultiCallback,
|
|
284
171
|
MultiGetCallback,
|
|
285
172
|
} from './types';
|
|
286
|
-
export {
|
|
287
|
-
setAsyncStorageShouldForwardWriteGetter,
|
|
288
|
-
setAsyncStorageWriteForwarder,
|
|
289
|
-
} from './runtimeConfig';
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const runtimeGlobal = globalThis;
|
|
4
|
-
let shouldForwardWriteGetter = runtimeGlobal.__onekeyAsyncStorageShouldForwardWriteGetter;
|
|
5
|
-
let writeForwarder = runtimeGlobal.__onekeyAsyncStorageWriteForwarder;
|
|
6
|
-
export function setAsyncStorageShouldForwardWriteGetter(getter) {
|
|
7
|
-
shouldForwardWriteGetter = getter;
|
|
8
|
-
runtimeGlobal.__onekeyAsyncStorageShouldForwardWriteGetter = getter;
|
|
9
|
-
}
|
|
10
|
-
export function setAsyncStorageWriteForwarder(forwarder) {
|
|
11
|
-
writeForwarder = forwarder;
|
|
12
|
-
runtimeGlobal.__onekeyAsyncStorageWriteForwarder = forwarder;
|
|
13
|
-
}
|
|
14
|
-
function getShouldForwardWriteGetter() {
|
|
15
|
-
return shouldForwardWriteGetter ?? runtimeGlobal.__onekeyAsyncStorageShouldForwardWriteGetter;
|
|
16
|
-
}
|
|
17
|
-
function getWriteForwarder() {
|
|
18
|
-
return writeForwarder ?? runtimeGlobal.__onekeyAsyncStorageWriteForwarder;
|
|
19
|
-
}
|
|
20
|
-
function shouldForwardWriteToBackground() {
|
|
21
|
-
return getShouldForwardWriteGetter()?.() ?? false;
|
|
22
|
-
}
|
|
23
|
-
export function shouldForwardAsyncStorageWrite() {
|
|
24
|
-
return shouldForwardWriteToBackground();
|
|
25
|
-
}
|
|
26
|
-
export async function forwardAsyncStorageWrite(method, args) {
|
|
27
|
-
const forwarder = getWriteForwarder();
|
|
28
|
-
if (!forwarder) {
|
|
29
|
-
throw new Error('AsyncStorage write forwarder is not configured.');
|
|
30
|
-
}
|
|
31
|
-
await forwarder(method, args);
|
|
32
|
-
}
|
|
33
|
-
export async function forwardAsyncStorageWriteIfNeeded(method, args) {
|
|
34
|
-
if (!shouldForwardAsyncStorageWrite()) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
await forwardAsyncStorageWrite(method, args);
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=runtimeConfig.js.map
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export type AsyncStorageWriteArgsByMethod = {
|
|
2
|
-
clear: [];
|
|
3
|
-
multiSet: [[string, string][]];
|
|
4
|
-
multiRemove: [string[]];
|
|
5
|
-
multiMerge: [[string, string][]];
|
|
6
|
-
};
|
|
7
|
-
export type AsyncStorageWriteMethod = keyof AsyncStorageWriteArgsByMethod;
|
|
8
|
-
export type AsyncStorageWriteArgs<T extends AsyncStorageWriteMethod = AsyncStorageWriteMethod> = AsyncStorageWriteArgsByMethod[T];
|
|
9
|
-
export type AsyncStorageShouldForwardWriteGetter = () => boolean;
|
|
10
|
-
export type AsyncStorageWriteForwarder = <T extends AsyncStorageWriteMethod>(method: T, args: AsyncStorageWriteArgs<T>) => Promise<void>;
|
|
11
|
-
export declare function setAsyncStorageShouldForwardWriteGetter(getter: AsyncStorageShouldForwardWriteGetter): void;
|
|
12
|
-
export declare function setAsyncStorageWriteForwarder(forwarder: AsyncStorageWriteForwarder): void;
|
|
13
|
-
export declare function shouldForwardAsyncStorageWrite(): boolean;
|
|
14
|
-
export declare function forwardAsyncStorageWrite<T extends AsyncStorageWriteMethod>(method: T, args: AsyncStorageWriteArgs<T>): Promise<void>;
|
|
15
|
-
export declare function forwardAsyncStorageWriteIfNeeded<T extends AsyncStorageWriteMethod>(method: T, args: AsyncStorageWriteArgs<T>): Promise<boolean>;
|
|
16
|
-
//# sourceMappingURL=runtimeConfig.d.ts.map
|
package/src/runtimeConfig.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
export type AsyncStorageWriteArgsByMethod = {
|
|
2
|
-
clear: [];
|
|
3
|
-
multiSet: [[string, string][]];
|
|
4
|
-
multiRemove: [string[]];
|
|
5
|
-
multiMerge: [[string, string][]];
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export type AsyncStorageWriteMethod = keyof AsyncStorageWriteArgsByMethod;
|
|
9
|
-
|
|
10
|
-
export type AsyncStorageWriteArgs<
|
|
11
|
-
T extends AsyncStorageWriteMethod = AsyncStorageWriteMethod
|
|
12
|
-
> = AsyncStorageWriteArgsByMethod[T];
|
|
13
|
-
|
|
14
|
-
export type AsyncStorageShouldForwardWriteGetter = () => boolean;
|
|
15
|
-
|
|
16
|
-
export type AsyncStorageWriteForwarder = <T extends AsyncStorageWriteMethod>(
|
|
17
|
-
method: T,
|
|
18
|
-
args: AsyncStorageWriteArgs<T>
|
|
19
|
-
) => Promise<void>;
|
|
20
|
-
|
|
21
|
-
type AsyncStorageRuntimeGlobal = typeof globalThis & {
|
|
22
|
-
__onekeyAsyncStorageShouldForwardWriteGetter?: AsyncStorageShouldForwardWriteGetter;
|
|
23
|
-
__onekeyAsyncStorageWriteForwarder?: AsyncStorageWriteForwarder;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const runtimeGlobal = globalThis as AsyncStorageRuntimeGlobal;
|
|
27
|
-
|
|
28
|
-
let shouldForwardWriteGetter: AsyncStorageShouldForwardWriteGetter | undefined =
|
|
29
|
-
runtimeGlobal.__onekeyAsyncStorageShouldForwardWriteGetter;
|
|
30
|
-
let writeForwarder: AsyncStorageWriteForwarder | undefined =
|
|
31
|
-
runtimeGlobal.__onekeyAsyncStorageWriteForwarder;
|
|
32
|
-
|
|
33
|
-
export function setAsyncStorageShouldForwardWriteGetter(
|
|
34
|
-
getter: AsyncStorageShouldForwardWriteGetter
|
|
35
|
-
) {
|
|
36
|
-
shouldForwardWriteGetter = getter;
|
|
37
|
-
runtimeGlobal.__onekeyAsyncStorageShouldForwardWriteGetter = getter;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function setAsyncStorageWriteForwarder(
|
|
41
|
-
forwarder: AsyncStorageWriteForwarder
|
|
42
|
-
) {
|
|
43
|
-
writeForwarder = forwarder;
|
|
44
|
-
runtimeGlobal.__onekeyAsyncStorageWriteForwarder = forwarder;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function getShouldForwardWriteGetter() {
|
|
48
|
-
return (
|
|
49
|
-
shouldForwardWriteGetter ??
|
|
50
|
-
runtimeGlobal.__onekeyAsyncStorageShouldForwardWriteGetter
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function getWriteForwarder() {
|
|
55
|
-
return writeForwarder ?? runtimeGlobal.__onekeyAsyncStorageWriteForwarder;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function shouldForwardWriteToBackground() {
|
|
59
|
-
return getShouldForwardWriteGetter()?.() ?? false;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export function shouldForwardAsyncStorageWrite() {
|
|
63
|
-
return shouldForwardWriteToBackground();
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export async function forwardAsyncStorageWrite<
|
|
67
|
-
T extends AsyncStorageWriteMethod
|
|
68
|
-
>(method: T, args: AsyncStorageWriteArgs<T>): Promise<void> {
|
|
69
|
-
const forwarder = getWriteForwarder();
|
|
70
|
-
if (!forwarder) {
|
|
71
|
-
throw new Error('AsyncStorage write forwarder is not configured.');
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
await forwarder(method, args);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export async function forwardAsyncStorageWriteIfNeeded<
|
|
78
|
-
T extends AsyncStorageWriteMethod
|
|
79
|
-
>(method: T, args: AsyncStorageWriteArgs<T>): Promise<boolean> {
|
|
80
|
-
if (!shouldForwardAsyncStorageWrite()) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
await forwardAsyncStorageWrite(method, args);
|
|
85
|
-
return true;
|
|
86
|
-
}
|