@taybart/corvid 0.1.25 → 0.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +26 -6
- package/dist/local_storage.d.ts +1 -0
- package/dist/ls.js +26 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -66,6 +66,7 @@ __webpack_require__.d(local_storage_namespaceObject, {
|
|
|
66
66
|
getJSON: ()=>getJSON,
|
|
67
67
|
listen: ()=>listen,
|
|
68
68
|
set: ()=>set,
|
|
69
|
+
setObj: ()=>setObj,
|
|
69
70
|
unlisten: ()=>unlisten,
|
|
70
71
|
update: ()=>local_storage_update
|
|
71
72
|
});
|
|
@@ -703,12 +704,16 @@ function get(key, _default) {
|
|
|
703
704
|
function getJSON(key, _default) {
|
|
704
705
|
const val = get(key, _default);
|
|
705
706
|
if (null === val) return null;
|
|
706
|
-
|
|
707
|
+
try {
|
|
708
|
+
return JSON.parse(val);
|
|
709
|
+
} catch (e) {
|
|
710
|
+
console.error(e);
|
|
711
|
+
return val;
|
|
712
|
+
}
|
|
707
713
|
}
|
|
708
714
|
function local_storage_update(key, update1, broadcast = false) {
|
|
709
715
|
const prev = get(key);
|
|
710
716
|
const value = update1(prev);
|
|
711
|
-
localStorage.setItem(key, value);
|
|
712
717
|
if (prev !== value || broadcast) {
|
|
713
718
|
const event = new CustomEvent('@corvid/ls-update', {
|
|
714
719
|
detail: {
|
|
@@ -718,21 +723,36 @@ function local_storage_update(key, update1, broadcast = false) {
|
|
|
718
723
|
});
|
|
719
724
|
document.dispatchEvent(event);
|
|
720
725
|
}
|
|
726
|
+
localStorage.setItem(key, value);
|
|
721
727
|
}
|
|
722
728
|
function set(key, value, broadcast = false) {
|
|
723
|
-
const v = value;
|
|
724
|
-
if ('object' == typeof value) value = JSON.stringify(value);
|
|
725
729
|
const prev = get(key);
|
|
726
|
-
localStorage.setItem(key, value);
|
|
727
730
|
if (prev !== value || broadcast) {
|
|
728
731
|
const event = new CustomEvent('@corvid/ls-update', {
|
|
729
732
|
detail: {
|
|
730
733
|
key,
|
|
731
|
-
value
|
|
734
|
+
value
|
|
732
735
|
}
|
|
733
736
|
});
|
|
734
737
|
document.dispatchEvent(event);
|
|
735
738
|
}
|
|
739
|
+
if ('object' == typeof value) value = JSON.stringify(value);
|
|
740
|
+
localStorage.setItem(key, value);
|
|
741
|
+
}
|
|
742
|
+
function setObj(update, prefix, broadcast = false) {
|
|
743
|
+
const flatten = (ob)=>{
|
|
744
|
+
const ret = {};
|
|
745
|
+
for(let i in ob)if (ob.hasOwnProperty(i)) if ('object' == typeof ob[i] && null !== ob[i]) {
|
|
746
|
+
const flat = flatten(ob[i]);
|
|
747
|
+
for(let x in flat)if (flat.hasOwnProperty(x)) ret[`${i}.${x}`] = flat[x];
|
|
748
|
+
} else ret[i] = ob[i];
|
|
749
|
+
return ret;
|
|
750
|
+
};
|
|
751
|
+
for (let [k, v] of Object.entries(flatten(update))){
|
|
752
|
+
let key = k;
|
|
753
|
+
if (prefix) key = `${prefix}.${k}`;
|
|
754
|
+
set(key, v, broadcast);
|
|
755
|
+
}
|
|
736
756
|
}
|
|
737
757
|
const listeners = new Map();
|
|
738
758
|
function listen(key, cb) {
|
package/dist/local_storage.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare function get(key: string, _default?: any): any;
|
|
|
3
3
|
export declare function getJSON(key: string, _default?: any): any;
|
|
4
4
|
export declare function update(key: string, update: (current: any) => any, broadcast?: boolean): void;
|
|
5
5
|
export declare function set(key: string, value: any, broadcast?: boolean): void;
|
|
6
|
+
export declare function setObj(update: object, prefix?: string, broadcast?: boolean): void;
|
|
6
7
|
export declare function listen(key: string, cb: (update: {
|
|
7
8
|
key: string;
|
|
8
9
|
value: any;
|
package/dist/ls.js
CHANGED
|
@@ -258,12 +258,16 @@ function get(key, _default) {
|
|
|
258
258
|
function getJSON(key, _default) {
|
|
259
259
|
const val = get(key, _default);
|
|
260
260
|
if (null === val) return null;
|
|
261
|
-
|
|
261
|
+
try {
|
|
262
|
+
return JSON.parse(val);
|
|
263
|
+
} catch (e) {
|
|
264
|
+
console.error(e);
|
|
265
|
+
return val;
|
|
266
|
+
}
|
|
262
267
|
}
|
|
263
268
|
function local_storage_update(key, update1, broadcast = false) {
|
|
264
269
|
const prev = get(key);
|
|
265
270
|
const value = update1(prev);
|
|
266
|
-
localStorage.setItem(key, value);
|
|
267
271
|
if (prev !== value || broadcast) {
|
|
268
272
|
const event = new CustomEvent('@corvid/ls-update', {
|
|
269
273
|
detail: {
|
|
@@ -273,21 +277,36 @@ function local_storage_update(key, update1, broadcast = false) {
|
|
|
273
277
|
});
|
|
274
278
|
document.dispatchEvent(event);
|
|
275
279
|
}
|
|
280
|
+
localStorage.setItem(key, value);
|
|
276
281
|
}
|
|
277
282
|
function set(key, value, broadcast = false) {
|
|
278
|
-
const v = value;
|
|
279
|
-
if ('object' == typeof value) value = JSON.stringify(value);
|
|
280
283
|
const prev = get(key);
|
|
281
|
-
localStorage.setItem(key, value);
|
|
282
284
|
if (prev !== value || broadcast) {
|
|
283
285
|
const event = new CustomEvent('@corvid/ls-update', {
|
|
284
286
|
detail: {
|
|
285
287
|
key,
|
|
286
|
-
value
|
|
288
|
+
value
|
|
287
289
|
}
|
|
288
290
|
});
|
|
289
291
|
document.dispatchEvent(event);
|
|
290
292
|
}
|
|
293
|
+
if ('object' == typeof value) value = JSON.stringify(value);
|
|
294
|
+
localStorage.setItem(key, value);
|
|
295
|
+
}
|
|
296
|
+
function setObj(update, prefix, broadcast = false) {
|
|
297
|
+
const flatten = (ob)=>{
|
|
298
|
+
const ret = {};
|
|
299
|
+
for(let i in ob)if (ob.hasOwnProperty(i)) if ('object' == typeof ob[i] && null !== ob[i]) {
|
|
300
|
+
const flat = flatten(ob[i]);
|
|
301
|
+
for(let x in flat)if (flat.hasOwnProperty(x)) ret[`${i}.${x}`] = flat[x];
|
|
302
|
+
} else ret[i] = ob[i];
|
|
303
|
+
return ret;
|
|
304
|
+
};
|
|
305
|
+
for (let [k, v] of Object.entries(flatten(update))){
|
|
306
|
+
let key = k;
|
|
307
|
+
if (prefix) key = `${prefix}.${k}`;
|
|
308
|
+
set(key, v, broadcast);
|
|
309
|
+
}
|
|
291
310
|
}
|
|
292
311
|
const listeners = new Map();
|
|
293
312
|
function listen(key, cb) {
|
|
@@ -328,4 +347,4 @@ const local_storage = {
|
|
|
328
347
|
unlisten,
|
|
329
348
|
clear
|
|
330
349
|
};
|
|
331
|
-
export { clear, local_storage as default, get, getJSON, listen, set, unlisten, local_storage_update as update };
|
|
350
|
+
export { clear, local_storage as default, get, getJSON, listen, set, setObj, unlisten, local_storage_update as update };
|