react-native-nitro-storage 0.1.1 → 0.1.2

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.
Files changed (52) hide show
  1. package/README.md +43 -22
  2. package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +10 -0
  3. package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +13 -0
  4. package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +10 -0
  5. package/cpp/bindings/HybridStorage.cpp +50 -0
  6. package/cpp/bindings/HybridStorage.hpp +4 -0
  7. package/cpp/core/NativeStorageAdapter.hpp +3 -0
  8. package/ios/IOSStorageAdapterCpp.hpp +3 -0
  9. package/ios/IOSStorageAdapterCpp.mm +13 -0
  10. package/lib/commonjs/Storage.nitro.js +0 -7
  11. package/lib/commonjs/Storage.nitro.js.map +1 -1
  12. package/lib/commonjs/Storage.types.js +13 -0
  13. package/lib/commonjs/Storage.types.js.map +1 -0
  14. package/lib/commonjs/index.js +69 -8
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/index.web.js +268 -0
  17. package/lib/commonjs/index.web.js.map +1 -0
  18. package/lib/commonjs/package.json +1 -0
  19. package/lib/module/Storage.nitro.js +1 -6
  20. package/lib/module/Storage.nitro.js.map +1 -1
  21. package/lib/module/Storage.types.js +9 -0
  22. package/lib/module/Storage.types.js.map +1 -0
  23. package/lib/module/index.js +66 -8
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/index.web.js +257 -0
  26. package/lib/module/index.web.js.map +1 -0
  27. package/lib/typescript/Storage.nitro.d.ts +5 -6
  28. package/lib/typescript/Storage.nitro.d.ts.map +1 -1
  29. package/lib/typescript/Storage.types.d.ts +6 -0
  30. package/lib/typescript/Storage.types.d.ts.map +1 -0
  31. package/lib/typescript/index.d.ts +12 -3
  32. package/lib/typescript/index.d.ts.map +1 -1
  33. package/lib/typescript/index.web.d.ts +50 -0
  34. package/lib/typescript/index.web.d.ts.map +1 -0
  35. package/nitrogen/generated/android/NitroStorage+autolinking.cmake +1 -1
  36. package/nitrogen/generated/android/NitroStorage+autolinking.gradle +1 -1
  37. package/nitrogen/generated/android/NitroStorageOnLoad.cpp +1 -1
  38. package/nitrogen/generated/android/NitroStorageOnLoad.hpp +1 -1
  39. package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitrostorage/NitroStorageOnLoad.kt +1 -1
  40. package/nitrogen/generated/ios/NitroStorage+autolinking.rb +2 -2
  41. package/nitrogen/generated/ios/NitroStorage-Swift-Cxx-Bridge.cpp +1 -1
  42. package/nitrogen/generated/ios/NitroStorage-Swift-Cxx-Bridge.hpp +1 -1
  43. package/nitrogen/generated/ios/NitroStorage-Swift-Cxx-Umbrella.hpp +1 -1
  44. package/nitrogen/generated/ios/NitroStorageAutolinking.mm +1 -1
  45. package/nitrogen/generated/ios/NitroStorageAutolinking.swift +1 -1
  46. package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +5 -1
  47. package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +6 -1
  48. package/package.json +6 -25
  49. package/src/Storage.nitro.ts +6 -7
  50. package/src/Storage.types.ts +5 -0
  51. package/src/index.ts +88 -14
  52. package/src/index.web.ts +341 -0
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StorageScope = void 0;
7
+ exports.createStorageItem = createStorageItem;
8
+ exports.getBatch = getBatch;
9
+ exports.removeBatch = removeBatch;
10
+ exports.setBatch = setBatch;
11
+ exports.storage = void 0;
12
+ exports.useSetStorage = useSetStorage;
13
+ exports.useStorage = useStorage;
14
+ var _react = require("react");
15
+ let StorageScope = exports.StorageScope = /*#__PURE__*/function (StorageScope) {
16
+ StorageScope[StorageScope["Memory"] = 0] = "Memory";
17
+ StorageScope[StorageScope["Disk"] = 1] = "Disk";
18
+ StorageScope[StorageScope["Secure"] = 2] = "Secure";
19
+ return StorageScope;
20
+ }({});
21
+ const diskListeners = new Map();
22
+ const secureListeners = new Map();
23
+ function notifyDiskListeners(key) {
24
+ diskListeners.get(key)?.forEach(cb => cb());
25
+ }
26
+ function notifySecureListeners(key) {
27
+ secureListeners.get(key)?.forEach(cb => cb());
28
+ }
29
+ const WebStorage = {
30
+ name: "Storage",
31
+ equals: other => other === WebStorage,
32
+ dispose: () => {},
33
+ set: (key, value, scope) => {
34
+ if (scope === StorageScope.Disk) {
35
+ localStorage?.setItem(key, value);
36
+ notifyDiskListeners(key);
37
+ } else if (scope === StorageScope.Secure) {
38
+ sessionStorage?.setItem(key, value);
39
+ notifySecureListeners(key);
40
+ }
41
+ },
42
+ get: (key, scope) => {
43
+ if (scope === StorageScope.Disk) {
44
+ return localStorage?.getItem(key) ?? undefined;
45
+ } else if (scope === StorageScope.Secure) {
46
+ return sessionStorage?.getItem(key) ?? undefined;
47
+ }
48
+ return undefined;
49
+ },
50
+ remove: (key, scope) => {
51
+ if (scope === StorageScope.Disk) {
52
+ localStorage?.removeItem(key);
53
+ notifyDiskListeners(key);
54
+ } else if (scope === StorageScope.Secure) {
55
+ sessionStorage?.removeItem(key);
56
+ notifySecureListeners(key);
57
+ }
58
+ },
59
+ clear: scope => {
60
+ if (scope === StorageScope.Disk) {
61
+ localStorage?.clear();
62
+ diskListeners.forEach(listeners => {
63
+ listeners.forEach(cb => cb());
64
+ });
65
+ } else if (scope === StorageScope.Secure) {
66
+ sessionStorage?.clear();
67
+ secureListeners.forEach(listeners => {
68
+ listeners.forEach(cb => cb());
69
+ });
70
+ }
71
+ },
72
+ setBatch: (keys, values, scope) => {
73
+ keys.forEach((key, i) => WebStorage.set(key, values[i], scope));
74
+ },
75
+ getBatch: (keys, scope) => {
76
+ return keys.map(key => WebStorage.get(key, scope));
77
+ },
78
+ removeBatch: (keys, scope) => {
79
+ keys.forEach(key => WebStorage.remove(key, scope));
80
+ },
81
+ addOnChange: (_scope, _callback) => {
82
+ return () => {};
83
+ }
84
+ };
85
+ const memoryStore = new Map();
86
+ const memoryListeners = new Set();
87
+ function notifyMemoryListeners(key, value) {
88
+ memoryListeners.forEach(listener => listener(key, value));
89
+ }
90
+ const storage = exports.storage = {
91
+ clear: scope => {
92
+ if (scope === StorageScope.Memory) {
93
+ memoryStore.clear();
94
+ notifyMemoryListeners("", undefined);
95
+ } else {
96
+ WebStorage.clear(scope);
97
+ }
98
+ },
99
+ clearAll: () => {
100
+ storage.clear(StorageScope.Memory);
101
+ storage.clear(StorageScope.Disk);
102
+ storage.clear(StorageScope.Secure);
103
+ }
104
+ };
105
+ function defaultSerialize(value) {
106
+ return JSON.stringify(value);
107
+ }
108
+ function defaultDeserialize(value) {
109
+ return JSON.parse(value);
110
+ }
111
+ function createStorageItem(config) {
112
+ const serialize = config.serialize ?? defaultSerialize;
113
+ const deserialize = config.deserialize ?? defaultDeserialize;
114
+ const isMemory = config.scope === StorageScope.Memory;
115
+ const listeners = new Set();
116
+ let unsubscribe = null;
117
+ let lastRaw;
118
+ let lastValue;
119
+ const ensureSubscription = () => {
120
+ if (!unsubscribe) {
121
+ if (isMemory) {
122
+ const listener = key => {
123
+ if (key === config.key) {
124
+ lastRaw = undefined;
125
+ lastValue = undefined;
126
+ listeners.forEach(l => l());
127
+ }
128
+ };
129
+ memoryListeners.add(listener);
130
+ unsubscribe = () => memoryListeners.delete(listener);
131
+ } else if (config.scope === StorageScope.Disk) {
132
+ const listener = () => {
133
+ lastRaw = undefined;
134
+ lastValue = undefined;
135
+ listeners.forEach(l => l());
136
+ };
137
+ if (!diskListeners.has(config.key)) {
138
+ diskListeners.set(config.key, new Set());
139
+ }
140
+ diskListeners.get(config.key).add(listener);
141
+ unsubscribe = () => diskListeners.get(config.key)?.delete(listener);
142
+ } else if (config.scope === StorageScope.Secure) {
143
+ const listener = () => {
144
+ lastRaw = undefined;
145
+ lastValue = undefined;
146
+ listeners.forEach(l => l());
147
+ };
148
+ if (!secureListeners.has(config.key)) {
149
+ secureListeners.set(config.key, new Set());
150
+ }
151
+ secureListeners.get(config.key).add(listener);
152
+ unsubscribe = () => secureListeners.get(config.key)?.delete(listener);
153
+ }
154
+ }
155
+ };
156
+ const get = () => {
157
+ let raw;
158
+ if (isMemory) {
159
+ raw = memoryStore.get(config.key);
160
+ } else {
161
+ raw = WebStorage.get(config.key, config.scope);
162
+ }
163
+ if (raw === lastRaw && lastValue !== undefined) {
164
+ return lastValue;
165
+ }
166
+ lastRaw = raw;
167
+ if (raw === undefined) {
168
+ lastValue = config.defaultValue;
169
+ } else {
170
+ lastValue = isMemory ? raw : deserialize(raw);
171
+ }
172
+ return lastValue;
173
+ };
174
+ const set = valueOrFn => {
175
+ const currentValue = get();
176
+ const newValue = typeof valueOrFn === "function" ? valueOrFn(currentValue) : valueOrFn;
177
+ lastRaw = undefined;
178
+ if (isMemory) {
179
+ memoryStore.set(config.key, newValue);
180
+ notifyMemoryListeners(config.key, newValue);
181
+ } else {
182
+ WebStorage.set(config.key, serialize(newValue), config.scope);
183
+ }
184
+ };
185
+ const deleteItem = () => {
186
+ lastRaw = undefined;
187
+ if (isMemory) {
188
+ memoryStore.delete(config.key);
189
+ notifyMemoryListeners(config.key, undefined);
190
+ } else {
191
+ WebStorage.remove(config.key, config.scope);
192
+ }
193
+ };
194
+ const subscribe = callback => {
195
+ ensureSubscription();
196
+ listeners.add(callback);
197
+ return () => {
198
+ listeners.delete(callback);
199
+ if (listeners.size === 0 && unsubscribe) {
200
+ unsubscribe();
201
+ unsubscribe = null;
202
+ }
203
+ };
204
+ };
205
+ return {
206
+ get,
207
+ set,
208
+ delete: deleteItem,
209
+ subscribe,
210
+ serialize,
211
+ deserialize,
212
+ _triggerListeners: () => {
213
+ lastRaw = undefined;
214
+ lastValue = undefined;
215
+ listeners.forEach(l => l());
216
+ },
217
+ scope: config.scope,
218
+ key: config.key
219
+ };
220
+ }
221
+ function useStorage(item) {
222
+ const value = (0, _react.useSyncExternalStore)(item.subscribe, item.get, item.get);
223
+ return [value, item.set];
224
+ }
225
+ function useSetStorage(item) {
226
+ return item.set;
227
+ }
228
+ function getBatch(items, scope) {
229
+ if (scope === StorageScope.Memory) {
230
+ return items.map(item => item.get());
231
+ }
232
+ const keys = items.map(item => item.key);
233
+ const rawValues = WebStorage.getBatch(keys, scope);
234
+ return items.map((item, idx) => {
235
+ const raw = rawValues[idx];
236
+ if (raw === undefined) {
237
+ return item.get();
238
+ }
239
+ return item.deserialize(raw);
240
+ });
241
+ }
242
+ function setBatch(items, scope) {
243
+ if (scope === StorageScope.Memory) {
244
+ items.forEach(({
245
+ item,
246
+ value
247
+ }) => item.set(value));
248
+ return;
249
+ }
250
+ const keys = items.map(i => i.item.key);
251
+ const values = items.map(i => i.item.serialize(i.value));
252
+ WebStorage.setBatch(keys, values, scope);
253
+ items.forEach(({
254
+ item
255
+ }) => {
256
+ item._triggerListeners();
257
+ });
258
+ }
259
+ function removeBatch(items, scope) {
260
+ if (scope === StorageScope.Memory) {
261
+ items.forEach(item => item.delete());
262
+ return;
263
+ }
264
+ const keys = items.map(item => item.key);
265
+ WebStorage.removeBatch(keys, scope);
266
+ items.forEach(item => item.delete());
267
+ }
268
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","StorageScope","exports","diskListeners","Map","secureListeners","notifyDiskListeners","key","get","forEach","cb","notifySecureListeners","WebStorage","name","equals","other","dispose","set","value","scope","Disk","localStorage","setItem","Secure","sessionStorage","getItem","undefined","remove","removeItem","clear","listeners","setBatch","keys","values","i","getBatch","map","removeBatch","addOnChange","_scope","_callback","memoryStore","memoryListeners","Set","notifyMemoryListeners","listener","storage","Memory","clearAll","defaultSerialize","JSON","stringify","defaultDeserialize","parse","createStorageItem","config","serialize","deserialize","isMemory","unsubscribe","lastRaw","lastValue","ensureSubscription","l","add","delete","has","raw","defaultValue","valueOrFn","currentValue","newValue","deleteItem","subscribe","callback","size","_triggerListeners","useStorage","item","useSyncExternalStore","useSetStorage","items","rawValues","idx"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -1,9 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export let StorageScope = /*#__PURE__*/function (StorageScope) {
4
- StorageScope[StorageScope["Memory"] = 0] = "Memory";
5
- StorageScope[StorageScope["Disk"] = 1] = "Disk";
6
- StorageScope[StorageScope["Secure"] = 2] = "Secure";
7
- return StorageScope;
8
- }({});
3
+ export {};
9
4
  //# sourceMappingURL=Storage.nitro.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StorageScope"],"sourceRoot":"../../src","sources":["Storage.nitro.ts"],"mappings":";;AAEA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["Storage.nitro.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ export let StorageScope = /*#__PURE__*/function (StorageScope) {
