@onekeyfe/react-native-async-storage 3.0.13 → 3.0.15

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.
@@ -1,141 +1,5 @@
1
1
  "use strict";
2
2
 
3
- /**
4
- * Copyright (c) Nicolas Gallagher.
5
- * Copyright (c) Facebook, Inc. and its affiliates.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */
10
-
11
- import mergeOptions from 'merge-options';
12
-
13
- // eslint-disable-next-line @typescript-eslint/ban-types
14
-
15
- // eslint-disable-next-line @typescript-eslint/ban-types
16
-
17
- const merge = mergeOptions.bind({
18
- concatArrays: true,
19
- ignoreUndefined: true
20
- });
21
- function mergeLocalStorageItem(key, value) {
22
- const oldValue = window.localStorage.getItem(key);
23
- if (oldValue) {
24
- const oldObject = JSON.parse(oldValue);
25
- const newObject = JSON.parse(value);
26
- const nextValue = JSON.stringify(merge(oldObject, newObject));
27
- window.localStorage.setItem(key, nextValue);
28
- } else {
29
- window.localStorage.setItem(key, value);
30
- }
31
- }
32
- function createPromise(getValue, callback) {
33
- return new Promise((resolve, reject) => {
34
- try {
35
- const value = getValue();
36
- callback?.(null, value);
37
- resolve(value);
38
- } catch (err) {
39
- callback?.(err);
40
- reject(err);
41
- }
42
- });
43
- }
44
- function createPromiseAll(promises, callback, processResult) {
45
- return Promise.all(promises).then(result => {
46
- const value = processResult?.(result) ?? null;
47
- callback?.(null, value);
48
- return Promise.resolve(value);
49
- }, errors => {
50
- callback?.(errors);
51
- return Promise.reject(errors);
52
- });
53
- }
54
- const AsyncStorage = {
55
- /**
56
- * Fetches `key` value.
57
- */
58
- getItem: (key, callback) => {
59
- return createPromise(() => window.localStorage.getItem(key), callback);
60
- },
61
- /**
62
- * Sets `value` for `key`.
63
- */
64
- setItem: (key, value, callback) => {
65
- return createPromise(() => window.localStorage.setItem(key, value), callback);
66
- },
67
- /**
68
- * Removes a `key`
69
- */
70
- removeItem: (key, callback) => {
71
- return createPromise(() => window.localStorage.removeItem(key), callback);
72
- },
73
- /**
74
- * Merges existing value with input value, assuming they are stringified JSON.
75
- */
76
- mergeItem: (key, value, callback) => {
77
- return createPromise(() => mergeLocalStorageItem(key, value), callback);
78
- },
79
- /**
80
- * Erases *all* AsyncStorage for the domain.
81
- */
82
- clear: callback => {
83
- return createPromise(() => window.localStorage.clear(), callback);
84
- },
85
- /**
86
- * Gets *all* keys known to the app, for all callers, libraries, etc.
87
- */
88
- getAllKeys: callback => {
89
- return createPromise(() => {
90
- const numberOfKeys = window.localStorage.length;
91
- const keys = [];
92
- for (let i = 0; i < numberOfKeys; i += 1) {
93
- const key = window.localStorage.key(i) || '';
94
- keys.push(key);
95
- }
96
- return keys;
97
- }, callback);
98
- },
99
- /**
100
- * (stub) Flushes any pending requests using a single batch call to get the data.
101
- */
102
- flushGetRequests: () => undefined,
103
- /**
104
- * multiGet resolves to an array of key-value pair arrays that matches the
105
- * input format of multiSet.
106
- *
107
- * multiGet(['k1', 'k2']) -> [['k1', 'val1'], ['k2', 'val2']]
108
- */
109
- multiGet: (keys, callback) => {
110
- const promises = keys.map(key => AsyncStorage.getItem(key));
111
- const processResult = result => result.map((value, i) => [keys[i], value]);
112
- return createPromiseAll(promises, callback, processResult);
113
- },
114
- /**
115
- * Takes an array of key-value array pairs.
116
- * multiSet([['k1', 'val1'], ['k2', 'val2']])
117
- */
118
- multiSet: (keyValuePairs, callback) => {
119
- const promises = keyValuePairs.map(item => AsyncStorage.setItem(item[0], item[1]));
120
- return createPromiseAll(promises, callback);
121
- },
122
- /**
123
- * Delete all the keys in the `keys` array.
124
- */
125
- multiRemove: (keys, callback) => {
126
- const promises = keys.map(key => AsyncStorage.removeItem(key));
127
- return createPromiseAll(promises, callback);
128
- },
129
- /**
130
- * Takes an array of key-value array pairs and merges them with existing
131
- * values, assuming they are stringified JSON.
132
- *
133
- * multiMerge([['k1', 'val1'], ['k2', 'val2']])
134
- */
135
- multiMerge: (keyValuePairs, callback) => {
136
- const promises = keyValuePairs.map(item => AsyncStorage.mergeItem(item[0], item[1]));
137
- return createPromiseAll(promises, callback);
138
- }
139
- };
140
- export default AsyncStorage;
3
+ import { TurboModuleRegistry } from 'react-native';
4
+ export default TurboModuleRegistry.getEnforcing('RNCAsyncStorage');
141
5
  //# sourceMappingURL=NativeAsyncStorage.js.map
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Copyright (c) Nicolas Gallagher.
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+
11
+ import mergeOptions from 'merge-options';
12
+
13
+ // eslint-disable-next-line @typescript-eslint/ban-types
14
+
15
+ // eslint-disable-next-line @typescript-eslint/ban-types
16
+
17
+ const merge = mergeOptions.bind({
18
+ concatArrays: true,
19
+ ignoreUndefined: true
20
+ });
21
+ function mergeLocalStorageItem(key, value) {
22
+ const oldValue = window.localStorage.getItem(key);
23
+ if (oldValue) {
24
+ const oldObject = JSON.parse(oldValue);
25
+ const newObject = JSON.parse(value);
26
+ const nextValue = JSON.stringify(merge(oldObject, newObject));
27
+ window.localStorage.setItem(key, nextValue);
28
+ } else {
29
+ window.localStorage.setItem(key, value);
30
+ }
31
+ }
32
+ function createPromise(getValue, callback) {
33
+ return new Promise((resolve, reject) => {
34
+ try {
35
+ const value = getValue();
36
+ callback?.(null, value);
37
+ resolve(value);
38
+ } catch (err) {
39
+ callback?.(err);
40
+ reject(err);
41
+ }
42
+ });
43
+ }
44
+ function createPromiseAll(promises, callback, processResult) {
45
+ return Promise.all(promises).then(result => {
46
+ const value = processResult?.(result) ?? null;
47
+ callback?.(null, value);
48
+ return Promise.resolve(value);
49
+ }, errors => {
50
+ callback?.(errors);
51
+ return Promise.reject(errors);
52
+ });
53
+ }
54
+ const AsyncStorage = {
55
+ /**
56
+ * Fetches `key` value.
57
+ */
58
+ getItem: (key, callback) => {
59
+ return createPromise(() => window.localStorage.getItem(key), callback);
60
+ },
61
+ /**
62
+ * Sets `value` for `key`.
63
+ */
64
+ setItem: (key, value, callback) => {
65
+ return createPromise(() => window.localStorage.setItem(key, value), callback);
66
+ },
67
+ /**
68
+ * Removes a `key`
69
+ */
70
+ removeItem: (key, callback) => {
71
+ return createPromise(() => window.localStorage.removeItem(key), callback);
72
+ },
73
+ /**
74
+ * Merges existing value with input value, assuming they are stringified JSON.
75
+ */
76
+ mergeItem: (key, value, callback) => {
77
+ return createPromise(() => mergeLocalStorageItem(key, value), callback);
78
+ },
79
+ /**
80
+ * Erases *all* AsyncStorage for the domain.
81
+ */
82
+ clear: callback => {
83
+ return createPromise(() => window.localStorage.clear(), callback);
84
+ },
85
+ /**
86
+ * Gets *all* keys known to the app, for all callers, libraries, etc.
87
+ */
88
+ getAllKeys: callback => {
89
+ return createPromise(() => {
90
+ const numberOfKeys = window.localStorage.length;
91
+ const keys = [];
92
+ for (let i = 0; i < numberOfKeys; i += 1) {
93
+ const key = window.localStorage.key(i) || '';
94
+ keys.push(key);
95
+ }
96
+ return keys;
97
+ }, callback);
98
+ },
99
+ /**
100
+ * (stub) Flushes any pending requests using a single batch call to get the data.
101
+ */
102
+ flushGetRequests: () => undefined,
103
+ /**
104
+ * multiGet resolves to an array of key-value pair arrays that matches the
105
+ * input format of multiSet.
106
+ *
107
+ * multiGet(['k1', 'k2']) -> [['k1', 'val1'], ['k2', 'val2']]
108
+ */
109
+ multiGet: (keys, callback) => {
110
+ const promises = keys.map(key => AsyncStorage.getItem(key));
111
+ const processResult = result => result.map((value, i) => [keys[i], value]);
112
+ return createPromiseAll(promises, callback, processResult);
113
+ },
114
+ /**
115
+ * Takes an array of key-value array pairs.
116
+ * multiSet([['k1', 'val1'], ['k2', 'val2']])
117
+ */
118
+ multiSet: (keyValuePairs, callback) => {
119
+ const promises = keyValuePairs.map(item => AsyncStorage.setItem(item[0], item[1]));
120
+ return createPromiseAll(promises, callback);
121
+ },
122
+ /**
123
+ * Delete all the keys in the `keys` array.
124
+ */
125
+ multiRemove: (keys, callback) => {
126
+ const promises = keys.map(key => AsyncStorage.removeItem(key));
127
+ return createPromiseAll(promises, callback);
128
+ },
129
+ /**
130
+ * Takes an array of key-value array pairs and merges them with existing
131
+ * values, assuming they are stringified JSON.
132
+ *
133
+ * multiMerge([['k1', 'val1'], ['k2', 'val2']])
134
+ */
135
+ multiMerge: (keyValuePairs, callback) => {
136
+ const promises = keyValuePairs.map(item => AsyncStorage.mergeItem(item[0], item[1]));
137
+ return createPromiseAll(promises, callback);
138
+ }
139
+ };
140
+ export default AsyncStorage;
141
+ //# sourceMappingURL=NativeAsyncStorage.web.js.map
@@ -1,11 +1,12 @@
1
- /**
2
- * Copyright (c) Nicolas Gallagher.
3
- * Copyright (c) Facebook, Inc. and its affiliates.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- import type { AsyncStorageStatic } from './types';
9
- declare const AsyncStorage: AsyncStorageStatic;
10
- export default AsyncStorage;
1
+ import type { TurboModule } from 'react-native';
2
+ export interface Spec extends TurboModule {
3
+ multiGet(keys: string[]): Promise<[string, string | null][]>;
4
+ multiSet(keyValuePairs: [string, string][]): Promise<void>;
5
+ multiRemove(keys: string[]): Promise<void>;
6
+ multiMerge(keyValuePairs: [string, string][]): Promise<void>;
7
+ getAllKeys(): Promise<string[]>;
8
+ clear(): Promise<void>;
9
+ }
10
+ declare const _default: Spec;
11
+ export default _default;
11
12
  //# sourceMappingURL=NativeAsyncStorage.d.ts.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) Nicolas Gallagher.
3
+ * Copyright (c) Facebook, Inc. and its affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import type { AsyncStorageStatic } from './types';
9
+ declare const AsyncStorage: AsyncStorageStatic;
10
+ export default AsyncStorage;
11
+ //# sourceMappingURL=NativeAsyncStorage.web.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.13",
3
+ "version": "3.0.15",
4
4
  "description": "react-native-async-storage",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -1,181 +1,13 @@
1
- /**
2
- * Copyright (c) Nicolas Gallagher.
3
- * Copyright (c) Facebook, Inc. and its affiliates.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
-
9
- import mergeOptions from 'merge-options';
10
- import type {
11
- AsyncStorageStatic,
12
- MultiCallback,
13
- MultiGetCallback,
14
- } from './types';
15
-
16
- // eslint-disable-next-line @typescript-eslint/ban-types
17
- type OnMultiResult = Function;
18
- // eslint-disable-next-line @typescript-eslint/ban-types
19
- type OnResult = Function;
20
-
21
- const merge = mergeOptions.bind({
22
- concatArrays: true,
23
- ignoreUndefined: true,
24
- });
25
-
26
- function mergeLocalStorageItem(key: string, value: string) {
27
- const oldValue = window.localStorage.getItem(key);
28
- if (oldValue) {
29
- const oldObject = JSON.parse(oldValue);
30
- const newObject = JSON.parse(value);
31
- const nextValue = JSON.stringify(merge(oldObject, newObject));
32
- window.localStorage.setItem(key, nextValue);
33
- } else {
34
- window.localStorage.setItem(key, value);
35
- }
36
- }
37
-
38
- function createPromise<Result, Callback extends OnResult>(
39
- getValue: () => Result,
40
- callback?: Callback
41
- ): Promise<Result> {
42
- return new Promise((resolve, reject) => {
43
- try {
44
- const value = getValue();
45
- callback?.(null, value);
46
- resolve(value);
47
- } catch (err) {
48
- callback?.(err);
49
- reject(err);
50
- }
51
- });
52
- }
53
-
54
- function createPromiseAll<
55
- ReturnType,
56
- Result,
57
- ResultProcessor extends OnMultiResult
58
- >(
59
- promises: Promise<Result>[],
60
- callback?: MultiCallback | MultiGetCallback,
61
- processResult?: ResultProcessor
62
- ): Promise<ReturnType> {
63
- return Promise.all(promises).then(
64
- (result) => {
65
- const value = processResult?.(result) ?? null;
66
- callback?.(null, value);
67
- return Promise.resolve(value);
68
- },
69
- (errors) => {
70
- callback?.(errors);
71
- return Promise.reject(errors);
72
- }
73
- );
1
+ import { TurboModuleRegistry } from 'react-native';
2
+ import type { TurboModule } from 'react-native';
3
+
4
+ export interface Spec extends TurboModule {
5
+ multiGet(keys: string[]): Promise<[string, string | null][]>;
6
+ multiSet(keyValuePairs: [string, string][]): Promise<void>;
7
+ multiRemove(keys: string[]): Promise<void>;
8
+ multiMerge(keyValuePairs: [string, string][]): Promise<void>;
9
+ getAllKeys(): Promise<string[]>;
10
+ clear(): Promise<void>;
74
11
  }
75
12
 
76
- const AsyncStorage: AsyncStorageStatic = {
77
- /**
78
- * Fetches `key` value.
79
- */
80
- getItem: (key, callback) => {
81
- return createPromise(() => window.localStorage.getItem(key), callback);
82
- },
83
-
84
- /**
85
- * Sets `value` for `key`.
86
- */
87
- setItem: (key, value, callback) => {
88
- return createPromise(
89
- () => window.localStorage.setItem(key, value),
90
- callback
91
- );
92
- },
93
-
94
- /**
95
- * Removes a `key`
96
- */
97
- removeItem: (key, callback) => {
98
- return createPromise(() => window.localStorage.removeItem(key), callback);
99
- },
100
-
101
- /**
102
- * Merges existing value with input value, assuming they are stringified JSON.
103
- */
104
- mergeItem: (key, value, callback) => {
105
- return createPromise(() => mergeLocalStorageItem(key, value), callback);
106
- },
107
-
108
- /**
109
- * Erases *all* AsyncStorage for the domain.
110
- */
111
- clear: (callback) => {
112
- return createPromise(() => window.localStorage.clear(), callback);
113
- },
114
-
115
- /**
116
- * Gets *all* keys known to the app, for all callers, libraries, etc.
117
- */
118
- getAllKeys: (callback) => {
119
- return createPromise(() => {
120
- const numberOfKeys = window.localStorage.length;
121
- const keys: string[] = [];
122
- for (let i = 0; i < numberOfKeys; i += 1) {
123
- const key = window.localStorage.key(i) || '';
124
- keys.push(key);
125
- }
126
- return keys;
127
- }, callback);
128
- },
129
-
130
- /**
131
- * (stub) Flushes any pending requests using a single batch call to get the data.
132
- */
133
- flushGetRequests: () => undefined,
134
-
135
- /**
136
- * multiGet resolves to an array of key-value pair arrays that matches the
137
- * input format of multiSet.
138
- *
139
- * multiGet(['k1', 'k2']) -> [['k1', 'val1'], ['k2', 'val2']]
140
- */
141
- multiGet: (keys, callback) => {
142
- const promises = keys.map((key) => AsyncStorage.getItem(key));
143
- const processResult = (result: string[]) =>
144
- result.map((value, i) => [keys[i], value]);
145
- return createPromiseAll(promises, callback, processResult);
146
- },
147
-
148
- /**
149
- * Takes an array of key-value array pairs.
150
- * multiSet([['k1', 'val1'], ['k2', 'val2']])
151
- */
152
- multiSet: (keyValuePairs, callback) => {
153
- const promises = keyValuePairs.map((item) =>
154
- AsyncStorage.setItem(item[0], item[1])
155
- );
156
- return createPromiseAll(promises, callback);
157
- },
158
-
159
- /**
160
- * Delete all the keys in the `keys` array.
161
- */
162
- multiRemove: (keys, callback) => {
163
- const promises = keys.map((key) => AsyncStorage.removeItem(key));
164
- return createPromiseAll(promises, callback);
165
- },
166
-
167
- /**
168
- * Takes an array of key-value array pairs and merges them with existing
169
- * values, assuming they are stringified JSON.
170
- *
171
- * multiMerge([['k1', 'val1'], ['k2', 'val2']])
172
- */
173
- multiMerge: (keyValuePairs, callback) => {
174
- const promises = keyValuePairs.map((item) =>
175
- AsyncStorage.mergeItem(item[0], item[1])
176
- );
177
- return createPromiseAll(promises, callback);
178
- },
179
- };
180
-
181
- export default AsyncStorage;
13
+ export default TurboModuleRegistry.getEnforcing<Spec>('RNCAsyncStorage');
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Copyright (c) Nicolas Gallagher.
3
+ * Copyright (c) Facebook, Inc. and its affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
9
+ import mergeOptions from 'merge-options';
10
+ import type {
11
+ AsyncStorageStatic,
12
+ MultiCallback,
13
+ MultiGetCallback,
14
+ } from './types';
15
+
16
+ // eslint-disable-next-line @typescript-eslint/ban-types
17
+ type OnMultiResult = Function;
18
+ // eslint-disable-next-line @typescript-eslint/ban-types
19
+ type OnResult = Function;
20
+
21
+ const merge = mergeOptions.bind({
22
+ concatArrays: true,
23
+ ignoreUndefined: true,
24
+ });
25
+
26
+ function mergeLocalStorageItem(key: string, value: string) {
27
+ const oldValue = window.localStorage.getItem(key);
28
+ if (oldValue) {
29
+ const oldObject = JSON.parse(oldValue);
30
+ const newObject = JSON.parse(value);
31
+ const nextValue = JSON.stringify(merge(oldObject, newObject));
32
+ window.localStorage.setItem(key, nextValue);
33
+ } else {
34
+ window.localStorage.setItem(key, value);
35
+ }
36
+ }
37
+
38
+ function createPromise<Result, Callback extends OnResult>(
39
+ getValue: () => Result,
40
+ callback?: Callback
41
+ ): Promise<Result> {
42
+ return new Promise((resolve, reject) => {
43
+ try {
44
+ const value = getValue();
45
+ callback?.(null, value);
46
+ resolve(value);
47
+ } catch (err) {
48
+ callback?.(err);
49
+ reject(err);
50
+ }
51
+ });
52
+ }
53
+
54
+ function createPromiseAll<
55
+ ReturnType,
56
+ Result,
57
+ ResultProcessor extends OnMultiResult
58
+ >(
59
+ promises: Promise<Result>[],
60
+ callback?: MultiCallback | MultiGetCallback,
61
+ processResult?: ResultProcessor
62
+ ): Promise<ReturnType> {
63
+ return Promise.all(promises).then(
64
+ (result) => {
65
+ const value = processResult?.(result) ?? null;
66
+ callback?.(null, value);
67
+ return Promise.resolve(value);
68
+ },
69
+ (errors) => {
70
+ callback?.(errors);
71
+ return Promise.reject(errors);
72
+ }
73
+ );
74
+ }
75
+
76
+ const AsyncStorage: AsyncStorageStatic = {
77
+ /**
78
+ * Fetches `key` value.
79
+ */
80
+ getItem: (key, callback) => {
81
+ return createPromise(() => window.localStorage.getItem(key), callback);
82
+ },
83
+
84
+ /**
85
+ * Sets `value` for `key`.
86
+ */
87
+ setItem: (key, value, callback) => {
88
+ return createPromise(
89
+ () => window.localStorage.setItem(key, value),
90
+ callback
91
+ );
92
+ },
93
+
94
+ /**
95
+ * Removes a `key`
96
+ */
97
+ removeItem: (key, callback) => {
98
+ return createPromise(() => window.localStorage.removeItem(key), callback);
99
+ },
100
+
101
+ /**
102
+ * Merges existing value with input value, assuming they are stringified JSON.
103
+ */
104
+ mergeItem: (key, value, callback) => {
105
+ return createPromise(() => mergeLocalStorageItem(key, value), callback);
106
+ },
107
+
108
+ /**
109
+ * Erases *all* AsyncStorage for the domain.
110
+ */
111
+ clear: (callback) => {
112
+ return createPromise(() => window.localStorage.clear(), callback);
113
+ },
114
+
115
+ /**
116
+ * Gets *all* keys known to the app, for all callers, libraries, etc.
117
+ */
118
+ getAllKeys: (callback) => {
119
+ return createPromise(() => {
120
+ const numberOfKeys = window.localStorage.length;
121
+ const keys: string[] = [];
122
+ for (let i = 0; i < numberOfKeys; i += 1) {
123
+ const key = window.localStorage.key(i) || '';
124
+ keys.push(key);
125
+ }
126
+ return keys;
127
+ }, callback);
128
+ },
129
+
130
+ /**
131
+ * (stub) Flushes any pending requests using a single batch call to get the data.
132
+ */
133
+ flushGetRequests: () => undefined,
134
+
135
+ /**
136
+ * multiGet resolves to an array of key-value pair arrays that matches the
137
+ * input format of multiSet.
138
+ *
139
+ * multiGet(['k1', 'k2']) -> [['k1', 'val1'], ['k2', 'val2']]
140
+ */
141
+ multiGet: (keys, callback) => {
142
+ const promises = keys.map((key) => AsyncStorage.getItem(key));
143
+ const processResult = (result: string[]) =>
144
+ result.map((value, i) => [keys[i], value]);
145
+ return createPromiseAll(promises, callback, processResult);
146
+ },
147
+
148
+ /**
149
+ * Takes an array of key-value array pairs.
150
+ * multiSet([['k1', 'val1'], ['k2', 'val2']])
151
+ */
152
+ multiSet: (keyValuePairs, callback) => {
153
+ const promises = keyValuePairs.map((item) =>
154
+ AsyncStorage.setItem(item[0], item[1])
155
+ );
156
+ return createPromiseAll(promises, callback);
157
+ },
158
+
159
+ /**
160
+ * Delete all the keys in the `keys` array.
161
+ */
162
+ multiRemove: (keys, callback) => {
163
+ const promises = keys.map((key) => AsyncStorage.removeItem(key));
164
+ return createPromiseAll(promises, callback);
165
+ },
166
+
167
+ /**
168
+ * Takes an array of key-value array pairs and merges them with existing
169
+ * values, assuming they are stringified JSON.
170
+ *
171
+ * multiMerge([['k1', 'val1'], ['k2', 'val2']])
172
+ */
173
+ multiMerge: (keyValuePairs, callback) => {
174
+ const promises = keyValuePairs.map((item) =>
175
+ AsyncStorage.mergeItem(item[0], item[1])
176
+ );
177
+ return createPromiseAll(promises, callback);
178
+ },
179
+ };
180
+
181
+ export default AsyncStorage;
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- import { TurboModuleRegistry } from 'react-native';
4
- export default TurboModuleRegistry.getEnforcing('RNCAsyncStorage');
5
- //# sourceMappingURL=NativeAsyncStorage.native.js.map
@@ -1,12 +0,0 @@
1
- import type { TurboModule } from 'react-native';
2
- export interface Spec extends TurboModule {
3
- multiGet(keys: string[]): Promise<[string, string | null][]>;
4
- multiSet(keyValuePairs: [string, string][]): Promise<void>;
5
- multiRemove(keys: string[]): Promise<void>;
6
- multiMerge(keyValuePairs: [string, string][]): Promise<void>;
7
- getAllKeys(): Promise<string[]>;
8
- clear(): Promise<void>;
9
- }
10
- declare const _default: Spec;
11
- export default _default;
12
- //# sourceMappingURL=NativeAsyncStorage.native.d.ts.map
@@ -1,13 +0,0 @@
1
- import { TurboModuleRegistry } from 'react-native';
2
- import type { TurboModule } from 'react-native';
3
-
4
- export interface Spec extends TurboModule {
5
- multiGet(keys: string[]): Promise<[string, string | null][]>;
6
- multiSet(keyValuePairs: [string, string][]): Promise<void>;
7
- multiRemove(keys: string[]): Promise<void>;
8
- multiMerge(keyValuePairs: [string, string][]): Promise<void>;
9
- getAllKeys(): Promise<string[]>;
10
- clear(): Promise<void>;
11
- }
12
-
13
- export default TurboModuleRegistry.getEnforcing<Spec>('RNCAsyncStorage');