@taybart/corvid 0.1.24 → 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 +25 -4
- package/dist/local_storage.d.ts +1 -0
- package/dist/ls.js +25 -5
- 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,11 +723,10 @@ 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
|
-
if ('object' == typeof value) value = JSON.stringify(value);
|
|
724
729
|
const prev = get(key);
|
|
725
|
-
localStorage.setItem(key, value);
|
|
726
730
|
if (prev !== value || broadcast) {
|
|
727
731
|
const event = new CustomEvent('@corvid/ls-update', {
|
|
728
732
|
detail: {
|
|
@@ -732,6 +736,23 @@ function set(key, value, broadcast = false) {
|
|
|
732
736
|
});
|
|
733
737
|
document.dispatchEvent(event);
|
|
734
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
|
+
}
|
|
735
756
|
}
|
|
736
757
|
const listeners = new Map();
|
|
737
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,11 +277,10 @@ 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
|
-
if ('object' == typeof value) value = JSON.stringify(value);
|
|
279
283
|
const prev = get(key);
|
|
280
|
-
localStorage.setItem(key, value);
|
|
281
284
|
if (prev !== value || broadcast) {
|
|
282
285
|
const event = new CustomEvent('@corvid/ls-update', {
|
|
283
286
|
detail: {
|
|
@@ -287,6 +290,23 @@ function set(key, value, broadcast = false) {
|
|
|
287
290
|
});
|
|
288
291
|
document.dispatchEvent(event);
|
|
289
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
|
+
}
|
|
290
310
|
}
|
|
291
311
|
const listeners = new Map();
|
|
292
312
|
function listen(key, cb) {
|
|
@@ -327,4 +347,4 @@ const local_storage = {
|
|
|
327
347
|
unlisten,
|
|
328
348
|
clear
|
|
329
349
|
};
|
|
330
|
-
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 };
|