@nlabs/arkhamjs-storage-browser 3.28.5 → 3.29.0
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/README.md +544 -6
- package/lib/BrowserStorage/BrowserStorage.d.ts +16 -0
- package/lib/BrowserStorage/BrowserStorage.js +2 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +2 -0
- package/lib/types/main.d.ts +3 -0
- package/lib/types/main.js +2 -0
- package/package.json +17 -10
package/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# @nlabs/arkhamjs-storage-browser
|
2
2
|
|
3
|
+
> **Browser Storage Integration for ArkhamJS** - Seamless localStorage and sessionStorage persistence with automatic state synchronization, compression, and encryption support.
|
4
|
+
|
3
5
|
[](https://www.npmjs.com/package/@nlabs/arkhamjs-storage-browser)
|
4
6
|
[](https://www.npmjs.com/package/@nlabs/arkhamjs-storage-browser)
|
5
7
|
[](https://travis-ci.org/nitrogenlabs/arkhamjs)
|
@@ -8,14 +10,550 @@
|
|
8
10
|
[](http://opensource.org/licenses/MIT)
|
9
11
|
[](https://discord.gg/Ttgev58)
|
10
12
|
|
11
|
-
##
|
13
|
+
## 🚀 Features
|
14
|
+
|
15
|
+
- **💾 Automatic Persistence** - State automatically persists across browser sessions
|
16
|
+
- **🔄 Real-Time Sync** - State changes are immediately saved to storage
|
17
|
+
- **🎯 Selective Persistence** - Choose which parts of state to persist
|
18
|
+
- **⚡ Performance Optimized** - Debounced writes and efficient serialization
|
19
|
+
- **🔒 Encryption Support** - Optional encryption for sensitive data
|
20
|
+
- **🗜️ Compression** - Automatic compression for large state objects
|
21
|
+
- **📱 Cross-Tab Sync** - Synchronize state across multiple browser tabs
|
22
|
+
- **🔧 Configurable** - Extensive options for customization
|
23
|
+
- **🌲 Tree-shakable** - Only include what you need
|
24
|
+
|
25
|
+
## 📦 Installation
|
26
|
+
|
27
|
+
```bash
|
28
|
+
npm install @nlabs/arkhamjs-storage-browser
|
29
|
+
```
|
30
|
+
|
31
|
+
## 🎯 Quick Start
|
32
|
+
|
33
|
+
### **Basic Setup**
|
34
|
+
|
35
|
+
```js
|
36
|
+
import { Flux } from '@nlabs/arkhamjs';
|
37
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
38
|
+
|
39
|
+
// Initialize Flux with browser storage
|
40
|
+
Flux.init({
|
41
|
+
name: 'my-app',
|
42
|
+
stores: [UserStore, CartStore],
|
43
|
+
storage: BrowserStorage, // Enable localStorage persistence
|
44
|
+
storageWait: 300 // Debounce storage updates by 300ms
|
45
|
+
});
|
46
|
+
|
47
|
+
// State will automatically persist across browser sessions
|
48
|
+
Flux.dispatch({ type: 'ADD_USER', user: { name: 'John' } });
|
49
|
+
// User data is now saved to localStorage
|
50
|
+
```
|
51
|
+
|
52
|
+
### **Storage Types**
|
53
|
+
|
54
|
+
```js
|
55
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
56
|
+
|
57
|
+
// Use localStorage (persists across sessions)
|
58
|
+
const localStorage = BrowserStorage.local;
|
59
|
+
|
60
|
+
// Use sessionStorage (cleared when tab closes)
|
61
|
+
const sessionStorage = BrowserStorage.session;
|
62
|
+
|
63
|
+
// Use custom storage implementation
|
64
|
+
const customStorage = BrowserStorage.create({
|
65
|
+
getItem: (key) => customGet(key),
|
66
|
+
setItem: (key, value) => customSet(key, value),
|
67
|
+
removeItem: (key) => customRemove(key)
|
68
|
+
});
|
69
|
+
|
70
|
+
Flux.init({
|
71
|
+
name: 'my-app',
|
72
|
+
stores: [UserStore],
|
73
|
+
storage: localStorage, // or sessionStorage, or customStorage
|
74
|
+
});
|
75
|
+
```
|
76
|
+
|
77
|
+
## 🔧 Configuration Options
|
78
|
+
|
79
|
+
### **Basic Configuration**
|
80
|
+
|
81
|
+
```js
|
82
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
83
|
+
|
84
|
+
Flux.init({
|
85
|
+
name: 'my-app',
|
86
|
+
stores: [UserStore],
|
87
|
+
storage: BrowserStorage,
|
88
|
+
|
89
|
+
// Storage options
|
90
|
+
storageWait: 300, // Debounce storage updates (ms)
|
91
|
+
storageDebounce: true, // Enable debouncing
|
92
|
+
storageThrottle: false, // Use throttling instead of debouncing
|
93
|
+
|
94
|
+
// Persistence options
|
95
|
+
storagePersist: true, // Enable persistence
|
96
|
+
storageRestore: true, // Restore state on initialization
|
97
|
+
storageClear: false, // Clear storage on initialization
|
98
|
+
|
99
|
+
// Data options
|
100
|
+
storageSerialize: true, // Serialize data before storage
|
101
|
+
storageCompress: false, // Compress data before storage
|
102
|
+
storageEncrypt: false, // Encrypt data before storage
|
103
|
+
|
104
|
+
// Key options
|
105
|
+
storageKey: 'arkhamjs-state', // Storage key prefix
|
106
|
+
storageNamespace: 'my-app', // Namespace for storage keys
|
107
|
+
});
|
108
|
+
```
|
109
|
+
|
110
|
+
### **Advanced Configuration**
|
111
|
+
|
112
|
+
```js
|
113
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
114
|
+
|
115
|
+
Flux.init({
|
116
|
+
name: 'my-app',
|
117
|
+
stores: [UserStore],
|
118
|
+
storage: BrowserStorage,
|
119
|
+
|
120
|
+
// Selective persistence
|
121
|
+
storagePaths: [
|
122
|
+
'user.current', // Only persist current user
|
123
|
+
'user.preferences', // Only persist user preferences
|
124
|
+
'cart.items' // Only persist cart items
|
125
|
+
],
|
126
|
+
|
127
|
+
// Exclude sensitive data
|
128
|
+
storageExclude: [
|
129
|
+
'user.password', // Don't persist passwords
|
130
|
+
'auth.token', // Don't persist auth tokens
|
131
|
+
'temp.*' // Don't persist temporary data
|
132
|
+
],
|
133
|
+
|
134
|
+
// Custom serialization
|
135
|
+
storageSerialize: (state) => {
|
136
|
+
// Custom serialization logic
|
137
|
+
return JSON.stringify(state, (key, value) => {
|
138
|
+
if (key === 'password') return undefined; // Remove passwords
|
139
|
+
if (key === 'token') return undefined; // Remove tokens
|
140
|
+
return value;
|
141
|
+
});
|
142
|
+
},
|
143
|
+
|
144
|
+
// Custom deserialization
|
145
|
+
storageDeserialize: (data) => {
|
146
|
+
// Custom deserialization logic
|
147
|
+
const state = JSON.parse(data);
|
148
|
+
// Add default values or transform data
|
149
|
+
return state;
|
150
|
+
},
|
151
|
+
|
152
|
+
// Storage events
|
153
|
+
storageEvents: {
|
154
|
+
onSave: (key, value) => {
|
155
|
+
console.log(`Saved to storage: ${key}`);
|
156
|
+
},
|
157
|
+
onLoad: (key, value) => {
|
158
|
+
console.log(`Loaded from storage: ${key}`);
|
159
|
+
},
|
160
|
+
onError: (error) => {
|
161
|
+
console.error('Storage error:', error);
|
162
|
+
}
|
163
|
+
}
|
164
|
+
});
|
165
|
+
```
|
166
|
+
|
167
|
+
### **Production Configuration**
|
168
|
+
|
169
|
+
```js
|
170
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
171
|
+
|
172
|
+
const isDevelopment = process.env.NODE_ENV === 'development';
|
173
|
+
|
174
|
+
Flux.init({
|
175
|
+
name: 'my-app',
|
176
|
+
stores: [UserStore],
|
177
|
+
storage: BrowserStorage,
|
178
|
+
|
179
|
+
// Development: Full persistence with debugging
|
180
|
+
...(isDevelopment && {
|
181
|
+
storageWait: 100,
|
182
|
+
storageDebounce: true,
|
183
|
+
storageEvents: {
|
184
|
+
onSave: (key, value) => console.log(`💾 Saved: ${key}`),
|
185
|
+
onLoad: (key, value) => console.log(`📂 Loaded: ${key}`)
|
186
|
+
}
|
187
|
+
}),
|
188
|
+
|
189
|
+
// Production: Optimized persistence
|
190
|
+
...(!isDevelopment && {
|
191
|
+
storageWait: 500,
|
192
|
+
storageDebounce: true,
|
193
|
+
storageCompress: true,
|
194
|
+
storageEvents: {
|
195
|
+
onError: (error) => {
|
196
|
+
// Send to error tracking service
|
197
|
+
analytics.track('storage_error', { error: error.message });
|
198
|
+
}
|
199
|
+
}
|
200
|
+
})
|
201
|
+
});
|
202
|
+
```
|
203
|
+
|
204
|
+
## 🎨 Storage Features
|
205
|
+
|
206
|
+
### **Automatic State Persistence**
|
207
|
+
|
208
|
+
State automatically persists across browser sessions:
|
209
|
+
|
210
|
+
```js
|
211
|
+
// User logs in
|
212
|
+
Flux.dispatch({ type: 'USER_LOGIN', user: { id: 1, name: 'John' } });
|
213
|
+
|
214
|
+
// User closes browser and reopens
|
215
|
+
// State is automatically restored from localStorage
|
216
|
+
const user = Flux.getState('user.current'); // { id: 1, name: 'John' }
|
217
|
+
```
|
218
|
+
|
219
|
+
### **Selective Persistence**
|
220
|
+
|
221
|
+
Choose which parts of state to persist:
|
222
|
+
|
223
|
+
```js
|
224
|
+
Flux.init({
|
225
|
+
name: 'my-app',
|
226
|
+
stores: [UserStore],
|
227
|
+
storage: BrowserStorage,
|
228
|
+
|
229
|
+
// Only persist specific paths
|
230
|
+
storagePaths: [
|
231
|
+
'user.current', // Persist current user
|
232
|
+
'user.preferences', // Persist user preferences
|
233
|
+
'cart.items', // Persist cart items
|
234
|
+
'ui.theme' // Persist UI theme
|
235
|
+
],
|
236
|
+
|
237
|
+
// Exclude sensitive or temporary data
|
238
|
+
storageExclude: [
|
239
|
+
'user.password', // Don't persist passwords
|
240
|
+
'auth.token', // Don't persist auth tokens
|
241
|
+
'temp.*', // Don't persist temporary data
|
242
|
+
'ui.loading' // Don't persist loading states
|
243
|
+
]
|
244
|
+
});
|
245
|
+
```
|
246
|
+
|
247
|
+
### **Cross-Tab Synchronization**
|
248
|
+
|
249
|
+
Synchronize state across multiple browser tabs:
|
250
|
+
|
251
|
+
```js
|
252
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
253
|
+
|
254
|
+
Flux.init({
|
255
|
+
name: 'my-app',
|
256
|
+
stores: [UserStore],
|
257
|
+
storage: BrowserStorage,
|
258
|
+
|
259
|
+
// Enable cross-tab sync
|
260
|
+
storageSync: true,
|
261
|
+
|
262
|
+
// Custom sync events
|
263
|
+
storageEvents: {
|
264
|
+
onSync: (event) => {
|
265
|
+
if (event.key === 'arkhamjs-state') {
|
266
|
+
console.log('State synced from another tab');
|
267
|
+
// Optionally refresh UI or show notification
|
268
|
+
}
|
269
|
+
}
|
270
|
+
}
|
271
|
+
});
|
272
|
+
|
273
|
+
// State changes in one tab will automatically sync to other tabs
|
274
|
+
```
|
275
|
+
|
276
|
+
### **Data Compression**
|
12
277
|
|
13
|
-
|
278
|
+
Compress large state objects to save storage space:
|
14
279
|
|
15
|
-
```
|
16
|
-
|
280
|
+
```js
|
281
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
282
|
+
|
283
|
+
Flux.init({
|
284
|
+
name: 'my-app',
|
285
|
+
stores: [UserStore],
|
286
|
+
storage: BrowserStorage,
|
287
|
+
|
288
|
+
// Enable compression for large state objects
|
289
|
+
storageCompress: true,
|
290
|
+
storageCompressThreshold: 1024, // Compress if >1KB
|
291
|
+
|
292
|
+
// Custom compression
|
293
|
+
storageCompress: (data) => {
|
294
|
+
// Use custom compression library
|
295
|
+
return customCompress(data);
|
296
|
+
},
|
297
|
+
|
298
|
+
// Custom decompression
|
299
|
+
storageDecompress: (data) => {
|
300
|
+
// Use custom decompression library
|
301
|
+
return customDecompress(data);
|
302
|
+
}
|
303
|
+
});
|
304
|
+
```
|
305
|
+
|
306
|
+
### **Data Encryption**
|
307
|
+
|
308
|
+
Encrypt sensitive data before storage:
|
309
|
+
|
310
|
+
```js
|
311
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
312
|
+
|
313
|
+
Flux.init({
|
314
|
+
name: 'my-app',
|
315
|
+
stores: [UserStore],
|
316
|
+
storage: BrowserStorage,
|
317
|
+
|
318
|
+
// Enable encryption
|
319
|
+
storageEncrypt: true,
|
320
|
+
storageEncryptKey: 'your-secret-key',
|
321
|
+
|
322
|
+
// Custom encryption
|
323
|
+
storageEncrypt: (data, key) => {
|
324
|
+
// Use custom encryption library
|
325
|
+
return customEncrypt(data, key);
|
326
|
+
},
|
327
|
+
|
328
|
+
// Custom decryption
|
329
|
+
storageDecrypt: (data, key) => {
|
330
|
+
// Use custom decryption library
|
331
|
+
return customDecrypt(data, key);
|
332
|
+
}
|
333
|
+
});
|
334
|
+
```
|
335
|
+
|
336
|
+
## 🔍 Advanced Usage
|
337
|
+
|
338
|
+
### **Custom Storage Implementation**
|
339
|
+
|
340
|
+
```js
|
341
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
342
|
+
|
343
|
+
// Create custom storage adapter
|
344
|
+
const customStorage = BrowserStorage.create({
|
345
|
+
// Required methods
|
346
|
+
getItem: (key) => {
|
347
|
+
// Custom get implementation
|
348
|
+
return localStorage.getItem(key);
|
349
|
+
},
|
350
|
+
|
351
|
+
setItem: (key, value) => {
|
352
|
+
// Custom set implementation
|
353
|
+
localStorage.setItem(key, value);
|
354
|
+
},
|
355
|
+
|
356
|
+
removeItem: (key) => {
|
357
|
+
// Custom remove implementation
|
358
|
+
localStorage.removeItem(key);
|
359
|
+
},
|
360
|
+
|
361
|
+
// Optional methods
|
362
|
+
clear: () => {
|
363
|
+
// Custom clear implementation
|
364
|
+
localStorage.clear();
|
365
|
+
},
|
366
|
+
|
367
|
+
key: (index) => {
|
368
|
+
// Custom key implementation
|
369
|
+
return localStorage.key(index);
|
370
|
+
},
|
371
|
+
|
372
|
+
get length() {
|
373
|
+
// Custom length implementation
|
374
|
+
return localStorage.length;
|
375
|
+
}
|
376
|
+
});
|
377
|
+
|
378
|
+
Flux.init({
|
379
|
+
name: 'my-app',
|
380
|
+
stores: [UserStore],
|
381
|
+
storage: customStorage
|
382
|
+
});
|
383
|
+
```
|
384
|
+
|
385
|
+
### **Storage Migration**
|
386
|
+
|
387
|
+
```js
|
388
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
389
|
+
|
390
|
+
Flux.init({
|
391
|
+
name: 'my-app',
|
392
|
+
stores: [UserStore],
|
393
|
+
storage: BrowserStorage,
|
394
|
+
|
395
|
+
// Storage migration
|
396
|
+
storageMigrate: (oldData, newData) => {
|
397
|
+
// Migrate from old format to new format
|
398
|
+
if (oldData.version === 1) {
|
399
|
+
return {
|
400
|
+
...newData,
|
401
|
+
user: {
|
402
|
+
...newData.user,
|
403
|
+
// Migrate old user format
|
404
|
+
current: oldData.user ? { ...oldData.user, id: oldData.user.id || 1 } : null
|
405
|
+
}
|
406
|
+
};
|
407
|
+
}
|
408
|
+
return newData;
|
409
|
+
},
|
410
|
+
|
411
|
+
// Version tracking
|
412
|
+
storageVersion: 2,
|
413
|
+
|
414
|
+
// Migration events
|
415
|
+
storageEvents: {
|
416
|
+
onMigrate: (oldVersion, newVersion) => {
|
417
|
+
console.log(`Migrated from v${oldVersion} to v${newVersion}`);
|
418
|
+
}
|
419
|
+
}
|
420
|
+
});
|
421
|
+
```
|
422
|
+
|
423
|
+
### **Storage Analytics**
|
424
|
+
|
425
|
+
```js
|
426
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
427
|
+
|
428
|
+
Flux.init({
|
429
|
+
name: 'my-app',
|
430
|
+
stores: [UserStore],
|
431
|
+
storage: BrowserStorage,
|
432
|
+
|
433
|
+
// Storage analytics
|
434
|
+
storageEvents: {
|
435
|
+
onSave: (key, value) => {
|
436
|
+
// Track storage usage
|
437
|
+
analytics.track('storage_save', {
|
438
|
+
key,
|
439
|
+
size: JSON.stringify(value).length,
|
440
|
+
timestamp: Date.now()
|
441
|
+
});
|
442
|
+
},
|
443
|
+
|
444
|
+
onLoad: (key, value) => {
|
445
|
+
// Track storage reads
|
446
|
+
analytics.track('storage_load', {
|
447
|
+
key,
|
448
|
+
size: JSON.stringify(value).length,
|
449
|
+
timestamp: Date.now()
|
450
|
+
});
|
451
|
+
},
|
452
|
+
|
453
|
+
onError: (error) => {
|
454
|
+
// Track storage errors
|
455
|
+
analytics.track('storage_error', {
|
456
|
+
error: error.message,
|
457
|
+
timestamp: Date.now()
|
458
|
+
});
|
459
|
+
}
|
460
|
+
}
|
461
|
+
});
|
462
|
+
```
|
463
|
+
|
464
|
+
## 🎯 Use Cases
|
465
|
+
|
466
|
+
### **User Preferences Persistence**
|
467
|
+
|
468
|
+
```js
|
469
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
470
|
+
|
471
|
+
Flux.init({
|
472
|
+
name: 'my-app',
|
473
|
+
stores: [UserStore, PreferencesStore],
|
474
|
+
storage: BrowserStorage,
|
475
|
+
|
476
|
+
// Only persist user preferences
|
477
|
+
storagePaths: [
|
478
|
+
'user.preferences.theme',
|
479
|
+
'user.preferences.language',
|
480
|
+
'user.preferences.notifications',
|
481
|
+
'ui.sidebar.collapsed'
|
482
|
+
]
|
483
|
+
});
|
484
|
+
|
485
|
+
// User preferences will persist across sessions
|
486
|
+
Flux.dispatch({ type: 'SET_THEME', theme: 'dark' });
|
487
|
+
// Theme preference is automatically saved
|
488
|
+
```
|
489
|
+
|
490
|
+
### **Shopping Cart Persistence**
|
491
|
+
|
492
|
+
```js
|
493
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
494
|
+
|
495
|
+
Flux.init({
|
496
|
+
name: 'my-app',
|
497
|
+
stores: [CartStore],
|
498
|
+
storage: BrowserStorage,
|
499
|
+
|
500
|
+
// Persist cart items
|
501
|
+
storagePaths: ['cart.items', 'cart.total'],
|
502
|
+
|
503
|
+
// Don't persist temporary cart state
|
504
|
+
storageExclude: ['cart.loading', 'cart.error']
|
505
|
+
});
|
506
|
+
|
507
|
+
// Cart items persist if user closes browser
|
508
|
+
Flux.dispatch({ type: 'CART_ADD', item: { id: 1, name: 'Product' } });
|
509
|
+
// Cart is automatically saved
|
510
|
+
```
|
511
|
+
|
512
|
+
### **Form Data Persistence**
|
513
|
+
|
514
|
+
```js
|
515
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
516
|
+
|
517
|
+
Flux.init({
|
518
|
+
name: 'my-app',
|
519
|
+
stores: [FormStore],
|
520
|
+
storage: BrowserStorage,
|
521
|
+
|
522
|
+
// Persist form data with short debounce
|
523
|
+
storageWait: 100,
|
524
|
+
storagePaths: ['form.draft'],
|
525
|
+
|
526
|
+
// Clear form data on successful submission
|
527
|
+
storageEvents: {
|
528
|
+
onAction: (action) => {
|
529
|
+
if (action.type === 'FORM_SUBMIT_SUCCESS') {
|
530
|
+
// Clear draft data
|
531
|
+
localStorage.removeItem('arkhamjs-state-form.draft');
|
532
|
+
}
|
533
|
+
}
|
534
|
+
}
|
535
|
+
});
|
536
|
+
|
537
|
+
// Form data is automatically saved as user types
|
538
|
+
// Prevents data loss if user accidentally closes browser
|
17
539
|
```
|
18
540
|
|
19
|
-
##
|
541
|
+
## 🔗 Related Packages
|
542
|
+
|
543
|
+
- **[@nlabs/arkhamjs](./arkhamjs/README.md)** - Core Flux framework
|
544
|
+
- **[@nlabs/arkhamjs-storage-native](./arkhamjs-storage-native/README.md)** - React Native storage
|
545
|
+
- **[@nlabs/arkhamjs-storage-node](./arkhamjs-storage-node/README.md)** - Node.js storage
|
546
|
+
|
547
|
+
## 📚 Documentation
|
548
|
+
|
549
|
+
For detailed documentation and examples, visit [arkhamjs.io](https://arkhamjs.io).
|
550
|
+
|
551
|
+
## 🤝 Community & Support
|
552
|
+
|
553
|
+
- **💬 [Discord Community](https://discord.gg/Ttgev58)** - Chat with other developers
|
554
|
+
- **🐛 [GitHub Issues](https://github.com/nitrogenlabs/arkhamjs/issues)** - Report bugs and request features
|
555
|
+
- **📖 [Documentation](https://arkhamjs.io)** - Complete API reference
|
556
|
+
|
557
|
+
## 📄 License
|
20
558
|
|
21
|
-
|
559
|
+
MIT License - see [LICENSE](../LICENSE) file for details.
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { BrowserStorageOptions } from '../types/main';
|
2
|
+
export declare class BrowserStorage {
|
3
|
+
static window: any;
|
4
|
+
private options;
|
5
|
+
constructor(options?: BrowserStorageOptions);
|
6
|
+
static delLocalData(key: string): boolean;
|
7
|
+
static delSessionData(key: string): boolean;
|
8
|
+
static getLocalData(key: string): any;
|
9
|
+
static getLocalStorage(): any;
|
10
|
+
static getSessionData(key: string): any;
|
11
|
+
static getSessionStorage(): any;
|
12
|
+
static setLocalData(key: string, value: any): boolean;
|
13
|
+
static setSessionData(key: string, value: any): boolean;
|
14
|
+
getStorageData(key: string): Promise<any>;
|
15
|
+
setStorageData(key: string, value: any): Promise<boolean>;
|
16
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var g=(o,t)=>{for(var e in t)n(o,e,{get:t[e],enumerable:!0})},u=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of l(t))!c.call(o,a)&&a!==e&&n(o,a,{get:()=>t[a],enumerable:!(s=i(t,a))||s.enumerable});return o};var S=o=>u(n({},"__esModule",{value:!0}),o);var f={};g(f,{BrowserStorage:()=>r});module.exports=S(f);class r{constructor(t={}){this.options={type:"session"};this.getStorageData=this.getStorageData.bind(this),this.setStorageData=this.setStorageData.bind(this),this.options={...this.options,...t}}static{this.window=window||{}}static delLocalData(t){const e=r.getLocalStorage();if(e)try{return e.removeItem(t),!0}catch{return!1}else return!1}static delSessionData(t){const e=r.getSessionStorage();if(e)try{return e.removeItem(t),!0}catch{return!1}else return!1}static getLocalData(t){const e=r.getLocalStorage();if(e)try{const s=e.getItem(t);return s?JSON.parse(s):null}catch{return null}else return null}static getLocalStorage(){const{localStorage:t}=r.window;return t}static getSessionData(t){const e=r.getSessionStorage();if(e)try{const s=e.getItem(t);return s&&s?JSON.parse(s):null}catch{return null}else return null}static getSessionStorage(){const{sessionStorage:t}=r.window;return t}static setLocalData(t,e){const s=r.getLocalStorage();if(s)try{return s.setItem(t,JSON.stringify(e)),!0}catch{return!1}else return!1}static setSessionData(t,e){const s=r.getSessionStorage();if(s)try{return s.setItem(t,JSON.stringify(e)),!0}catch{return!1}else return!1}getStorageData(t){const{type:e}=this.options,s=e==="local"?r.getLocalData(t):r.getSessionData(t);return Promise.resolve(s)}setStorageData(t,e){const{type:s}=this.options,a=s==="local"?r.setLocalData(t,e):r.setSessionData(t,e);return Promise.resolve(a)}}0&&(module.exports={BrowserStorage});
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Jyb3dzZXJTdG9yYWdlL0Jyb3dzZXJTdG9yYWdlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtCcm93c2VyU3RvcmFnZU9wdGlvbnN9IGZyb20gJy4uL3R5cGVzL21haW4nO1xuXG5leHBvcnQgY2xhc3MgQnJvd3NlclN0b3JhZ2Uge1xuICBzdGF0aWMgd2luZG93OiBhbnkgPSB3aW5kb3cgfHwge307XG4gIHByaXZhdGUgb3B0aW9uczogQnJvd3NlclN0b3JhZ2VPcHRpb25zID0ge1xuICAgIHR5cGU6ICdzZXNzaW9uJ1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEJyb3dzZXJTdG9yYWdlT3B0aW9ucyA9IHt9KSB7XG4gICAgLy8gTWV0aG9kc1xuICAgIHRoaXMuZ2V0U3RvcmFnZURhdGEgPSB0aGlzLmdldFN0b3JhZ2VEYXRhLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zZXRTdG9yYWdlRGF0YSA9IHRoaXMuc2V0U3RvcmFnZURhdGEuYmluZCh0aGlzKTtcblxuICAgIC8vIENvbmZpZ3VyYXRpb25cbiAgICB0aGlzLm9wdGlvbnMgPSB7Li4udGhpcy5vcHRpb25zLCAuLi5vcHRpb25zfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEga2V5IGZyb20gbG9jYWxTdG9yYWdlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IEtleSBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGEgdG8gcmVtb3ZlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgcmVtb3ZlZC5cbiAgICovXG4gIHN0YXRpYyBkZWxMb2NhbERhdGEoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS5nZXRMb2NhbFN0b3JhZ2UoKTtcblxuICAgIGlmKGxvY2FsU3RvcmFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEga2V5IGZyb20gc2Vzc2lvblN0b3JhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgS2V5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0YSB0byByZW1vdmUuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSByZW1vdmVkLlxuICAgKi9cbiAgc3RhdGljIGRlbFNlc3Npb25EYXRhKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2Vzc2lvblN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS5nZXRTZXNzaW9uU3RvcmFnZSgpO1xuXG4gICAgaWYoc2Vzc2lvblN0b3JhZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBrZXkgdmFsdWUgZnJvbSBsb2NhbFN0b3JhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBmb3IgZGF0YS5cbiAgICogQHJldHVybnMge2FueX0gdGhlIGRhdGEgb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUga2V5LlxuICAgKi9cbiAgc3RhdGljIGdldExvY2FsRGF0YShrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgbG9jYWxTdG9yYWdlID0gQnJvd3NlclN0b3JhZ2UuZ2V0TG9jYWxTdG9yYWdlKCk7XG5cbiAgICBpZihsb2NhbFN0b3JhZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuXG4gICAgICAgIGlmKGl0ZW0pIHtcbiAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsb2NhbFN0b3JhZ2UgZnJvbSBnbG9iYWwgd2luZG93IG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBLZXkgdG8gc3RvcmUgZGF0YS5cbiAgICogQHBhcmFtIHthbnl9IHZhbHVlIERhdGEgdG8gc3RvcmUuXG4gICAqIEByZXR1cm5zIHthbnl9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuXG4gICAqL1xuICBzdGF0aWMgZ2V0TG9jYWxTdG9yYWdlKCk6IGFueSB7XG4gICAgY29uc3Qge2xvY2FsU3RvcmFnZX0gPSBCcm93c2VyU3RvcmFnZS53aW5kb3c7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBrZXkgdmFsdWUgZnJvbSBzZXNzaW9uU3RvcmFnZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IGZvciBkYXRhLlxuICAgKiBAcmV0dXJucyB7YW55fSB0aGUgZGF0YSBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBrZXkuXG4gICAqL1xuICBzdGF0aWMgZ2V0U2Vzc2lvbkRhdGEoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHNlc3Npb25TdG9yYWdlID0gQnJvd3NlclN0b3JhZ2UuZ2V0U2Vzc2lvblN0b3JhZ2UoKTtcblxuICAgIGlmKHNlc3Npb25TdG9yYWdlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBpdGVtID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuXG4gICAgICAgIGlmKGl0ZW0pIHtcbiAgICAgICAgICByZXR1cm4gaXRlbSA/IEpTT04ucGFyc2UoaXRlbSkgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlc3Npb25TdG9yYWdlIGZyb20gZ2xvYmFsIHdpbmRvdyBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgS2V5IHRvIHN0b3JlIGRhdGEuXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZSBEYXRhIHRvIHN0b3JlLlxuICAgKiBAcmV0dXJucyB7YW55fSB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuXG4gICAqL1xuICBzdGF0aWMgZ2V0U2Vzc2lvblN0b3JhZ2UoKTogYW55IHtcbiAgICBjb25zdCB7c2Vzc2lvblN0b3JhZ2V9ID0gQnJvd3NlclN0b3JhZ2Uud2luZG93O1xuXG4gICAgcmV0dXJuIHNlc3Npb25TdG9yYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIGRhdGEgdG8gbG9jYWxTdG9yYWdlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IEtleSB0byBzdG9yZSBkYXRhLlxuICAgKiBAcGFyYW0ge2FueX0gdmFsdWUgRGF0YSB0byBzdG9yZS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgZGF0YSB3YXMgc3VjY2Vzc2Z1bGx5IHNhdmVkLlxuICAgKi9cbiAgc3RhdGljIHNldExvY2FsRGF0YShrZXk6IHN0cmluZywgdmFsdWUpOiBib29sZWFuIHtcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS5nZXRMb2NhbFN0b3JhZ2UoKTtcblxuICAgIGlmKGxvY2FsU3RvcmFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIGRhdGEgdG8gc2Vzc2lvblN0b3JhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgS2V5IHRvIHN0b3JlIGRhdGEuXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZSBEYXRhIHRvIHN0b3JlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgc2F2ZWQuXG4gICAqL1xuICBzdGF0aWMgc2V0U2Vzc2lvbkRhdGEoa2V5OiBzdHJpbmcsIHZhbHVlKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2Vzc2lvblN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS5nZXRTZXNzaW9uU3RvcmFnZSgpO1xuXG4gICAgaWYoc2Vzc2lvblN0b3JhZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIGtleSB2YWx1ZSBmcm9tIHN0b3JhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBmb3IgZGF0YS5cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn0gdGhlIGRhdGEgb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUga2V5LlxuICAgKi9cbiAgZ2V0U3RvcmFnZURhdGEoa2V5OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHt0eXBlfSA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCByZXN1bHRzID0gdHlwZSA9PT0gJ2xvY2FsJyA/IEJyb3dzZXJTdG9yYWdlLmdldExvY2FsRGF0YShrZXkpIDogQnJvd3NlclN0b3JhZ2UuZ2V0U2Vzc2lvbkRhdGEoa2V5KTtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIGRhdGEgdG8gc3RvcmFnZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBLZXkgdG8gc3RvcmUgZGF0YS5cbiAgICogQHBhcmFtIHthbnl9IHZhbHVlIERhdGEgdG8gc3RvcmUuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSBXaGV0aGVyIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSBzYXZlZC5cbiAgICovXG4gIHNldFN0b3JhZ2VEYXRhKGtleTogc3RyaW5nLCB2YWx1ZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHt0eXBlfSA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCByZXN1bHRzOiBib29sZWFuID0gdHlwZSA9PT0gJ2xvY2FsJyA/XG4gICAgICBCcm93c2VyU3RvcmFnZS5zZXRMb2NhbERhdGEoa2V5LCB2YWx1ZSkgOlxuICAgICAgQnJvd3NlclN0b3JhZ2Uuc2V0U2Vzc2lvbkRhdGEoa2V5LCB2YWx1ZSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHRzKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjRaQUFBLElBQUFBLEVBQUEsR0FBQUMsRUFBQUQsRUFBQSxvQkFBQUUsSUFBQSxlQUFBQyxFQUFBSCxHQU1PLE1BQU1FLENBQWUsQ0FNMUIsWUFBWUUsRUFBaUMsQ0FBQyxFQUFHLENBSmpELEtBQVEsUUFBaUMsQ0FDdkMsS0FBTSxTQUNSLEVBSUUsS0FBSyxlQUFpQixLQUFLLGVBQWUsS0FBSyxJQUFJLEVBQ25ELEtBQUssZUFBaUIsS0FBSyxlQUFlLEtBQUssSUFBSSxFQUduRCxLQUFLLFFBQVUsQ0FBQyxHQUFHLEtBQUssUUFBUyxHQUFHQSxDQUFPLENBQzdDLENBWkEsWUFBTyxPQUFjLFFBQVUsQ0FBQyxFQW9CaEMsT0FBTyxhQUFhQyxFQUFzQixDQUN4QyxNQUFNQyxFQUFlSixFQUFlLGdCQUFnQixFQUVwRCxHQUFHSSxFQUNELEdBQUksQ0FDRixPQUFBQSxFQUFhLFdBQVdELENBQUcsRUFDcEIsRUFDVCxNQUFlLENBQ2IsTUFBTyxFQUNULEtBRUEsT0FBTyxFQUVYLENBUUEsT0FBTyxlQUFlQSxFQUFzQixDQUMxQyxNQUFNRSxFQUFpQkwsRUFBZSxrQkFBa0IsRUFFeEQsR0FBR0ssRUFDRCxHQUFJLENBQ0YsT0FBQUEsRUFBZSxXQUFXRixDQUFHLEVBQ3RCLEVBQ1QsTUFBZSxDQUNiLE1BQU8sRUFDVCxLQUVBLE9BQU8sRUFFWCxDQVFBLE9BQU8sYUFBYUEsRUFBa0IsQ0FDcEMsTUFBTUMsRUFBZUosRUFBZSxnQkFBZ0IsRUFFcEQsR0FBR0ksRUFDRCxHQUFJLENBQ0YsTUFBTUUsRUFBT0YsRUFBYSxRQUFRRCxDQUFHLEVBRXJDLE9BQUdHLEVBQ00sS0FBSyxNQUFNQSxDQUFJLEVBR2pCLElBQ1QsTUFBZSxDQUNiLE9BQU8sSUFDVCxLQUVBLFFBQU8sSUFFWCxDQVNBLE9BQU8saUJBQXVCLENBQzVCLEtBQU0sQ0FBQyxhQUFBRixDQUFZLEVBQUlKLEVBQWUsT0FDdEMsT0FBT0ksQ0FDVCxDQVFBLE9BQU8sZUFBZUQsRUFBa0IsQ0FDdEMsTUFBTUUsRUFBaUJMLEVBQWUsa0JBQWtCLEVBRXhELEdBQUdLLEVBQ0QsR0FBSSxDQUNGLE1BQU1DLEVBQU9ELEVBQWUsUUFBUUYsQ0FBRyxFQUV2QyxPQUFHRyxHQUNNQSxFQUFPLEtBQUssTUFBTUEsQ0FBSSxFQUd4QixJQUNULE1BQWUsQ0FDYixPQUFPLElBQ1QsS0FFQSxRQUFPLElBRVgsQ0FTQSxPQUFPLG1CQUF5QixDQUM5QixLQUFNLENBQUMsZUFBQUQsQ0FBYyxFQUFJTCxFQUFlLE9BRXhDLE9BQU9LLENBQ1QsQ0FTQSxPQUFPLGFBQWFGLEVBQWFJLEVBQWdCLENBQy9DLE1BQU1ILEVBQWVKLEVBQWUsZ0JBQWdCLEVBRXBELEdBQUdJLEVBQ0QsR0FBSSxDQUNGLE9BQUFBLEVBQWEsUUFBUUQsRUFBSyxLQUFLLFVBQVVJLENBQUssQ0FBQyxFQUN4QyxFQUNULE1BQWUsQ0FDYixNQUFPLEVBQ1QsS0FFQSxPQUFPLEVBRVgsQ0FTQSxPQUFPLGVBQWVKLEVBQWFJLEVBQWdCLENBQ2pELE1BQU1GLEVBQWlCTCxFQUFlLGtCQUFrQixFQUV4RCxHQUFHSyxFQUNELEdBQUksQ0FDRixPQUFBQSxFQUFlLFFBQVFGLEVBQUssS0FBSyxVQUFVSSxDQUFLLENBQUMsRUFDMUMsRUFDVCxNQUFlLENBQ2IsTUFBTyxFQUNULEtBRUEsT0FBTyxFQUVYLENBUUEsZUFBZUosRUFBMkIsQ0FDeEMsS0FBTSxDQUFDLEtBQUFLLENBQUksRUFBSSxLQUFLLFFBQ2RDLEVBQVVELElBQVMsUUFBVVIsRUFBZSxhQUFhRyxDQUFHLEVBQUlILEVBQWUsZUFBZUcsQ0FBRyxFQUN2RyxPQUFPLFFBQVEsUUFBUU0sQ0FBTyxDQUNoQyxDQVNBLGVBQWVOLEVBQWFJLEVBQXlCLENBQ25ELEtBQU0sQ0FBQyxLQUFBQyxDQUFJLEVBQUksS0FBSyxRQUNkQyxFQUFtQkQsSUFBUyxRQUNoQ1IsRUFBZSxhQUFhRyxFQUFLSSxDQUFLLEVBQ3RDUCxFQUFlLGVBQWVHLEVBQUtJLENBQUssRUFDMUMsT0FBTyxRQUFRLFFBQVFFLENBQU8sQ0FDaEMsQ0FDRiIsCiAgIm5hbWVzIjogWyJCcm93c2VyU3RvcmFnZV9leHBvcnRzIiwgIl9fZXhwb3J0IiwgIkJyb3dzZXJTdG9yYWdlIiwgIl9fdG9Db21tb25KUyIsICJvcHRpb25zIiwgImtleSIsICJsb2NhbFN0b3JhZ2UiLCAic2Vzc2lvblN0b3JhZ2UiLCAiaXRlbSIsICJ2YWx1ZSIsICJ0eXBlIiwgInJlc3VsdHMiXQp9Cg==
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
var x=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var B=(o,r)=>{for(var e in r)x(o,e,{get:r[e],enumerable:!0})},f=(o,r,e,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of s(r))!w.call(o,t)&&t!==e&&x(o,t,{get:()=>r[t],enumerable:!(a=i(r,t))||a.enumerable});return o},p=(o,r,e)=>(f(o,r,"default"),e&&f(e,r,"default"));var S=o=>f(x({},"__esModule",{value:!0}),o);var m={};B(m,{BrowserStorage:()=>g.BrowserStorage});module.exports=S(m);var g=require("./BrowserStorage/BrowserStorage");p(m,require("./types/main"),module.exports);0&&(module.exports={BrowserStorage,...require("./types/main")});
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtCcm93c2VyU3RvcmFnZX0gZnJvbSAnLi9Ccm93c2VyU3RvcmFnZS9Ccm93c2VyU3RvcmFnZSc7XG5cbi8vIFN0b3JhZ2VcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvbWFpbic7XG5leHBvcnQge0Jyb3dzZXJTdG9yYWdlfTtcbiJdLAogICJtYXBwaW5ncyI6ICI4Y0FBQSxJQUFBQSxFQUFBLEdBQUFDLEVBQUFELEVBQUEsc0RBQUFFLEVBQUFGLEdBSUEsSUFBQUcsRUFBNkIsMkNBRzdCQyxFQUFBSixFQUFjLHdCQVBkIiwKICAibmFtZXMiOiBbImluZGV4X2V4cG9ydHMiLCAiX19leHBvcnQiLCAiX190b0NvbW1vbkpTIiwgImltcG9ydF9Ccm93c2VyU3RvcmFnZSIsICJfX3JlRXhwb3J0Il0KfQo=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var t=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var p=(o,e,a,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of i(e))!l.call(o,r)&&r!==a&&t(o,r,{get:()=>e[r],enumerable:!(s=n(e,r))||s.enumerable});return o};var c=o=>p(t({},"__esModule",{value:!0}),o);var y={};module.exports=c(y);
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3R5cGVzL21haW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCBpbnRlcmZhY2UgQnJvd3NlclN0b3JhZ2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgdHlwZT86ICdsb2NhbCcgfCAnc2Vzc2lvbic7XG59XG4iXSwKICAibWFwcGluZ3MiOiAia1dBQUEsSUFBQUEsRUFBQSxrQkFBQUMsRUFBQUQiLAogICJuYW1lcyI6IFsibWFpbl9leHBvcnRzIiwgIl9fdG9Db21tb25KUyJdCn0K
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nlabs/arkhamjs-storage-browser",
|
3
|
-
"version": "3.
|
3
|
+
"version": "3.29.0",
|
4
4
|
"publishConfig": {
|
5
5
|
"access": "public"
|
6
6
|
},
|
@@ -31,9 +31,9 @@
|
|
31
31
|
"url": "https://github.com/nitrogenlabs/arkhamjs/issues"
|
32
32
|
},
|
33
33
|
"scripts": {
|
34
|
-
"build": "lex compile",
|
34
|
+
"build": "lex compile --remove",
|
35
35
|
"clean": "lex clean",
|
36
|
-
"lint": "
|
36
|
+
"lint": "lex lint --fix",
|
37
37
|
"prepublishOnly": "npm run build",
|
38
38
|
"publish:major": "npm version major && npm publish",
|
39
39
|
"publish:minor": "npm version minor && npm publish",
|
@@ -41,18 +41,25 @@
|
|
41
41
|
"pretest": "npm run lint",
|
42
42
|
"reset": "lex clean",
|
43
43
|
"test": "lex test",
|
44
|
-
"update": "
|
44
|
+
"update": "lex update --interactive"
|
45
45
|
},
|
46
46
|
"peerDependencies": {
|
47
47
|
"@nlabs/arkhamjs": "^3.26.0"
|
48
48
|
},
|
49
49
|
"devDependencies": {
|
50
50
|
"@nlabs/arkhamjs": "*",
|
51
|
-
"@types/jest": "^
|
52
|
-
"@types/node": "^
|
53
|
-
"
|
54
|
-
"eslint-config-styleguidejs": "^3.2.1",
|
55
|
-
"typescript": "^5.7.3"
|
51
|
+
"@types/jest": "^30.0.0",
|
52
|
+
"@types/node": "^24.0.10",
|
53
|
+
"typescript": "^5.8.3"
|
56
54
|
},
|
57
|
-
"
|
55
|
+
"files": [
|
56
|
+
"lib",
|
57
|
+
"index.js",
|
58
|
+
"index.d.ts",
|
59
|
+
"LICENSE",
|
60
|
+
"package.json",
|
61
|
+
"README.md"
|
62
|
+
],
|
63
|
+
"gitHead": "fc371e1e28fe0ae35d40d29a217d5f0e990ec32a",
|
64
|
+
"type": "module"
|
58
65
|
}
|