@nlabs/arkhamjs-storage-browser 3.28.6 → 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 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
  [![npm version](https://img.shields.io/npm/v/@nlabs/arkhamjs-storage-browser.svg?style=flat-square)](https://www.npmjs.com/package/@nlabs/arkhamjs-storage-browser)
4
6
  [![npm downloads](https://img.shields.io/npm/dm/@nlabs/arkhamjs-storage-browser.svg?style=flat-square)](https://www.npmjs.com/package/@nlabs/arkhamjs-storage-browser)
5
7
  [![Travis](https://img.shields.io/travis/nitrogenlabs/arkhamjs.svg?style=flat-square)](https://travis-ci.org/nitrogenlabs/arkhamjs)
@@ -8,14 +10,550 @@
8
10
  [![MIT license](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](http://opensource.org/licenses/MIT)
9
11
  [![Chat](https://img.shields.io/discord/446122412715802649.svg)](https://discord.gg/Ttgev58)
10
12
 
11
- ## Installation
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
- Using [npm](https://www.npmjs.com/):
278
+ Compress large state objects to save storage space:
14
279
 
15
- ```shell
16
- npm i --save @nlabs/arkhamjs-storage-browser
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
- ## Documentation
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
- For detailed [Documentation](https://arkhamjs.io) and additional options.
559
+ MIT License - see [LICENSE](../LICENSE) file for details.
@@ -1,207 +1,2 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var BrowserStorage_exports = {};
19
- __export(BrowserStorage_exports, {
20
- BrowserStorage: () => BrowserStorage
21
- });
22
- module.exports = __toCommonJS(BrowserStorage_exports);
23
- class BrowserStorage {
24
- constructor(options = {}) {
25
- this.options = {
26
- type: "session"
27
- };
28
- this.getStorageData = this.getStorageData.bind(this);
29
- this.setStorageData = this.setStorageData.bind(this);
30
- this.options = { ...this.options, ...options };
31
- }
32
- static {
33
- this.window = window || {};
34
- }
35
- /**
36
- * Removes a key from localStorage.
37
- *
38
- * @param {string} key Key associated with the data to remove.
39
- * @returns {boolean} Whether data was successfully removed.
40
- */
41
- static delLocalData(key) {
42
- const localStorage = BrowserStorage.getLocalStorage();
43
- if (localStorage) {
44
- try {
45
- localStorage.removeItem(key);
46
- return true;
47
- } catch (error) {
48
- return false;
49
- }
50
- } else {
51
- return false;
52
- }
53
- }
54
- /**
55
- * Removes a key from sessionStorage.
56
- *
57
- * @param {string} key Key associated with the data to remove.
58
- * @returns {boolean} Whether data was successfully removed.
59
- */
60
- static delSessionData(key) {
61
- const sessionStorage = BrowserStorage.getSessionStorage();
62
- if (sessionStorage) {
63
- try {
64
- sessionStorage.removeItem(key);
65
- return true;
66
- } catch (error) {
67
- return false;
68
- }
69
- } else {
70
- return false;
71
- }
72
- }
73
- /**
74
- * Get a key value from localStorage.
75
- *
76
- * @param {string} key The key for data.
77
- * @returns {any} the data object associated with the key.
78
- */
79
- static getLocalData(key) {
80
- const localStorage = BrowserStorage.getLocalStorage();
81
- if (localStorage) {
82
- try {
83
- const item = localStorage.getItem(key);
84
- if (item) {
85
- return JSON.parse(item);
86
- }
87
- return null;
88
- } catch (error) {
89
- return null;
90
- }
91
- } else {
92
- return null;
93
- }
94
- }
95
- /**
96
- * Get localStorage from global window object.
97
- *
98
- * @param {string} key Key to store data.
99
- * @param {any} value Data to store.
100
- * @returns {any} window.localStorage.
101
- */
102
- static getLocalStorage() {
103
- const { localStorage } = BrowserStorage.window;
104
- return localStorage;
105
- }
106
- /**
107
- * Get a key value from sessionStorage.
108
- *
109
- * @param {string} key The key for data.
110
- * @returns {any} the data object associated with the key.
111
- */
112
- static getSessionData(key) {
113
- const sessionStorage = BrowserStorage.getSessionStorage();
114
- if (sessionStorage) {
115
- try {
116
- const item = sessionStorage.getItem(key);
117
- if (item) {
118
- return item ? JSON.parse(item) : null;
119
- }
120
- return null;
121
- } catch (error) {
122
- return null;
123
- }
124
- } else {
125
- return null;
126
- }
127
- }
128
- /**
129
- * Get sessionStorage from global window object.
130
- *
131
- * @param {string} key Key to store data.
132
- * @param {any} value Data to store.
133
- * @returns {any} window.sessionStorage.
134
- */
135
- static getSessionStorage() {
136
- const { sessionStorage } = BrowserStorage.window;
137
- return sessionStorage;
138
- }
139
- /**
140
- * Saves data to localStorage.
141
- *
142
- * @param {string} key Key to store data.
143
- * @param {any} value Data to store.
144
- * @returns {boolean} Whether data was successfully saved.
145
- */
146
- static setLocalData(key, value) {
147
- const localStorage = BrowserStorage.getLocalStorage();
148
- if (localStorage) {
149
- try {
150
- localStorage.setItem(key, JSON.stringify(value));
151
- return true;
152
- } catch (error) {
153
- return false;
154
- }
155
- } else {
156
- return false;
157
- }
158
- }
159
- /**
160
- * Saves data to sessionStorage.
161
- *
162
- * @param {string} key Key to store data.
163
- * @param {any} value Data to store.
164
- * @returns {boolean} Whether data was successfully saved.
165
- */
166
- static setSessionData(key, value) {
167
- const sessionStorage = BrowserStorage.getSessionStorage();
168
- if (sessionStorage) {
169
- try {
170
- sessionStorage.setItem(key, JSON.stringify(value));
171
- return true;
172
- } catch (error) {
173
- return false;
174
- }
175
- } else {
176
- return false;
177
- }
178
- }
179
- /**
180
- * Get a key value from storage.
181
- *
182
- * @param {string} key The key for data.
183
- * @returns {Promise<any>} the data object associated with the key.
184
- */
185
- getStorageData(key) {
186
- const { type } = this.options;
187
- const results = type === "local" ? BrowserStorage.getLocalData(key) : BrowserStorage.getSessionData(key);
188
- return Promise.resolve(results);
189
- }
190
- /**
191
- * Saves data to storage.
192
- *
193
- * @param {string} key Key to store data.
194
- * @param {any} value Data to store.
195
- * @returns {Promise<boolean>} Whether data was successfully saved.
196
- */
197
- setStorageData(key, value) {
198
- const { type } = this.options;
199
- const results = type === "local" ? BrowserStorage.setLocalData(key, value) : BrowserStorage.setSessionData(key, value);
200
- return Promise.resolve(results);
201
- }
202
- }
203
- // Annotate the CommonJS export names for ESM import in node:
204
- 0 && (module.exports = {
205
- BrowserStorage
206
- });
207
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Jyb3dzZXJTdG9yYWdlL0Jyb3dzZXJTdG9yYWdlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtCcm93c2VyU3RvcmFnZU9wdGlvbnN9IGZyb20gJy4uL3R5cGVzL21haW4nO1xuXG5leHBvcnQgY2xhc3MgQnJvd3NlclN0b3JhZ2Uge1xuICBzdGF0aWMgd2luZG93OiBhbnkgPSB3aW5kb3cgfHwge307XG4gIHByaXZhdGUgb3B0aW9uczogQnJvd3NlclN0b3JhZ2VPcHRpb25zID0ge1xuICAgIHR5cGU6ICdzZXNzaW9uJ1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEJyb3dzZXJTdG9yYWdlT3B0aW9ucyA9IHt9KSB7XG4gICAgLy8gTWV0aG9kc1xuICAgIHRoaXMuZ2V0U3RvcmFnZURhdGEgPSB0aGlzLmdldFN0b3JhZ2VEYXRhLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zZXRTdG9yYWdlRGF0YSA9IHRoaXMuc2V0U3RvcmFnZURhdGEuYmluZCh0aGlzKTtcblxuICAgIC8vIENvbmZpZ3VyYXRpb25cbiAgICB0aGlzLm9wdGlvbnMgPSB7Li4udGhpcy5vcHRpb25zLCAuLi5vcHRpb25zfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEga2V5IGZyb20gbG9jYWxTdG9yYWdlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IEtleSBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGEgdG8gcmVtb3ZlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgcmVtb3ZlZC5cbiAgICovXG4gIHN0YXRpYyBkZWxMb2NhbERhdGEoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS5nZXRMb2NhbFN0b3JhZ2UoKTtcblxuICAgIGlmKGxvY2FsU3RvcmFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEga2V5IGZyb20gc2Vzc2lvblN0b3JhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgS2V5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0YSB0byByZW1vdmUuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSByZW1vdmVkLlxuICAgKi9cbiAgc3RhdGljIGRlbFNlc3Npb25EYXRhKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2Vzc2lvblN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS5nZXRTZXNzaW9uU3RvcmFnZSgpO1xuXG4gICAgaWYoc2Vzc2lvblN0b3JhZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBrZXkgdmFsdWUgZnJvbSBsb2NhbFN0b3JhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBmb3IgZGF0YS5cbiAgICogQHJldHVybnMge2FueX0gdGhlIGRhdGEgb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUga2V5LlxuICAgKi9cbiAgc3RhdGljIGdldExvY2FsRGF0YShrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgbG9jYWxTdG9yYWdlID0gQnJvd3NlclN0b3JhZ2UuZ2V0TG9jYWxTdG9yYWdlKCk7XG5cbiAgICBpZihsb2NhbFN0b3JhZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuXG4gICAgICAgIGlmKGl0ZW0pIHtcbiAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsb2NhbFN0b3JhZ2UgZnJvbSBnbG9iYWwgd2luZG93IG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBLZXkgdG8gc3RvcmUgZGF0YS5cbiAgICogQHBhcmFtIHthbnl9IHZhbHVlIERhdGEgdG8gc3RvcmUuXG4gICAqIEByZXR1cm5zIHthbnl9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuXG4gICAqL1xuICBzdGF0aWMgZ2V0TG9jYWxTdG9yYWdlKCk6IGFueSB7XG4gICAgY29uc3Qge2xvY2FsU3RvcmFnZX0gPSBCcm93c2VyU3RvcmFnZS53aW5kb3c7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBrZXkgdmFsdWUgZnJvbSBzZXNzaW9uU3RvcmFnZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IGZvciBkYXRhLlxuICAgKiBAcmV0dXJucyB7YW55fSB0aGUgZGF0YSBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBrZXkuXG4gICAqL1xuICBzdGF0aWMgZ2V0U2Vzc2lvbkRhdGEoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHNlc3Npb25TdG9yYWdlID0gQnJvd3NlclN0b3JhZ2UuZ2V0U2Vzc2lvblN0b3JhZ2UoKTtcblxuICAgIGlmKHNlc3Npb25TdG9yYWdlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBpdGVtID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuXG4gICAgICAgIGlmKGl0ZW0pIHtcbiAgICAgICAgICByZXR1cm4gaXRlbSA/IEpTT04ucGFyc2UoaXRlbSkgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlc3Npb25TdG9yYWdlIGZyb20gZ2xvYmFsIHdpbmRvdyBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgS2V5IHRvIHN0b3JlIGRhdGEuXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZSBEYXRhIHRvIHN0b3JlLlxuICAgKiBAcmV0dXJucyB7YW55fSB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuXG4gICAqL1xuICBzdGF0aWMgZ2V0U2Vzc2lvblN0b3JhZ2UoKTogYW55IHtcbiAgICBjb25zdCB7c2Vzc2lvblN0b3JhZ2V9ID0gQnJvd3NlclN0b3JhZ2Uud2luZG93O1xuXG4gICAgcmV0dXJuIHNlc3Npb25TdG9yYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIGRhdGEgdG8gbG9jYWxTdG9yYWdlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IEtleSB0byBzdG9yZSBkYXRhLlxuICAgKiBAcGFyYW0ge2FueX0gdmFsdWUgRGF0YSB0byBzdG9yZS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgZGF0YSB3YXMgc3VjY2Vzc2Z1bGx5IHNhdmVkLlxuICAgKi9cbiAgc3RhdGljIHNldExvY2FsRGF0YShrZXk6IHN0cmluZywgdmFsdWUpOiBib29sZWFuIHtcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS5nZXRMb2NhbFN0b3JhZ2UoKTtcblxuICAgIGlmKGxvY2FsU3RvcmFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIGRhdGEgdG8gc2Vzc2lvblN0b3JhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgS2V5IHRvIHN0b3JlIGRhdGEuXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZSBEYXRhIHRvIHN0b3JlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgc2F2ZWQuXG4gICAqL1xuICBzdGF0aWMgc2V0U2Vzc2lvbkRhdGEoa2V5OiBzdHJpbmcsIHZhbHVlKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2Vzc2lvblN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS5nZXRTZXNzaW9uU3RvcmFnZSgpO1xuXG4gICAgaWYoc2Vzc2lvblN0b3JhZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIGtleSB2YWx1ZSBmcm9tIHN0b3JhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBmb3IgZGF0YS5cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn0gdGhlIGRhdGEgb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUga2V5LlxuICAgKi9cbiAgZ2V0U3RvcmFnZURhdGEoa2V5OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHt0eXBlfSA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCByZXN1bHRzID0gdHlwZSA9PT0gJ2xvY2FsJyA/IEJyb3dzZXJTdG9yYWdlLmdldExvY2FsRGF0YShrZXkpIDogQnJvd3NlclN0b3JhZ2UuZ2V0U2Vzc2lvbkRhdGEoa2V5KTtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIGRhdGEgdG8gc3RvcmFnZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBLZXkgdG8gc3RvcmUgZGF0YS5cbiAgICogQHBhcmFtIHthbnl9IHZhbHVlIERhdGEgdG8gc3RvcmUuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSBXaGV0aGVyIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSBzYXZlZC5cbiAgICovXG4gIHNldFN0b3JhZ2VEYXRhKGtleTogc3RyaW5nLCB2YWx1ZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHt0eXBlfSA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCByZXN1bHRzOiBib29sZWFuID0gdHlwZSA9PT0gJ2xvY2FsJyA/XG4gICAgICBCcm93c2VyU3RvcmFnZS5zZXRMb2NhbERhdGEoa2V5LCB2YWx1ZSkgOlxuICAgICAgQnJvd3NlclN0b3JhZ2Uuc2V0U2Vzc2lvbkRhdGEoa2V5LCB2YWx1ZSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHRzKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTU8sTUFBTSxlQUFlO0FBQUEsRUFNMUIsWUFBWSxVQUFpQyxDQUFDLEdBQUc7QUFKakQsU0FBUSxVQUFpQztBQUFBLE1BQ3ZDLE1BQU07QUFBQSxJQUNSO0FBSUUsU0FBSyxpQkFBaUIsS0FBSyxlQUFlLEtBQUssSUFBSTtBQUNuRCxTQUFLLGlCQUFpQixLQUFLLGVBQWUsS0FBSyxJQUFJO0FBR25ELFNBQUssVUFBVSxFQUFDLEdBQUcsS0FBSyxTQUFTLEdBQUcsUUFBTztBQUFBLEVBQzdDO0FBQUEsRUFaQTtBQUFBLFNBQU8sU0FBYyxVQUFVLENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBb0JoQyxPQUFPLGFBQWEsS0FBc0I7QUFDeEMsVUFBTSxlQUFlLGVBQWUsZ0JBQWdCO0FBRXBELFFBQUcsY0FBYztBQUNmLFVBQUk7QUFDRixxQkFBYSxXQUFXLEdBQUc7QUFDM0IsZUFBTztBQUFBLE1BQ1QsU0FBUSxPQUFPO0FBQ2IsZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGLE9BQU87QUFDTCxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQU8sZUFBZSxLQUFzQjtBQUMxQyxVQUFNLGlCQUFpQixlQUFlLGtCQUFrQjtBQUV4RCxRQUFHLGdCQUFnQjtBQUNqQixVQUFJO0FBQ0YsdUJBQWUsV0FBVyxHQUFHO0FBQzdCLGVBQU87QUFBQSxNQUNULFNBQVEsT0FBTztBQUNiLGVBQU87QUFBQSxNQUNUO0FBQUEsSUFDRixPQUFPO0FBQ0wsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBQUE7QUFB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
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.js CHANGED
@@ -1,31 +1,2 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var index_exports = {};
20
- __export(index_exports, {
21
- BrowserStorage: () => import_BrowserStorage.BrowserStorage
22
- });
23
- module.exports = __toCommonJS(index_exports);
24
- var import_BrowserStorage = require("./BrowserStorage/BrowserStorage");
25
- __reExport(index_exports, require("./types/main"), module.exports);
26
- // Annotate the CommonJS export names for ESM import in node:
27
- 0 && (module.exports = {
28
- BrowserStorage,
29
- ...require("./types/main")
30
- });
31
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtCcm93c2VyU3RvcmFnZX0gZnJvbSAnLi9Ccm93c2VyU3RvcmFnZS9Ccm93c2VyU3RvcmFnZSc7XG5cbi8vIFN0b3JhZ2VcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvbWFpbic7XG5leHBvcnQge0Jyb3dzZXJTdG9yYWdlfTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSw0QkFBNkI7QUFHN0IsMEJBQWMseUJBUGQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
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=
package/lib/types/main.js CHANGED
@@ -1,16 +1,2 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
- var main_exports = {};
15
- module.exports = __toCommonJS(main_exports);
16
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3R5cGVzL21haW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCBpbnRlcmZhY2UgQnJvd3NlclN0b3JhZ2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgdHlwZT86ICdsb2NhbCcgfCAnc2Vzc2lvbic7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
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.28.6",
3
+ "version": "3.29.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -33,7 +33,7 @@
33
33
  "scripts": {
34
34
  "build": "lex compile --remove",
35
35
  "clean": "lex clean",
36
- "lint": "eslint ./src --ext .ts,.tsx",
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,16 @@
41
41
  "pretest": "npm run lint",
42
42
  "reset": "lex clean",
43
43
  "test": "lex test",
44
- "update": "npm-check-updates --interactive"
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": "^29.5.14",
52
- "@types/node": "^22.13.1",
53
- "eslint": "^9.19.0",
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": [
58
56
  "lib",
@@ -62,5 +60,6 @@
62
60
  "package.json",
63
61
  "README.md"
64
62
  ],
65
- "gitHead": "fc371e1e28fe0ae35d40d29a217d5f0e990ec32a"
63
+ "gitHead": "fc371e1e28fe0ae35d40d29a217d5f0e990ec32a",
64
+ "type": "module"
66
65
  }