@koine/browser 2.0.0-beta.80 → 2.0.0-beta.82
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/createStorage.cjs.js +1 -89
- package/createStorage.d.ts +2 -2
- package/createStorage.esm.js +1 -89
- package/getZonedDate.cjs.js +1 -20
- package/getZonedDate.esm.js +1 -20
- package/gtag.cjs.js +1 -6
- package/gtag.esm.js +1 -6
- package/gtagPageview.cjs.js +1 -5
- package/gtagPageview.esm.js +1 -5
- package/isIE.cjs.js +1 -10
- package/isIE.esm.js +1 -10
- package/isMobile.cjs.js +1 -4
- package/isMobile.esm.js +1 -4
- package/listenUrlSearch.cjs.js +1 -36
- package/listenUrlSearch.esm.js +1 -36
- package/listenUrlSearchParams.cjs.js +1 -8
- package/listenUrlSearchParams.esm.js +1 -8
- package/navigateToHash.cjs.js +1 -4
- package/navigateToHash.esm.js +1 -4
- package/navigateToHashParams.cjs.js +1 -11
- package/navigateToHashParams.esm.js +1 -11
- package/navigateToMergedHashParams.cjs.js +1 -1
- package/navigateToMergedHashParams.esm.js +1 -1
- package/navigateToMergedParams.cjs.js +1 -1
- package/navigateToMergedParams.esm.js +1 -1
- package/navigateToParams.cjs.js +1 -7
- package/navigateToParams.esm.js +1 -7
- package/navigateToUrl.cjs.js +1 -5
- package/navigateToUrl.esm.js +1 -5
- package/navigateWithoutUrlParam.cjs.js +1 -10
- package/navigateWithoutUrlParam.esm.js +1 -10
- package/package.json +3 -3
- package/redirectTo.cjs.js +1 -6
- package/redirectTo.esm.js +1 -6
- package/storage.cjs.js +1 -4
- package/storage.esm.js +1 -4
- package/storageClient.cjs.js +1 -89
- package/storageClient.d.ts +1 -1
- package/storageClient.esm.js +1 -89
package/createStorage.cjs.js
CHANGED
|
@@ -7,95 +7,7 @@ var dom = require('@koine/dom');
|
|
|
7
7
|
var storage = require('./storage.cjs.js');
|
|
8
8
|
require('./storageClient.cjs.js');
|
|
9
9
|
|
|
10
|
-
let createStorage = (
|
|
11
|
-
const client = useSessionStorage ? storage.storage.s : storage.storage.l;
|
|
12
|
-
const keys = Object.keys(config).reduce((map, key) => ({ ...map, [key]: utils.encode(key) }), {});
|
|
13
|
-
return {
|
|
14
|
-
get(key, defaultValue) {
|
|
15
|
-
return client.get(keys[key], utils.decode, defaultValue);
|
|
16
|
-
},
|
|
17
|
-
getAll(defaultValues) {
|
|
18
|
-
if (!utils.isBrowser) {
|
|
19
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
20
|
-
console.log(`[@koine/utils:createStorage] attempt to use 'getAll' outside of browser.`);
|
|
21
|
-
}
|
|
22
|
-
return {};
|
|
23
|
-
}
|
|
24
|
-
const all = {};
|
|
25
|
-
for (const key in keys) {
|
|
26
|
-
const value = this.get(key);
|
|
27
|
-
const defaultValue = defaultValues?.[key];
|
|
28
|
-
if (!utils.isNullOrUndefined(value)) {
|
|
29
|
-
all[key] = value;
|
|
30
|
-
}
|
|
31
|
-
else if (defaultValue) {
|
|
32
|
-
all[key] = defaultValue;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return all;
|
|
36
|
-
},
|
|
37
|
-
set(key, value) {
|
|
38
|
-
client.set(keys[key], value, utils.encode);
|
|
39
|
-
},
|
|
40
|
-
setMany(newValues) {
|
|
41
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
42
|
-
if (!utils.isBrowser) {
|
|
43
|
-
console.log(`[@koine/utils:createStorage] attempt to use 'setMany' outside of browser.`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
if (utils.isBrowser) {
|
|
47
|
-
for (const key in newValues) {
|
|
48
|
-
const value = newValues[key];
|
|
49
|
-
if (!utils.isNullOrUndefined(value)) {
|
|
50
|
-
this.set(key, value);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.remove(key);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
has(key) {
|
|
59
|
-
return client.has(keys[key]);
|
|
60
|
-
},
|
|
61
|
-
remove(key) {
|
|
62
|
-
client.remove(keys[key]);
|
|
63
|
-
},
|
|
64
|
-
clear() {
|
|
65
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
66
|
-
if (!utils.isBrowser) {
|
|
67
|
-
console.log(`[@koine/utils:createStorage] attempt to use 'clear' outside of browser.`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (utils.isBrowser) {
|
|
71
|
-
for (const key in keys) {
|
|
72
|
-
client.remove(keys[key]);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
watch: (keyToWatch, onRemoved, onAdded) => {
|
|
77
|
-
if (!utils.isBrowser) {
|
|
78
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
79
|
-
console.log(`[@koine/utils:createStorage] attempt to use 'watch' outside of browser.`);
|
|
80
|
-
}
|
|
81
|
-
return utils.noop;
|
|
82
|
-
}
|
|
83
|
-
const handler = (event) => {
|
|
84
|
-
const { key, oldValue, newValue } = event;
|
|
85
|
-
if (key === keys[keyToWatch]) {
|
|
86
|
-
if (oldValue && !newValue) {
|
|
87
|
-
onRemoved?.();
|
|
88
|
-
}
|
|
89
|
-
else if (!oldValue && newValue) {
|
|
90
|
-
onAdded?.();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
const listener = dom.on(window, "storage", handler);
|
|
95
|
-
return listener;
|
|
96
|
-
},
|
|
97
|
-
};
|
|
98
|
-
};
|
|
10
|
+
let createStorage=(a,n)=>{let c=n?storage.storage.s:storage.storage.l,m=Object.keys(a).reduce((e,o)=>({...e,[o]:utils.encode(o)}),{});return {get:(t,o)=>c.get(m[t],utils.decode,o),getAll(e){if(!utils.isBrowser)return "development"===process.env.NODE_ENV&&console.log("[@koine/utils:createStorage] attempt to use 'getAll' outside of browser."),{};let t={};for(let o in m){let s=this.get(o),l=e?.[o];utils.isNullOrUndefined(s)?l&&(t[o]=l):t[o]=s;}return t},set(e,o){c.set(m[e],o,utils.encode);},setMany(e){if("development"!==process.env.NODE_ENV||utils.isBrowser||console.log("[@koine/utils:createStorage] attempt to use 'setMany' outside of browser."),utils.isBrowser)for(let t in e){let o=e[t];utils.isNullOrUndefined(o)?this.remove(t):this.set(t,o);}},has:e=>c.has(m[e]),remove(e){c.remove(m[e]);},clear(){if("development"!==process.env.NODE_ENV||utils.isBrowser||console.log("[@koine/utils:createStorage] attempt to use 'clear' outside of browser."),utils.isBrowser)for(let e in m)c.remove(m[e]);},watch:(e,t,r)=>utils.isBrowser?dom.on(window,"storage",o=>{let{key:s,oldValue:l,newValue:i}=o;s===m[e]&&(l&&!i?t?.():!l&&i&&r?.());}):("development"===process.env.NODE_ENV&&console.log("[@koine/utils:createStorage] attempt to use 'watch' outside of browser."),utils.noop)}};
|
|
99
11
|
|
|
100
12
|
exports.createStorage = createStorage;
|
|
101
13
|
exports["default"] = createStorage;
|
package/createStorage.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type CreateStorageConfig = Record<string, any>;
|
|
2
2
|
export declare let createStorage: <T extends CreateStorageConfig>(config: Partial<T>, useSessionStorage?: boolean) => {
|
|
3
|
-
get<TKey extends Extract<keyof T, string>>(key: TKey, defaultValue?: T[TKey]
|
|
4
|
-
getAll(defaultValues?: Partial<T>
|
|
3
|
+
get<TKey extends Extract<keyof T, string>>(key: TKey, defaultValue?: null | T[TKey]): T[TKey] | null;
|
|
4
|
+
getAll(defaultValues?: Partial<T>): T;
|
|
5
5
|
set<TKey_1 extends Extract<keyof T, string>>(key: TKey_1, value?: T[TKey_1] | undefined): void;
|
|
6
6
|
setMany(newValues: Partial<T>): void;
|
|
7
7
|
has<TKey_2 extends Extract<keyof T, string>>(key: TKey_2): any;
|
package/createStorage.esm.js
CHANGED
|
@@ -3,94 +3,6 @@ import { on } from '@koine/dom';
|
|
|
3
3
|
import { storage } from './storage.esm.js';
|
|
4
4
|
import './storageClient.esm.js';
|
|
5
5
|
|
|
6
|
-
let createStorage = (
|
|
7
|
-
const client = useSessionStorage ? storage.s : storage.l;
|
|
8
|
-
const keys = Object.keys(config).reduce((map, key) => ({ ...map, [key]: encode(key) }), {});
|
|
9
|
-
return {
|
|
10
|
-
get(key, defaultValue) {
|
|
11
|
-
return client.get(keys[key], decode, defaultValue);
|
|
12
|
-
},
|
|
13
|
-
getAll(defaultValues) {
|
|
14
|
-
if (!isBrowser) {
|
|
15
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
16
|
-
console.log(`[@koine/utils:createStorage] attempt to use 'getAll' outside of browser.`);
|
|
17
|
-
}
|
|
18
|
-
return {};
|
|
19
|
-
}
|
|
20
|
-
const all = {};
|
|
21
|
-
for (const key in keys) {
|
|
22
|
-
const value = this.get(key);
|
|
23
|
-
const defaultValue = defaultValues?.[key];
|
|
24
|
-
if (!isNullOrUndefined(value)) {
|
|
25
|
-
all[key] = value;
|
|
26
|
-
}
|
|
27
|
-
else if (defaultValue) {
|
|
28
|
-
all[key] = defaultValue;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return all;
|
|
32
|
-
},
|
|
33
|
-
set(key, value) {
|
|
34
|
-
client.set(keys[key], value, encode);
|
|
35
|
-
},
|
|
36
|
-
setMany(newValues) {
|
|
37
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
38
|
-
if (!isBrowser) {
|
|
39
|
-
console.log(`[@koine/utils:createStorage] attempt to use 'setMany' outside of browser.`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (isBrowser) {
|
|
43
|
-
for (const key in newValues) {
|
|
44
|
-
const value = newValues[key];
|
|
45
|
-
if (!isNullOrUndefined(value)) {
|
|
46
|
-
this.set(key, value);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
this.remove(key);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
has(key) {
|
|
55
|
-
return client.has(keys[key]);
|
|
56
|
-
},
|
|
57
|
-
remove(key) {
|
|
58
|
-
client.remove(keys[key]);
|
|
59
|
-
},
|
|
60
|
-
clear() {
|
|
61
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
62
|
-
if (!isBrowser) {
|
|
63
|
-
console.log(`[@koine/utils:createStorage] attempt to use 'clear' outside of browser.`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
if (isBrowser) {
|
|
67
|
-
for (const key in keys) {
|
|
68
|
-
client.remove(keys[key]);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
watch: (keyToWatch, onRemoved, onAdded) => {
|
|
73
|
-
if (!isBrowser) {
|
|
74
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
75
|
-
console.log(`[@koine/utils:createStorage] attempt to use 'watch' outside of browser.`);
|
|
76
|
-
}
|
|
77
|
-
return noop;
|
|
78
|
-
}
|
|
79
|
-
const handler = (event) => {
|
|
80
|
-
const { key, oldValue, newValue } = event;
|
|
81
|
-
if (key === keys[keyToWatch]) {
|
|
82
|
-
if (oldValue && !newValue) {
|
|
83
|
-
onRemoved?.();
|
|
84
|
-
}
|
|
85
|
-
else if (!oldValue && newValue) {
|
|
86
|
-
onAdded?.();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
const listener = on(window, "storage", handler);
|
|
91
|
-
return listener;
|
|
92
|
-
},
|
|
93
|
-
};
|
|
94
|
-
};
|
|
6
|
+
let createStorage=(a,n)=>{let c=n?storage.s:storage.l,m=Object.keys(a).reduce((e,o)=>({...e,[o]:encode(o)}),{});return {get:(t,o)=>c.get(m[t],decode,o),getAll(e){if(!isBrowser)return "development"===process.env.NODE_ENV&&console.log("[@koine/utils:createStorage] attempt to use 'getAll' outside of browser."),{};let t={};for(let o in m){let s=this.get(o),l=e?.[o];isNullOrUndefined(s)?l&&(t[o]=l):t[o]=s;}return t},set(e,o){c.set(m[e],o,encode);},setMany(e){if("development"!==process.env.NODE_ENV||isBrowser||console.log("[@koine/utils:createStorage] attempt to use 'setMany' outside of browser."),isBrowser)for(let t in e){let o=e[t];isNullOrUndefined(o)?this.remove(t):this.set(t,o);}},has:e=>c.has(m[e]),remove(e){c.remove(m[e]);},clear(){if("development"!==process.env.NODE_ENV||isBrowser||console.log("[@koine/utils:createStorage] attempt to use 'clear' outside of browser."),isBrowser)for(let e in m)c.remove(m[e]);},watch:(e,t,r)=>isBrowser?on(window,"storage",o=>{let{key:s,oldValue:l,newValue:i}=o;s===m[e]&&(l&&!i?t?.():!l&&i&&r?.());}):("development"===process.env.NODE_ENV&&console.log("[@koine/utils:createStorage] attempt to use 'watch' outside of browser."),noop)}};
|
|
95
7
|
|
|
96
8
|
export { createStorage, createStorage as default };
|
package/getZonedDate.cjs.js
CHANGED
|
@@ -4,26 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
return date;
|
|
9
|
-
};
|
|
10
|
-
let getZonedDate = (dateString = "", timeZone) => {
|
|
11
|
-
if (!dateString.endsWith("Z"))
|
|
12
|
-
dateString += "Z";
|
|
13
|
-
if (!timeZone && utils.isBrowser) {
|
|
14
|
-
try {
|
|
15
|
-
timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
16
|
-
}
|
|
17
|
-
catch (e) {
|
|
18
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
19
|
-
console.warn("[@koine/browser:getZonedDate] failed reading timeZone, error", e);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return timeZone
|
|
24
|
-
? utcToZonedTime(new Date(dateString))
|
|
25
|
-
: new Date(dateString);
|
|
26
|
-
};
|
|
7
|
+
let t=(e,t)=>e;let getZonedDate=(o="",n)=>{if(o.endsWith("Z")||(o+="Z"),!n&&utils.isBrowser)try{n=Intl.DateTimeFormat().resolvedOptions().timeZone;}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/browser:getZonedDate] failed reading timeZone, error",e);}return n?t(new Date(o)):new Date(o)};
|
|
27
8
|
|
|
28
9
|
exports["default"] = getZonedDate;
|
|
29
10
|
exports.getZonedDate = getZonedDate;
|
package/getZonedDate.esm.js
CHANGED
|
@@ -1,24 +1,5 @@
|
|
|
1
1
|
import { isBrowser } from '@koine/utils';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
return date;
|
|
5
|
-
};
|
|
6
|
-
let getZonedDate = (dateString = "", timeZone) => {
|
|
7
|
-
if (!dateString.endsWith("Z"))
|
|
8
|
-
dateString += "Z";
|
|
9
|
-
if (!timeZone && isBrowser) {
|
|
10
|
-
try {
|
|
11
|
-
timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
12
|
-
}
|
|
13
|
-
catch (e) {
|
|
14
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
15
|
-
console.warn("[@koine/browser:getZonedDate] failed reading timeZone, error", e);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return timeZone
|
|
20
|
-
? utcToZonedTime(new Date(dateString))
|
|
21
|
-
: new Date(dateString);
|
|
22
|
-
};
|
|
3
|
+
let t=(e,t)=>e;let getZonedDate=(o="",n)=>{if(o.endsWith("Z")||(o+="Z"),!n&&isBrowser)try{n=Intl.DateTimeFormat().resolvedOptions().timeZone;}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/browser:getZonedDate] failed reading timeZone, error",e);}return n?t(new Date(o)):new Date(o)};
|
|
23
4
|
|
|
24
5
|
export { getZonedDate as default, getZonedDate };
|
package/gtag.cjs.js
CHANGED
|
@@ -4,12 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
|
|
7
|
-
let gtag
|
|
8
|
-
!utils.isUndefined(window) && !utils.isUndefined(window.gtag)
|
|
9
|
-
?
|
|
10
|
-
window.gtag(...args)
|
|
11
|
-
: utils.noop();
|
|
12
|
-
};
|
|
7
|
+
let gtag=(...o)=>{utils.isUndefined(window)||utils.isUndefined(window.gtag)?utils.noop():window.gtag(...o);};
|
|
13
8
|
|
|
14
9
|
exports["default"] = gtag;
|
|
15
10
|
exports.gtag = gtag;
|
package/gtag.esm.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { isUndefined, noop } from '@koine/utils';
|
|
2
2
|
|
|
3
|
-
let gtag
|
|
4
|
-
!isUndefined(window) && !isUndefined(window.gtag)
|
|
5
|
-
?
|
|
6
|
-
window.gtag(...args)
|
|
7
|
-
: noop();
|
|
8
|
-
};
|
|
3
|
+
let gtag=(...o)=>{isUndefined(window)||isUndefined(window.gtag)?noop():window.gtag(...o);};
|
|
9
4
|
|
|
10
5
|
export { gtag as default, gtag };
|
package/gtagPageview.cjs.js
CHANGED
|
@@ -5,11 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var gtag = require('./gtag.cjs.js');
|
|
6
6
|
require('@koine/utils');
|
|
7
7
|
|
|
8
|
-
let gtagPageview
|
|
9
|
-
page_path: args[0] || location.pathname,
|
|
10
|
-
page_title: args[1] || document.title,
|
|
11
|
-
page_location: args[2] || location.href,
|
|
12
|
-
});
|
|
8
|
+
let gtagPageview=(...t)=>gtag.gtag("event","page_view",{page_path:t[0]||location.pathname,page_title:t[1]||document.title,page_location:t[2]||location.href});
|
|
13
9
|
|
|
14
10
|
exports["default"] = gtagPageview;
|
|
15
11
|
exports.gtagPageview = gtagPageview;
|
package/gtagPageview.esm.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { gtag } from './gtag.esm.js';
|
|
2
2
|
import '@koine/utils';
|
|
3
3
|
|
|
4
|
-
let gtagPageview
|
|
5
|
-
page_path: args[0] || location.pathname,
|
|
6
|
-
page_title: args[1] || document.title,
|
|
7
|
-
page_location: args[2] || location.href,
|
|
8
|
-
});
|
|
4
|
+
let gtagPageview=(...t)=>gtag("event","page_view",{page_path:t[0]||location.pathname,page_title:t[1]||document.title,page_location:t[2]||location.href});
|
|
9
5
|
|
|
10
6
|
export { gtagPageview as default, gtagPageview };
|
package/isIE.cjs.js
CHANGED
|
@@ -4,16 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
|
|
7
|
-
let isIE = (
|
|
8
|
-
if (utils.isServer) {
|
|
9
|
-
return ssrValue;
|
|
10
|
-
}
|
|
11
|
-
const ua = window.navigator.userAgent;
|
|
12
|
-
if (ua.indexOf("MSIE ") > 0 || ua.indexOf("Trident/") > 0) {
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
return false;
|
|
16
|
-
};
|
|
7
|
+
let isIE=(t=!0)=>{if(utils.isServer)return t;let i=window.navigator.userAgent;return !!(i.indexOf("MSIE ")>0||i.indexOf("Trident/")>0)};
|
|
17
8
|
|
|
18
9
|
exports["default"] = isIE;
|
|
19
10
|
exports.isIE = isIE;
|
package/isIE.esm.js
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
import { isServer } from '@koine/utils';
|
|
2
2
|
|
|
3
|
-
let isIE = (
|
|
4
|
-
if (isServer) {
|
|
5
|
-
return ssrValue;
|
|
6
|
-
}
|
|
7
|
-
const ua = window.navigator.userAgent;
|
|
8
|
-
if (ua.indexOf("MSIE ") > 0 || ua.indexOf("Trident/") > 0) {
|
|
9
|
-
return true;
|
|
10
|
-
}
|
|
11
|
-
return false;
|
|
12
|
-
};
|
|
3
|
+
let isIE=(t=!0)=>{if(isServer)return t;let i=window.navigator.userAgent;return !!(i.indexOf("MSIE ")>0||i.indexOf("Trident/")>0)};
|
|
13
4
|
|
|
14
5
|
export { isIE as default, isIE };
|
package/isMobile.cjs.js
CHANGED
|
@@ -4,10 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
|
|
7
|
-
let isMobile
|
|
8
|
-
? ssrValue
|
|
9
|
-
:
|
|
10
|
-
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent);
|
|
7
|
+
let isMobile=(e=!0)=>utils.isServer?e:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent);
|
|
11
8
|
|
|
12
9
|
exports["default"] = isMobile;
|
|
13
10
|
exports.isMobile = isMobile;
|
package/isMobile.esm.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { isServer } from '@koine/utils';
|
|
2
2
|
|
|
3
|
-
let isMobile
|
|
4
|
-
? ssrValue
|
|
5
|
-
:
|
|
6
|
-
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent);
|
|
3
|
+
let isMobile=(e=!0)=>isServer?e:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent);
|
|
7
4
|
|
|
8
5
|
export { isMobile as default, isMobile };
|
package/listenUrlSearch.cjs.js
CHANGED
|
@@ -5,42 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
var dom = require('@koine/dom');
|
|
7
7
|
|
|
8
|
-
let
|
|
9
|
-
return function interceptor(...args) {
|
|
10
|
-
if (before) {
|
|
11
|
-
runHandlers();
|
|
12
|
-
return fn.apply(this, args);
|
|
13
|
-
}
|
|
14
|
-
const result = fn.apply(this, args);
|
|
15
|
-
runHandlers();
|
|
16
|
-
return result;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
let prevSearch = utils.isBrowser ? location.search : "";
|
|
20
|
-
let runHandlers = () => {
|
|
21
|
-
const newSearch = location.search;
|
|
22
|
-
if (newSearch !== prevSearch) {
|
|
23
|
-
const listeners = history.__.h.values();
|
|
24
|
-
for (const listener of listeners) {
|
|
25
|
-
listener(prevSearch, newSearch);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
prevSearch = newSearch;
|
|
29
|
-
};
|
|
30
|
-
let listenUrlSearch = (handler) => {
|
|
31
|
-
if (!history.__) {
|
|
32
|
-
history.pushState = extendHistoryMethod(history.pushState, runHandlers);
|
|
33
|
-
history.replaceState = extendHistoryMethod(history.replaceState, runHandlers);
|
|
34
|
-
dom.on(window, "popstate", runHandlers);
|
|
35
|
-
history.__ = { h: new Set() };
|
|
36
|
-
}
|
|
37
|
-
if (!history.__.h.has(handler)) {
|
|
38
|
-
history.__.h.add(handler);
|
|
39
|
-
}
|
|
40
|
-
return () => {
|
|
41
|
-
history.__.h.delete(handler);
|
|
42
|
-
};
|
|
43
|
-
};
|
|
8
|
+
let r=(t,e,r)=>function(...o){if(r)return e(),t.apply(this,o);let i=t.apply(this,o);return e(),i},o=utils.isBrowser?location.search:"",i=()=>{let t=location.search;if(t!==o)for(let e of history.__.h.values())e(o,t);o=t;};let listenUrlSearch=t=>(history.__||(history.pushState=r(history.pushState,i),history.replaceState=r(history.replaceState,i),dom.on(window,"popstate",i),history.__={h:new Set}),history.__.h.has(t)||history.__.h.add(t),()=>{history.__.h.delete(t);});
|
|
44
9
|
|
|
45
10
|
exports["default"] = listenUrlSearch;
|
|
46
11
|
exports.listenUrlSearch = listenUrlSearch;
|
package/listenUrlSearch.esm.js
CHANGED
|
@@ -1,41 +1,6 @@
|
|
|
1
1
|
import { isBrowser } from '@koine/utils';
|
|
2
2
|
import { on } from '@koine/dom';
|
|
3
3
|
|
|
4
|
-
let
|
|
5
|
-
return function interceptor(...args) {
|
|
6
|
-
if (before) {
|
|
7
|
-
runHandlers();
|
|
8
|
-
return fn.apply(this, args);
|
|
9
|
-
}
|
|
10
|
-
const result = fn.apply(this, args);
|
|
11
|
-
runHandlers();
|
|
12
|
-
return result;
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
let prevSearch = isBrowser ? location.search : "";
|
|
16
|
-
let runHandlers = () => {
|
|
17
|
-
const newSearch = location.search;
|
|
18
|
-
if (newSearch !== prevSearch) {
|
|
19
|
-
const listeners = history.__.h.values();
|
|
20
|
-
for (const listener of listeners) {
|
|
21
|
-
listener(prevSearch, newSearch);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
prevSearch = newSearch;
|
|
25
|
-
};
|
|
26
|
-
let listenUrlSearch = (handler) => {
|
|
27
|
-
if (!history.__) {
|
|
28
|
-
history.pushState = extendHistoryMethod(history.pushState, runHandlers);
|
|
29
|
-
history.replaceState = extendHistoryMethod(history.replaceState, runHandlers);
|
|
30
|
-
on(window, "popstate", runHandlers);
|
|
31
|
-
history.__ = { h: new Set() };
|
|
32
|
-
}
|
|
33
|
-
if (!history.__.h.has(handler)) {
|
|
34
|
-
history.__.h.add(handler);
|
|
35
|
-
}
|
|
36
|
-
return () => {
|
|
37
|
-
history.__.h.delete(handler);
|
|
38
|
-
};
|
|
39
|
-
};
|
|
4
|
+
let r=(t,e,r)=>function(...o){if(r)return e(),t.apply(this,o);let i=t.apply(this,o);return e(),i},o=isBrowser?location.search:"",i=()=>{let t=location.search;if(t!==o)for(let e of history.__.h.values())e(o,t);o=t;};let listenUrlSearch=t=>(history.__||(history.pushState=r(history.pushState,i),history.replaceState=r(history.replaceState,i),on(window,"popstate",i),history.__={h:new Set}),history.__.h.has(t)||history.__.h.add(t),()=>{history.__.h.delete(t);});
|
|
40
5
|
|
|
41
6
|
export { listenUrlSearch as default, listenUrlSearch };
|
|
@@ -6,14 +6,7 @@ var listenUrlSearch = require('./listenUrlSearch.cjs.js');
|
|
|
6
6
|
require('@koine/utils');
|
|
7
7
|
require('@koine/dom');
|
|
8
8
|
|
|
9
|
-
let listenUrlSearchParams
|
|
10
|
-
const prevParams = new URLSearchParams(prevSearch);
|
|
11
|
-
const newParams = new URLSearchParams(newSearch);
|
|
12
|
-
const newValue = newParams.get(paramName);
|
|
13
|
-
if (prevParams.get(paramName) !== newValue) {
|
|
14
|
-
handler(newValue);
|
|
15
|
-
}
|
|
16
|
-
});
|
|
9
|
+
let listenUrlSearchParams=(r,a)=>listenUrlSearch.listenUrlSearch((e,t)=>{let l=new URLSearchParams(e),s=new URLSearchParams(t).get(r);l.get(r)!==s&&a(s);});
|
|
17
10
|
|
|
18
11
|
exports["default"] = listenUrlSearchParams;
|
|
19
12
|
exports.listenUrlSearchParams = listenUrlSearchParams;
|
|
@@ -2,13 +2,6 @@ import { listenUrlSearch } from './listenUrlSearch.esm.js';
|
|
|
2
2
|
import '@koine/utils';
|
|
3
3
|
import '@koine/dom';
|
|
4
4
|
|
|
5
|
-
let listenUrlSearchParams
|
|
6
|
-
const prevParams = new URLSearchParams(prevSearch);
|
|
7
|
-
const newParams = new URLSearchParams(newSearch);
|
|
8
|
-
const newValue = newParams.get(paramName);
|
|
9
|
-
if (prevParams.get(paramName) !== newValue) {
|
|
10
|
-
handler(newValue);
|
|
11
|
-
}
|
|
12
|
-
});
|
|
5
|
+
let listenUrlSearchParams=(r,a)=>listenUrlSearch((e,t)=>{let l=new URLSearchParams(e),s=new URLSearchParams(t).get(r);l.get(r)!==s&&a(s);});
|
|
13
6
|
|
|
14
7
|
export { listenUrlSearchParams as default, listenUrlSearchParams };
|
package/navigateToHash.cjs.js
CHANGED
|
@@ -4,10 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var navigateToUrl = require('./navigateToUrl.cjs.js');
|
|
6
6
|
|
|
7
|
-
let navigateToHash
|
|
8
|
-
const { pathname, search } = location;
|
|
9
|
-
navigateToUrl.navigateToUrl(pathname + (search ? "?" + search : "") + (hash ? "#" + hash : ""), true);
|
|
10
|
-
};
|
|
7
|
+
let navigateToHash=(t="")=>{let{pathname:o,search:e}=location;navigateToUrl.navigateToUrl(o+(e?"?"+e:"")+(t?"#"+t:""),!0);};
|
|
11
8
|
|
|
12
9
|
exports["default"] = navigateToHash;
|
|
13
10
|
exports.navigateToHash = navigateToHash;
|
package/navigateToHash.esm.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { navigateToUrl } from './navigateToUrl.esm.js';
|
|
2
2
|
|
|
3
|
-
let navigateToHash
|
|
4
|
-
const { pathname, search } = location;
|
|
5
|
-
navigateToUrl(pathname + (search ? "?" + search : "") + (hash ? "#" + hash : ""), true);
|
|
6
|
-
};
|
|
3
|
+
let navigateToHash=(t="")=>{let{pathname:o,search:e}=location;navigateToUrl(o+(e?"?"+e:"")+(t?"#"+t:""),!0);};
|
|
7
4
|
|
|
8
5
|
export { navigateToHash as default, navigateToHash };
|
|
@@ -4,17 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
|
|
7
|
-
let navigateToHashParams
|
|
8
|
-
const useLocation = !hash;
|
|
9
|
-
hash = hash || location.hash;
|
|
10
|
-
const hashQueryLess = utils.getUrlHashPathname(hash);
|
|
11
|
-
const queryString = typeof params === "string" ? params : utils.buildUrlQueryString(params);
|
|
12
|
-
const newHash = "#/" + hashQueryLess + queryString;
|
|
13
|
-
if (useLocation) {
|
|
14
|
-
location.hash = newHash;
|
|
15
|
-
}
|
|
16
|
-
return newHash;
|
|
17
|
-
};
|
|
7
|
+
let navigateToHashParams=(o={},e="")=>{let r=!e,i="#/"+utils.getUrlHashPathname(e=e||location.hash)+("string"==typeof o?o:utils.buildUrlQueryString(o));return r&&(location.hash=i),i};
|
|
18
8
|
|
|
19
9
|
exports["default"] = navigateToHashParams;
|
|
20
10
|
exports.navigateToHashParams = navigateToHashParams;
|
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
import { getUrlHashPathname, buildUrlQueryString } from '@koine/utils';
|
|
2
2
|
|
|
3
|
-
let navigateToHashParams
|
|
4
|
-
const useLocation = !hash;
|
|
5
|
-
hash = hash || location.hash;
|
|
6
|
-
const hashQueryLess = getUrlHashPathname(hash);
|
|
7
|
-
const queryString = typeof params === "string" ? params : buildUrlQueryString(params);
|
|
8
|
-
const newHash = "#/" + hashQueryLess + queryString;
|
|
9
|
-
if (useLocation) {
|
|
10
|
-
location.hash = newHash;
|
|
11
|
-
}
|
|
12
|
-
return newHash;
|
|
13
|
-
};
|
|
3
|
+
let navigateToHashParams=(o={},e="")=>{let r=!e,i="#/"+getUrlHashPathname(e=e||location.hash)+("string"==typeof o?o:buildUrlQueryString(o));return r&&(location.hash=i),i};
|
|
14
4
|
|
|
15
5
|
export { navigateToHashParams as default, navigateToHashParams };
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
var navigateToHashParams = require('./navigateToHashParams.cjs.js');
|
|
7
7
|
|
|
8
|
-
let navigateToMergedHashParams
|
|
8
|
+
let navigateToMergedHashParams=(o={},t="")=>navigateToHashParams.navigateToHashParams(utils.mergeUrlQueryParams(utils.getUrlHashParams(t),o),t);
|
|
9
9
|
|
|
10
10
|
exports["default"] = navigateToMergedHashParams;
|
|
11
11
|
exports.navigateToMergedHashParams = navigateToMergedHashParams;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mergeUrlQueryParams, getUrlHashParams } from '@koine/utils';
|
|
2
2
|
import { navigateToHashParams } from './navigateToHashParams.esm.js';
|
|
3
3
|
|
|
4
|
-
let navigateToMergedHashParams
|
|
4
|
+
let navigateToMergedHashParams=(o={},t="")=>navigateToHashParams(mergeUrlQueryParams(getUrlHashParams(t),o),t);
|
|
5
5
|
|
|
6
6
|
export { navigateToMergedHashParams as default, navigateToMergedHashParams };
|
|
@@ -6,7 +6,7 @@ var utils = require('@koine/utils');
|
|
|
6
6
|
var navigateToParams = require('./navigateToParams.cjs.js');
|
|
7
7
|
require('./navigateToUrl.cjs.js');
|
|
8
8
|
|
|
9
|
-
let navigateToMergedParams
|
|
9
|
+
let navigateToMergedParams=(o={},t)=>navigateToParams.navigateToParams(utils.mergeUrlQueryParams(utils.getUrlQueryParams(),o),t);
|
|
10
10
|
|
|
11
11
|
exports["default"] = navigateToMergedParams;
|
|
12
12
|
exports.navigateToMergedParams = navigateToMergedParams;
|
|
@@ -2,6 +2,6 @@ import { mergeUrlQueryParams, getUrlQueryParams } from '@koine/utils';
|
|
|
2
2
|
import { navigateToParams } from './navigateToParams.esm.js';
|
|
3
3
|
import './navigateToUrl.esm.js';
|
|
4
4
|
|
|
5
|
-
let navigateToMergedParams
|
|
5
|
+
let navigateToMergedParams=(o={},t)=>navigateToParams(mergeUrlQueryParams(getUrlQueryParams(),o),t);
|
|
6
6
|
|
|
7
7
|
export { navigateToMergedParams as default, navigateToMergedParams };
|
package/navigateToParams.cjs.js
CHANGED
|
@@ -5,13 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
var navigateToUrl = require('./navigateToUrl.cjs.js');
|
|
7
7
|
|
|
8
|
-
let navigateToParams
|
|
9
|
-
const queryString = typeof params === "string" ? params : utils.buildUrlQueryString(params);
|
|
10
|
-
if (utils.isBrowser) {
|
|
11
|
-
navigateToUrl.navigateToUrl(location.pathname + queryString, replace);
|
|
12
|
-
}
|
|
13
|
-
return queryString;
|
|
14
|
-
};
|
|
8
|
+
let navigateToParams=(e={},r)=>{let i="string"==typeof e?e:utils.buildUrlQueryString(e);return utils.isBrowser&&navigateToUrl.navigateToUrl(location.pathname+i,r),i};
|
|
15
9
|
|
|
16
10
|
exports["default"] = navigateToParams;
|
|
17
11
|
exports.navigateToParams = navigateToParams;
|
package/navigateToParams.esm.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { buildUrlQueryString, isBrowser } from '@koine/utils';
|
|
2
2
|
import { navigateToUrl } from './navigateToUrl.esm.js';
|
|
3
3
|
|
|
4
|
-
let navigateToParams
|
|
5
|
-
const queryString = typeof params === "string" ? params : buildUrlQueryString(params);
|
|
6
|
-
if (isBrowser) {
|
|
7
|
-
navigateToUrl(location.pathname + queryString, replace);
|
|
8
|
-
}
|
|
9
|
-
return queryString;
|
|
10
|
-
};
|
|
4
|
+
let navigateToParams=(e={},r)=>{let i="string"==typeof e?e:buildUrlQueryString(e);return isBrowser&&navigateToUrl(location.pathname+i,r),i};
|
|
11
5
|
|
|
12
6
|
export { navigateToParams as default, navigateToParams };
|
package/navigateToUrl.cjs.js
CHANGED
|
@@ -2,11 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
let navigateToUrl
|
|
6
|
-
if (url) {
|
|
7
|
-
history[replace ? "replaceState" : "pushState"](history.state, "", url);
|
|
8
|
-
}
|
|
9
|
-
};
|
|
5
|
+
let navigateToUrl=(t="",e)=>{t&&history[e?"replaceState":"pushState"](history.state,"",t);};
|
|
10
6
|
|
|
11
7
|
exports["default"] = navigateToUrl;
|
|
12
8
|
exports.navigateToUrl = navigateToUrl;
|
package/navigateToUrl.esm.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
let navigateToUrl
|
|
2
|
-
if (url) {
|
|
3
|
-
history[replace ? "replaceState" : "pushState"](history.state, "", url);
|
|
4
|
-
}
|
|
5
|
-
};
|
|
1
|
+
let navigateToUrl=(t="",e)=>{t&&history[e?"replaceState":"pushState"](history.state,"",t);};
|
|
6
2
|
|
|
7
3
|
export { navigateToUrl as default, navigateToUrl };
|
|
@@ -6,16 +6,7 @@ var utils = require('@koine/utils');
|
|
|
6
6
|
var navigateToParams = require('./navigateToParams.cjs.js');
|
|
7
7
|
require('./navigateToUrl.cjs.js');
|
|
8
8
|
|
|
9
|
-
let navigateWithoutUrlParam
|
|
10
|
-
const params = {};
|
|
11
|
-
const currentParams = utils.getUrlQueryParams();
|
|
12
|
-
for (const key in currentParams) {
|
|
13
|
-
if (key !== paramName) {
|
|
14
|
-
params[key] = currentParams[key];
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return navigateToParams.navigateToParams(params, replace);
|
|
18
|
-
};
|
|
9
|
+
let navigateWithoutUrlParam=(a,e)=>{let o={},i=utils.getUrlQueryParams();for(let t in i)t!==a&&(o[t]=i[t]);return navigateToParams.navigateToParams(o,e)};
|
|
19
10
|
|
|
20
11
|
exports["default"] = navigateWithoutUrlParam;
|
|
21
12
|
exports.navigateWithoutUrlParam = navigateWithoutUrlParam;
|
|
@@ -2,15 +2,6 @@ import { getUrlQueryParams } from '@koine/utils';
|
|
|
2
2
|
import { navigateToParams } from './navigateToParams.esm.js';
|
|
3
3
|
import './navigateToUrl.esm.js';
|
|
4
4
|
|
|
5
|
-
let navigateWithoutUrlParam
|
|
6
|
-
const params = {};
|
|
7
|
-
const currentParams = getUrlQueryParams();
|
|
8
|
-
for (const key in currentParams) {
|
|
9
|
-
if (key !== paramName) {
|
|
10
|
-
params[key] = currentParams[key];
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return navigateToParams(params, replace);
|
|
14
|
-
};
|
|
5
|
+
let navigateWithoutUrlParam=(a,e)=>{let o={},i=getUrlQueryParams();for(let t in i)t!==a&&(o[t]=i[t]);return navigateToParams(o,e)};
|
|
15
6
|
|
|
16
7
|
export { navigateWithoutUrlParam as default, navigateWithoutUrlParam };
|
package/package.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"name": "@koine/browser",
|
|
3
3
|
"sideEffects": false,
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@koine/dom": "2.0.0-beta.
|
|
6
|
-
"@koine/utils": "2.0.0-beta.
|
|
5
|
+
"@koine/dom": "2.0.0-beta.82",
|
|
6
|
+
"@koine/utils": "2.0.0-beta.82"
|
|
7
7
|
},
|
|
8
8
|
"peerDependenciesMeta": {
|
|
9
9
|
"date-fns-tz": {
|
|
@@ -110,5 +110,5 @@
|
|
|
110
110
|
},
|
|
111
111
|
"module": "./index.esm.js",
|
|
112
112
|
"main": "./index.cjs.js",
|
|
113
|
-
"version": "2.0.0-beta.
|
|
113
|
+
"version": "2.0.0-beta.82"
|
|
114
114
|
}
|
package/redirectTo.cjs.js
CHANGED
|
@@ -4,12 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
|
|
7
|
-
let redirectTo
|
|
8
|
-
if (utils.isBrowser) {
|
|
9
|
-
const queryString = utils.buildUrlQueryString(params);
|
|
10
|
-
location.href = url.replace(/\?+$/g, "") + queryString;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
7
|
+
let redirectTo=(t,o)=>{if(utils.isBrowser){let r=utils.buildUrlQueryString(o);location.href=t.replace(/\?+$/g,"")+r;}};
|
|
13
8
|
|
|
14
9
|
exports["default"] = redirectTo;
|
|
15
10
|
exports.redirectTo = redirectTo;
|
package/redirectTo.esm.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { isBrowser, buildUrlQueryString } from '@koine/utils';
|
|
2
2
|
|
|
3
|
-
let redirectTo
|
|
4
|
-
if (isBrowser) {
|
|
5
|
-
const queryString = buildUrlQueryString(params);
|
|
6
|
-
location.href = url.replace(/\?+$/g, "") + queryString;
|
|
7
|
-
}
|
|
8
|
-
};
|
|
3
|
+
let redirectTo=(t,o)=>{if(isBrowser){let r=buildUrlQueryString(o);location.href=t.replace(/\?+$/g,"")+r;}};
|
|
9
4
|
|
|
10
5
|
export { redirectTo as default, redirectTo };
|
package/storage.cjs.js
CHANGED
|
@@ -5,10 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var storageClient = require('./storageClient.cjs.js');
|
|
6
6
|
require('@koine/utils');
|
|
7
7
|
|
|
8
|
-
let storage
|
|
9
|
-
l: storageClient.storageClient(),
|
|
10
|
-
s: storageClient.storageClient(true),
|
|
11
|
-
};
|
|
8
|
+
let storage={l:storageClient.storageClient(),s:storageClient.storageClient(!0)};
|
|
12
9
|
|
|
13
10
|
exports["default"] = storage;
|
|
14
11
|
exports.storage = storage;
|
package/storage.esm.js
CHANGED
package/storageClient.cjs.js
CHANGED
|
@@ -4,95 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var utils = require('@koine/utils');
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
let storageClient = (useSessionStorage) => {
|
|
9
|
-
const nativeMethod = (method, key, value) => utils.isBrowser
|
|
10
|
-
? window[useSessionStorage ? "sessionStorage" : "localStorage"][methodsMap[method]](key, value)
|
|
11
|
-
: () => {
|
|
12
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
13
|
-
console.warn(`[@koine/utils:storageClient]: ${useSessionStorage ? "sessionStorage" : "localStorage"} does not exists outside of browser.`);
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
const get = (key, transform, defaultValue) => {
|
|
17
|
-
let value = defaultValue ?? null;
|
|
18
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
19
|
-
if (!utils.isBrowser) {
|
|
20
|
-
console.log(`[@koine/utils:storage] called 'get' outside of browser with default value '${JSON.stringify(defaultValue)}'.`);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
if (utils.isBrowser) {
|
|
24
|
-
let stored = nativeMethod("g", key);
|
|
25
|
-
if (stored) {
|
|
26
|
-
stored = transform ? transform(stored) : stored;
|
|
27
|
-
try {
|
|
28
|
-
const parsed = JSON.parse(stored);
|
|
29
|
-
if (parsed)
|
|
30
|
-
value = parsed;
|
|
31
|
-
}
|
|
32
|
-
catch (_e) {
|
|
33
|
-
value = stored;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return value;
|
|
38
|
-
};
|
|
39
|
-
const set = (key, value, transform = (value) => value) => {
|
|
40
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
41
|
-
if (!utils.isBrowser) {
|
|
42
|
-
console.log(`[@koine/utils:storage] called 'set' outside of browser does not work.`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
if (utils.isBrowser) {
|
|
46
|
-
try {
|
|
47
|
-
const transformedValue = utils.isString(value)
|
|
48
|
-
? transform(value)
|
|
49
|
-
: transform(JSON.stringify(value));
|
|
50
|
-
nativeMethod("s", key, transformedValue);
|
|
51
|
-
}
|
|
52
|
-
catch (_e) {
|
|
53
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
54
|
-
console.warn(`[@koine/utils:createStorage]: 'set' error.`, _e);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
const remove = (key) => {
|
|
60
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
61
|
-
if (!utils.isBrowser) {
|
|
62
|
-
console.log(`[@koine/utils:storage] called 'remove' outside of browser does not work.`);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
if (utils.isBrowser) {
|
|
66
|
-
try {
|
|
67
|
-
nativeMethod("r", key);
|
|
68
|
-
}
|
|
69
|
-
catch (_e) {
|
|
70
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
71
|
-
console.warn(`[@koine/utils:createStorage]: 'remove' error.`, _e);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
const has = (key, defaultValue) => {
|
|
77
|
-
let value = defaultValue ?? false;
|
|
78
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
79
|
-
if (!utils.isBrowser) {
|
|
80
|
-
console.log(`[@koine/utils:storage] called 'has' outside of browser with default value '${JSON.stringify(defaultValue)}'.`);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (utils.isBrowser) {
|
|
84
|
-
const stored = nativeMethod("g", key);
|
|
85
|
-
value = stored ?? false;
|
|
86
|
-
}
|
|
87
|
-
return value;
|
|
88
|
-
};
|
|
89
|
-
return {
|
|
90
|
-
get,
|
|
91
|
-
set,
|
|
92
|
-
remove,
|
|
93
|
-
has,
|
|
94
|
-
};
|
|
95
|
-
};
|
|
7
|
+
let t={g:"getItem",s:"setItem",r:"removeItem"};let storageClient=s=>{let r=(o,r,l)=>utils.isBrowser?window[s?"sessionStorage":"localStorage"][t[o]](r,l):()=>{"development"===process.env.NODE_ENV&&console.warn(`[@koine/utils:storageClient]: ${s?"sessionStorage":"localStorage"} does not exists outside of browser.`);};return {get:(o,t,s)=>{let l=s??null;if("development"!==process.env.NODE_ENV||utils.isBrowser||console.log(`[@koine/utils:storage] called 'get' outside of browser with default value '${JSON.stringify(s)}'.`),utils.isBrowser){let e=r("g",o);if(e){e=t?t(e):e;try{let o=JSON.parse(e);o&&(l=o);}catch(o){l=e;}}}return l},set:(t,s,l=e=>e)=>{if("development"!==process.env.NODE_ENV||utils.isBrowser||console.log("[@koine/utils:storage] called 'set' outside of browser does not work."),utils.isBrowser)try{let e=l(utils.isString(s)?s:JSON.stringify(s));r("s",t,e);}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/utils:createStorage]: 'set' error.",e);}},remove:o=>{if("development"!==process.env.NODE_ENV||utils.isBrowser||console.log("[@koine/utils:storage] called 'remove' outside of browser does not work."),utils.isBrowser)try{r("r",o);}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/utils:createStorage]: 'remove' error.",e);}},has:(o,t)=>{let s=t??!1;return "development"!==process.env.NODE_ENV||utils.isBrowser||console.log(`[@koine/utils:storage] called 'has' outside of browser with default value '${JSON.stringify(t)}'.`),utils.isBrowser&&(s=r("g",o)??!1),s}}};
|
|
96
8
|
|
|
97
9
|
exports["default"] = storageClient;
|
|
98
10
|
exports.storageClient = storageClient;
|
package/storageClient.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type StorageClientConfig = Record<string, any>;
|
|
2
2
|
export declare let storageClient: <TConfig extends StorageClientConfig = StorageClientConfig>(useSessionStorage?: boolean) => {
|
|
3
|
-
get: <TKey extends Extract<keyof TConfig, string>, TValue = TConfig[TKey]>(key: TKey, transform?: ((value: string) => TValue) | undefined, defaultValue?:
|
|
3
|
+
get: <TKey extends Extract<keyof TConfig, string>, TValue = TConfig[TKey]>(key: TKey, transform?: ((value: string) => TValue) | undefined, defaultValue?: null | TValue) => NonNullable<TValue> | null;
|
|
4
4
|
set: <TKey_1 extends Extract<keyof TConfig, string>, TValue_1 = TConfig[TKey_1]>(key: TKey_1, value?: TValue_1 | undefined, transform?: (value: any) => string) => void;
|
|
5
5
|
remove: <TKey_2 extends Extract<keyof TConfig, string>>(key: TKey_2) => void;
|
|
6
6
|
has: <TKey_3 extends Extract<keyof TConfig, string>, TValue_2 = TConfig[TKey_3]>(key: TKey_3, defaultValue?: TValue_2 | undefined) => boolean | NonNullable<TValue_2>;
|
package/storageClient.esm.js
CHANGED
|
@@ -1,93 +1,5 @@
|
|
|
1
1
|
import { isBrowser, isString } from '@koine/utils';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
let storageClient = (useSessionStorage) => {
|
|
5
|
-
const nativeMethod = (method, key, value) => isBrowser
|
|
6
|
-
? window[useSessionStorage ? "sessionStorage" : "localStorage"][methodsMap[method]](key, value)
|
|
7
|
-
: () => {
|
|
8
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
9
|
-
console.warn(`[@koine/utils:storageClient]: ${useSessionStorage ? "sessionStorage" : "localStorage"} does not exists outside of browser.`);
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
const get = (key, transform, defaultValue) => {
|
|
13
|
-
let value = defaultValue ?? null;
|
|
14
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
15
|
-
if (!isBrowser) {
|
|
16
|
-
console.log(`[@koine/utils:storage] called 'get' outside of browser with default value '${JSON.stringify(defaultValue)}'.`);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
if (isBrowser) {
|
|
20
|
-
let stored = nativeMethod("g", key);
|
|
21
|
-
if (stored) {
|
|
22
|
-
stored = transform ? transform(stored) : stored;
|
|
23
|
-
try {
|
|
24
|
-
const parsed = JSON.parse(stored);
|
|
25
|
-
if (parsed)
|
|
26
|
-
value = parsed;
|
|
27
|
-
}
|
|
28
|
-
catch (_e) {
|
|
29
|
-
value = stored;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return value;
|
|
34
|
-
};
|
|
35
|
-
const set = (key, value, transform = (value) => value) => {
|
|
36
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
37
|
-
if (!isBrowser) {
|
|
38
|
-
console.log(`[@koine/utils:storage] called 'set' outside of browser does not work.`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (isBrowser) {
|
|
42
|
-
try {
|
|
43
|
-
const transformedValue = isString(value)
|
|
44
|
-
? transform(value)
|
|
45
|
-
: transform(JSON.stringify(value));
|
|
46
|
-
nativeMethod("s", key, transformedValue);
|
|
47
|
-
}
|
|
48
|
-
catch (_e) {
|
|
49
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
50
|
-
console.warn(`[@koine/utils:createStorage]: 'set' error.`, _e);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
const remove = (key) => {
|
|
56
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
57
|
-
if (!isBrowser) {
|
|
58
|
-
console.log(`[@koine/utils:storage] called 'remove' outside of browser does not work.`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (isBrowser) {
|
|
62
|
-
try {
|
|
63
|
-
nativeMethod("r", key);
|
|
64
|
-
}
|
|
65
|
-
catch (_e) {
|
|
66
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
67
|
-
console.warn(`[@koine/utils:createStorage]: 'remove' error.`, _e);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
const has = (key, defaultValue) => {
|
|
73
|
-
let value = defaultValue ?? false;
|
|
74
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
75
|
-
if (!isBrowser) {
|
|
76
|
-
console.log(`[@koine/utils:storage] called 'has' outside of browser with default value '${JSON.stringify(defaultValue)}'.`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (isBrowser) {
|
|
80
|
-
const stored = nativeMethod("g", key);
|
|
81
|
-
value = stored ?? false;
|
|
82
|
-
}
|
|
83
|
-
return value;
|
|
84
|
-
};
|
|
85
|
-
return {
|
|
86
|
-
get,
|
|
87
|
-
set,
|
|
88
|
-
remove,
|
|
89
|
-
has,
|
|
90
|
-
};
|
|
91
|
-
};
|
|
3
|
+
let t={g:"getItem",s:"setItem",r:"removeItem"};let storageClient=s=>{let r=(o,r,l)=>isBrowser?window[s?"sessionStorage":"localStorage"][t[o]](r,l):()=>{"development"===process.env.NODE_ENV&&console.warn(`[@koine/utils:storageClient]: ${s?"sessionStorage":"localStorage"} does not exists outside of browser.`);};return {get:(o,t,s)=>{let l=s??null;if("development"!==process.env.NODE_ENV||isBrowser||console.log(`[@koine/utils:storage] called 'get' outside of browser with default value '${JSON.stringify(s)}'.`),isBrowser){let e=r("g",o);if(e){e=t?t(e):e;try{let o=JSON.parse(e);o&&(l=o);}catch(o){l=e;}}}return l},set:(t,s,l=e=>e)=>{if("development"!==process.env.NODE_ENV||isBrowser||console.log("[@koine/utils:storage] called 'set' outside of browser does not work."),isBrowser)try{let e=l(isString(s)?s:JSON.stringify(s));r("s",t,e);}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/utils:createStorage]: 'set' error.",e);}},remove:o=>{if("development"!==process.env.NODE_ENV||isBrowser||console.log("[@koine/utils:storage] called 'remove' outside of browser does not work."),isBrowser)try{r("r",o);}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/utils:createStorage]: 'remove' error.",e);}},has:(o,t)=>{let s=t??!1;return "development"!==process.env.NODE_ENV||isBrowser||console.log(`[@koine/utils:storage] called 'has' outside of browser with default value '${JSON.stringify(t)}'.`),isBrowser&&(s=r("g",o)??!1),s}}};
|
|
92
4
|
|
|
93
5
|
export { storageClient as default, storageClient };
|