react-native-onyx 2.0.23 → 2.0.24
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/dist/storage/InstanceSync/index.d.ts +2 -0
- package/dist/storage/InstanceSync/index.js +2 -0
- package/dist/storage/InstanceSync/index.web.d.ts +2 -0
- package/dist/storage/InstanceSync/index.web.js +2 -0
- package/dist/storage/__mocks__/index.d.ts +1 -1
- package/dist/storage/index.js +14 -2
- package/dist/storage/providers/types.d.ts +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,8 @@ declare const InstanceSync: {
|
|
|
8
8
|
setItem: (...args: any[]) => void;
|
|
9
9
|
removeItem: (...args: any[]) => void;
|
|
10
10
|
removeItems: (...args: any[]) => void;
|
|
11
|
+
multiMerge: (...args: any[]) => void;
|
|
12
|
+
multiSet: (...args: any[]) => void;
|
|
11
13
|
mergeItem: (...args: any[]) => void;
|
|
12
14
|
clear: <T extends () => void>(callback: T) => Promise<void>;
|
|
13
15
|
};
|
|
@@ -14,6 +14,8 @@ const InstanceSync = {
|
|
|
14
14
|
setItem: noop_1.default,
|
|
15
15
|
removeItem: noop_1.default,
|
|
16
16
|
removeItems: noop_1.default,
|
|
17
|
+
multiMerge: noop_1.default,
|
|
18
|
+
multiSet: noop_1.default,
|
|
17
19
|
mergeItem: noop_1.default,
|
|
18
20
|
clear: (callback) => Promise.resolve(callback()),
|
|
19
21
|
};
|
|
@@ -21,6 +21,8 @@ declare const InstanceSync: {
|
|
|
21
21
|
setItem: typeof raiseStorageSyncEvent;
|
|
22
22
|
removeItem: typeof raiseStorageSyncEvent;
|
|
23
23
|
removeItems: typeof raiseStorageSyncManyKeysEvent;
|
|
24
|
+
multiMerge: typeof raiseStorageSyncManyKeysEvent;
|
|
25
|
+
multiSet: typeof raiseStorageSyncManyKeysEvent;
|
|
24
26
|
mergeItem: typeof raiseStorageSyncEvent;
|
|
25
27
|
clear: (clearImplementation: () => void) => Promise<void>;
|
|
26
28
|
};
|
|
@@ -39,6 +39,8 @@ const InstanceSync = {
|
|
|
39
39
|
setItem: raiseStorageSyncEvent,
|
|
40
40
|
removeItem: raiseStorageSyncEvent,
|
|
41
41
|
removeItems: raiseStorageSyncManyKeysEvent,
|
|
42
|
+
multiMerge: raiseStorageSyncManyKeysEvent,
|
|
43
|
+
multiSet: raiseStorageSyncManyKeysEvent,
|
|
42
44
|
mergeItem: raiseStorageSyncEvent,
|
|
43
45
|
clear: (clearImplementation) => {
|
|
44
46
|
let allKeys;
|
|
@@ -6,7 +6,7 @@ declare const StorageMock: {
|
|
|
6
6
|
setItem: jest.Mock<Promise<void | import("react-native-quick-sqlite").QueryResult>, [key: any, value: unknown]>;
|
|
7
7
|
multiSet: jest.Mock<Promise<void | import("react-native-quick-sqlite").BatchQueryResult>, [pairs: import("../providers/types").KeyValuePairList]>;
|
|
8
8
|
mergeItem: jest.Mock<Promise<void | import("react-native-quick-sqlite").BatchQueryResult>, [key: any, changes: unknown, modifiedData: unknown]>;
|
|
9
|
-
multiMerge: jest.Mock<Promise<import("react-native-quick-sqlite").BatchQueryResult | IDBValidKey[]>, [pairs: import("../providers/types").KeyValuePairList]>;
|
|
9
|
+
multiMerge: jest.Mock<Promise<void | import("react-native-quick-sqlite").BatchQueryResult | IDBValidKey[]>, [pairs: import("../providers/types").KeyValuePairList]>;
|
|
10
10
|
removeItem: jest.Mock<Promise<void | import("react-native-quick-sqlite").QueryResult>, [key: string]>;
|
|
11
11
|
removeItems: jest.Mock<Promise<void | import("react-native-quick-sqlite").QueryResult>, [keys: import("../providers/types").KeyList]>;
|
|
12
12
|
clear: jest.Mock<Promise<void | import("react-native-quick-sqlite").QueryResult>, []>;
|
package/dist/storage/index.js
CHANGED
|
@@ -108,7 +108,13 @@ const Storage = {
|
|
|
108
108
|
/**
|
|
109
109
|
* Stores multiple key-value pairs in a batch
|
|
110
110
|
*/
|
|
111
|
-
multiSet: (pairs) => tryOrDegradePerformance(() =>
|
|
111
|
+
multiSet: (pairs) => tryOrDegradePerformance(() => {
|
|
112
|
+
const promise = provider.multiSet(pairs);
|
|
113
|
+
if (shouldKeepInstancesSync) {
|
|
114
|
+
return promise.then(() => InstanceSync_1.default.multiSet(pairs.map((pair) => pair[0])));
|
|
115
|
+
}
|
|
116
|
+
return promise;
|
|
117
|
+
}),
|
|
112
118
|
/**
|
|
113
119
|
* Merging an existing value with a new one
|
|
114
120
|
*/
|
|
@@ -123,7 +129,13 @@ const Storage = {
|
|
|
123
129
|
* Multiple merging of existing and new values in a batch
|
|
124
130
|
* This function also removes all nested null values from an object.
|
|
125
131
|
*/
|
|
126
|
-
multiMerge: (pairs) => tryOrDegradePerformance(() =>
|
|
132
|
+
multiMerge: (pairs) => tryOrDegradePerformance(() => {
|
|
133
|
+
const promise = provider.multiMerge(pairs);
|
|
134
|
+
if (shouldKeepInstancesSync) {
|
|
135
|
+
return promise.then(() => InstanceSync_1.default.multiMerge(pairs.map((pair) => pair[0])));
|
|
136
|
+
}
|
|
137
|
+
return promise;
|
|
138
|
+
}),
|
|
127
139
|
/**
|
|
128
140
|
* Removes given key and its value
|
|
129
141
|
*/
|
|
@@ -32,7 +32,7 @@ type StorageProvider = {
|
|
|
32
32
|
/**
|
|
33
33
|
* Multiple merging of existing and new values in a batch
|
|
34
34
|
*/
|
|
35
|
-
multiMerge: (pairs: KeyValuePairList) => Promise<BatchQueryResult | IDBValidKey[]>;
|
|
35
|
+
multiMerge: (pairs: KeyValuePairList) => Promise<BatchQueryResult | IDBValidKey[] | void>;
|
|
36
36
|
/**
|
|
37
37
|
* Merges an existing value with a new one by leveraging JSON_PATCH
|
|
38
38
|
* @param changes - the delta for a specific key
|