@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.
@@ -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 {
@@ -24,7 +24,4 @@
24
24
  - (void)clear:(RCTPromiseResolveBlock)resolve
25
25
  reject:(RCTPromiseRejectBlock)reject;
26
26
 
27
- - (void)reloadManifest:(RCTPromiseResolveBlock)resolve
28
- reject:(RCTPromiseRejectBlock)reject;
29
-
30
27
  @end
@@ -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
@@ -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 runReadWithFreshManifest(() => NativeModule.multiGet([key]));
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
- if (!(await forwardWriteAndReloadManifestIfNeeded('multiSet', [[[key, value]]]))) {
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
- if (!(await forwardWriteAndReloadManifestIfNeeded('multiRemove', [[key]]))) {
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
- if (!(await forwardWriteAndReloadManifestIfNeeded('multiMerge', [[[key, value]]]))) {
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
- if (!(await forwardClearAsMultiRemoveIfNeeded())) {
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 runReadWithFreshManifest(() => NativeModule.getAllKeys());
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 runReadWithFreshManifest(() => NativeModule.multiGet([...keys]));
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
- if (!(await forwardWriteAndReloadManifestIfNeeded('multiSet', [mutablePairs]))) {
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
- const mutableKeys = [...keys];
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
- if (!(await forwardWriteAndReloadManifestIfNeeded('multiMerge', [keyValuePairs]))) {
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
- type AsyncStorageWebStatic = AsyncStorageStatic & {
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/react-native-async-storage",
3
- "version": "3.0.78",
3
+ "version": "3.0.80",
4
4
  "description": "react-native-async-storage",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -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: AsyncStorageWebStatic = {
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 runReadWithFreshManifest(() =>
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
- if (
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
- if (
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
- if (
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
- if (!(await forwardClearAsMultiRemoveIfNeeded())) {
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 runReadWithFreshManifest(() =>
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 runReadWithFreshManifest(() =>
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
- if (
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
- const mutableKeys = [...keys];
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
- if (
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
@@ -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
- }