4
+ StorageScope[StorageScope["Memory"] = 0] = "Memory";
5
+ StorageScope[StorageScope["Disk"] = 1] = "Disk";
6
+ StorageScope[StorageScope["Secure"] = 2] = "Secure";
7
+ return StorageScope;
8
+ }({});
9
+ //# sourceMappingURL=Storage.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StorageScope"],"sourceRoot":"../../src","sources":["Storage.types.ts"],"mappings":";;AAAA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
@@ -2,8 +2,8 @@
2
2
 
3
3
  import { useSyncExternalStore } from "react";
4
4
  import { NitroModules } from "react-native-nitro-modules";
5
- import { StorageScope as StorageScopeEnum } from "./Storage.nitro.js";
6
- export { StorageScope } from "./Storage.nitro.js";
5
+ import { StorageScope } from "./Storage.types";
6
+ export { StorageScope } from "./Storage.types";
7
7
  let _storageModule = null;
8
8
  function getStorageModule() {
9
9
  if (!_storageModule) {
@@ -18,10 +18,17 @@ function notifyMemoryListeners(key, value) {
18
18
  }
19
19
  export const storage = {
20
20
  clear: scope => {
21
- memoryStore.clear();
21
+ if (scope === StorageScope.Memory) {
22
+ memoryStore.clear();
23
+ notifyMemoryListeners("", undefined);
24
+ } else {
25
+ getStorageModule().clear(scope);
26
+ }
22
27
  },
23
28
  clearAll: () => {
24
- storage.clear(StorageScopeEnum.Memory);
29
+ storage.clear(StorageScope.Memory);
30
+ storage.clear(StorageScope.Disk);
31
+ storage.clear(StorageScope.Secure);
25
32
  }
26
33
  };
27
34
  function defaultSerialize(value) {
@@ -33,14 +40,16 @@ function defaultDeserialize(value) {
33
40
  export function createStorageItem(config) {
34
41
  const serialize = config.serialize ?? defaultSerialize;
35
42
  const deserialize = config.deserialize ?? defaultDeserialize;
36
- const isMemory = config.scope === StorageScopeEnum.Memory;
43
+ const isMemory = config.scope === StorageScope.Memory;
37
44
  const listeners = new Set();
38
45
  let unsubscribe = null;
39
46
  const ensureSubscription = () => {
40
47
  if (!unsubscribe) {
41
48
  if (isMemory) {
42
49
  const listener = key => {
43
- if (key === config.key) {
50
+ if (key === "" || key === config.key) {
51
+ lastRaw = undefined;
52
+ lastValue = undefined;
44
53
  listeners.forEach(l => l());
45
54
  }
46
55
  };
@@ -48,7 +57,9 @@ export function createStorageItem(config) {
48
57
  unsubscribe = () => memoryListeners.delete(listener);
49
58
  } else {
50
59
  unsubscribe = getStorageModule().addOnChange(config.scope, key => {
51
- if (key === config.key) {
60
+ if (key === "" || key === config.key) {
61
+ lastRaw = undefined;
62
+ lastValue = undefined;
52
63
  listeners.forEach(listener => listener());
53
64
  }
54
65
  });
@@ -81,7 +92,7 @@ export function createStorageItem(config) {
81
92
  };
82
93
  const set = valueOrFn => {
83
94
  const currentValue = get();
84
- const newValue = valueOrFn instanceof Function ? valueOrFn(currentValue) : valueOrFn;
95
+ const newValue = typeof valueOrFn === "function" ? valueOrFn(currentValue) : valueOrFn;
85
96
  if (isMemory) {
86
97
  memoryStore.set(config.key, newValue);
87
98
  notifyMemoryListeners(config.key, newValue);
@@ -114,6 +125,13 @@ export function createStorageItem(config) {
114
125
  set,
115
126
  delete: deleteItem,
116
127
  subscribe,
128
+ serialize,
129
+ deserialize,
130
+ _triggerListeners: () => {
131
+ lastRaw = undefined;
132
+ lastValue = undefined;
133
+ listeners.forEach(l => l());
134
+ },
117
135
  scope: config.scope,
118
136
  key: config.key
119
137
  };
@@ -125,4 +143,44 @@ export function useStorage(item) {
125
143
  export function useSetStorage(item) {
126
144
  return item.set;
127
145
  }
146
+ export function getBatch(items, scope) {
147
+ if (scope === StorageScope.Memory) {
148
+ return items.map(item => item.get());
149
+ }
150
+ const keys = items.map(item => item.key);
151
+ const rawValues = getStorageModule().getBatch(keys, scope);
152
+ return items.map((item, idx) => {
153
+ const raw = rawValues[idx];
154
+ if (raw === undefined) {
155
+ return item.get();
156
+ }
157
+ return item.deserialize(raw);
158
+ });
159
+ }
160
+ export function setBatch(items, scope) {
161
+ if (scope === StorageScope.Memory) {
162
+ items.forEach(({
163
+ item,
164
+ value
165
+ }) => item.set(value));
166
+ return;
167
+ }
168
+ const keys = items.map(i => i.item.key);
169
+ const values = items.map(i => i.item.serialize(i.value));
170
+ getStorageModule().setBatch(keys, values, scope);
171
+ items.forEach(({
172
+ item
173
+ }) => {
174
+ item._triggerListeners();
175
+ });
176
+ }
177
+ export function removeBatch(items, scope) {
178
+ if (scope === StorageScope.Memory) {
179
+ items.forEach(item => item.delete());
180
+ return;
181
+ }
182
+ const keys = items.map(item => item.key);
183
+ getStorageModule().removeBatch(keys, scope);
184
+ items.forEach(item => item.delete());
185
+ }
128
186
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSyncExternalStore","NitroModules","StorageScope","StorageScopeEnum","_storageModule","getStorageModule","createHybridObject","memoryStore","Map","memoryListeners","Set","notifyMemoryListeners","key","value","forEach","listener","storage","clear","scope","clearAll","Memory","defaultSerialize","JSON","stringify","defaultDeserialize","parse","createStorageItem","config","serialize","deserialize","isMemory","listeners","unsubscribe","ensureSubscription","l","add","delete","addOnChange","lastRaw","lastValue","get","raw","undefined","defaultValue","set","valueOrFn","currentValue","newValue","Function","serialized","deleteItem","remove","subscribe","callback","size","useStorage","item","useSetStorage"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSyncExternalStore","NitroModules","StorageScope","_storageModule","getStorageModule","createHybridObject","memoryStore","Map","memoryListeners","Set","notifyMemoryListeners","key","value","forEach","listener","storage","clear","scope","Memory","undefined","clearAll","Disk","Secure","defaultSerialize","JSON","stringify","defaultDeserialize","parse","createStorageItem","config","serialize","deserialize","isMemory","listeners","unsubscribe","ensureSubscription","lastRaw","lastValue","l","add","delete","addOnChange","get","raw","defaultValue","set","valueOrFn","currentValue","newValue","serialized","deleteItem","remove","subscribe","callback","size","_triggerListeners","useStorage","item","useSetStorage","getBatch","items","map","keys","rawValues","idx","setBatch","i","values","removeBatch"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}