@koine/browser 2.0.0-beta.76 → 2.0.0-beta.78
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 +1 -0
- package/createStorage.cjs.d.ts +2 -0
- package/createStorage.cjs.default.js +1 -0
- package/createStorage.cjs.js +101 -0
- package/createStorage.cjs.mjs +2 -0
- package/createStorage.esm.js +96 -0
- package/getZonedDate.cjs.d.ts +2 -0
- package/getZonedDate.cjs.default.js +1 -0
- package/getZonedDate.cjs.js +29 -0
- package/getZonedDate.cjs.mjs +2 -0
- package/getZonedDate.esm.js +24 -0
- package/gtag.cjs.d.ts +2 -0
- package/gtag.cjs.default.js +1 -0
- package/gtag.cjs.js +15 -0
- package/gtag.cjs.mjs +2 -0
- package/gtag.esm.js +10 -0
- package/gtagPageview.cjs.d.ts +2 -0
- package/gtagPageview.cjs.default.js +1 -0
- package/gtagPageview.cjs.js +15 -0
- package/gtagPageview.cjs.mjs +2 -0
- package/gtagPageview.esm.js +10 -0
- package/index.cjs.d.ts +1 -0
- package/index.cjs.default.js +1 -0
- package/index.cjs.js +45 -0
- package/index.cjs.mjs +2 -0
- package/index.d.ts +1 -1
- package/index.esm.js +20 -0
- package/isIE.cjs.d.ts +2 -0
- package/isIE.cjs.default.js +1 -0
- package/isIE.cjs.js +19 -0
- package/isIE.cjs.mjs +2 -0
- package/isIE.esm.js +14 -0
- package/isMobile.cjs.d.ts +2 -0
- package/isMobile.cjs.default.js +1 -0
- package/isMobile.cjs.js +13 -0
- package/isMobile.cjs.mjs +2 -0
- package/isMobile.esm.js +8 -0
- package/listenUrlSearch.cjs.d.ts +2 -0
- package/listenUrlSearch.cjs.default.js +1 -0
- package/listenUrlSearch.cjs.js +46 -0
- package/listenUrlSearch.cjs.mjs +2 -0
- package/listenUrlSearch.esm.js +41 -0
- package/listenUrlSearchParams.cjs.d.ts +2 -0
- package/listenUrlSearchParams.cjs.default.js +1 -0
- package/listenUrlSearchParams.cjs.js +19 -0
- package/listenUrlSearchParams.cjs.mjs +2 -0
- package/listenUrlSearchParams.esm.js +14 -0
- package/navigateToHash.cjs.d.ts +2 -0
- package/navigateToHash.cjs.default.js +1 -0
- package/navigateToHash.cjs.js +13 -0
- package/navigateToHash.cjs.mjs +2 -0
- package/navigateToHash.esm.js +8 -0
- package/navigateToHashParams.cjs.d.ts +2 -0
- package/navigateToHashParams.cjs.default.js +1 -0
- package/navigateToHashParams.cjs.js +20 -0
- package/navigateToHashParams.cjs.mjs +2 -0
- package/navigateToHashParams.esm.js +15 -0
- package/navigateToMergedHashParams.cjs.d.ts +2 -0
- package/navigateToMergedHashParams.cjs.default.js +1 -0
- package/navigateToMergedHashParams.cjs.js +11 -0
- package/navigateToMergedHashParams.cjs.mjs +2 -0
- package/navigateToMergedHashParams.esm.js +6 -0
- package/navigateToMergedParams.cjs.d.ts +2 -0
- package/navigateToMergedParams.cjs.default.js +1 -0
- package/navigateToMergedParams.cjs.js +12 -0
- package/navigateToMergedParams.cjs.mjs +2 -0
- package/navigateToMergedParams.esm.js +7 -0
- package/navigateToParams.cjs.d.ts +2 -0
- package/navigateToParams.cjs.default.js +1 -0
- package/navigateToParams.cjs.js +17 -0
- package/navigateToParams.cjs.mjs +2 -0
- package/navigateToParams.esm.js +12 -0
- package/navigateToUrl.cjs.d.ts +2 -0
- package/navigateToUrl.cjs.default.js +1 -0
- package/navigateToUrl.cjs.js +12 -0
- package/navigateToUrl.cjs.mjs +2 -0
- package/navigateToUrl.esm.js +7 -0
- package/navigateWithoutUrlParam.cjs.d.ts +2 -0
- package/navigateWithoutUrlParam.cjs.default.js +1 -0
- package/navigateWithoutUrlParam.cjs.js +21 -0
- package/navigateWithoutUrlParam.cjs.mjs +2 -0
- package/navigateWithoutUrlParam.esm.js +16 -0
- package/package.json +63 -44
- package/redirectTo.cjs.d.ts +2 -0
- package/redirectTo.cjs.default.js +1 -0
- package/redirectTo.cjs.js +15 -0
- package/redirectTo.cjs.mjs +2 -0
- package/redirectTo.esm.js +10 -0
- package/storage.cjs.d.ts +2 -0
- package/storage.cjs.default.js +1 -0
- package/storage.cjs.js +14 -0
- package/storage.cjs.mjs +2 -0
- package/storage.esm.js +9 -0
- package/storageClient.cjs.d.ts +2 -0
- package/storageClient.cjs.default.js +1 -0
- package/storageClient.cjs.js +98 -0
- package/storageClient.cjs.mjs +2 -0
- package/storageClient.esm.js +93 -0
- package/cjs/browser/createStorage.js +0 -1
- package/cjs/browser/getZonedDate.js +0 -1
- package/cjs/browser/gtag.js +0 -1
- package/cjs/browser/gtagPageview.js +0 -1
- package/cjs/browser/index.js +0 -1
- package/cjs/browser/isIE.js +0 -1
- package/cjs/browser/isMobile.js +0 -1
- package/cjs/browser/listenUrlSearch.js +0 -1
- package/cjs/browser/listenUrlSearchParams.js +0 -1
- package/cjs/browser/navigateToHash.js +0 -1
- package/cjs/browser/navigateToHashParams.js +0 -1
- package/cjs/browser/navigateToMergedHashParams.js +0 -1
- package/cjs/browser/navigateToMergedParams.js +0 -1
- package/cjs/browser/navigateToParams.js +0 -1
- package/cjs/browser/navigateToUrl.js +0 -1
- package/cjs/browser/navigateWithoutUrlParam.js +0 -1
- package/cjs/browser/redirectTo.js +0 -1
- package/cjs/browser/storage.js +0 -1
- package/cjs/browser/storageClient.js +0 -1
- package/cjs/createStorage.d.ts +0 -12
- package/cjs/getZonedDate.d.ts +0 -2
- package/cjs/gtag.d.ts +0 -2
- package/cjs/gtagPageview.d.ts +0 -7
- package/cjs/index.d.ts +0 -18
- package/cjs/isIE.d.ts +0 -2
- package/cjs/isMobile.d.ts +0 -2
- package/cjs/listenUrlSearch.d.ts +0 -3
- package/cjs/listenUrlSearchParams.d.ts +0 -2
- package/cjs/navigateToHash.d.ts +0 -2
- package/cjs/navigateToHashParams.d.ts +0 -3
- package/cjs/navigateToMergedHashParams.d.ts +0 -3
- package/cjs/navigateToMergedParams.d.ts +0 -3
- package/cjs/navigateToParams.d.ts +0 -3
- package/cjs/navigateToUrl.d.ts +0 -2
- package/cjs/navigateWithoutUrlParam.d.ts +0 -2
- package/cjs/package.json +0 -16
- package/cjs/redirectTo.d.ts +0 -3
- package/cjs/storage.d.ts +0 -15
- package/cjs/storageClient.d.ts +0 -8
- package/createStorage.js +0 -1
- package/getZonedDate.js +0 -1
- package/gtag.js +0 -1
- package/gtagPageview.js +0 -1
- package/index.js +0 -1
- package/isIE.js +0 -1
- package/isMobile.js +0 -1
- package/listenUrlSearch.js +0 -1
- package/listenUrlSearchParams.js +0 -1
- package/navigateToHash.js +0 -1
- package/navigateToHashParams.js +0 -1
- package/navigateToMergedHashParams.js +0 -1
- package/navigateToMergedParams.js +0 -1
- package/navigateToParams.js +0 -1
- package/navigateToUrl.js +0 -1
- package/navigateWithoutUrlParam.js +0 -1
- package/redirectTo.js +0 -1
- package/storage.js +0 -1
- package/storageClient.js +0 -1
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# @koine/i18n
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./createStorage.cjs.js').default;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
var dom = require('@koine/dom');
|
|
7
|
+
var storage = require('./storage.cjs.js');
|
|
8
|
+
require('./storageClient.cjs.js');
|
|
9
|
+
|
|
10
|
+
let createStorage = (config, useSessionStorage) => {
|
|
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
|
+
};
|
|
99
|
+
|
|
100
|
+
exports.createStorage = createStorage;
|
|
101
|
+
exports["default"] = createStorage;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { encode, decode, isBrowser, isNullOrUndefined, noop } from '@koine/utils';
|
|
2
|
+
import { on } from '@koine/dom';
|
|
3
|
+
import { storage } from './storage.esm.js';
|
|
4
|
+
import './storageClient.esm.js';
|
|
5
|
+
|
|
6
|
+
let createStorage = (config, useSessionStorage) => {
|
|
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
|
+
};
|
|
95
|
+
|
|
96
|
+
export { createStorage, createStorage as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./getZonedDate.cjs.js').default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
|
|
7
|
+
const utcToZonedTime = (date, _tz) => {
|
|
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
|
+
};
|
|
27
|
+
|
|
28
|
+
exports["default"] = getZonedDate;
|
|
29
|
+
exports.getZonedDate = getZonedDate;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { isBrowser } from '@koine/utils';
|
|
2
|
+
|
|
3
|
+
const utcToZonedTime = (date, _tz) => {
|
|
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
|
+
};
|
|
23
|
+
|
|
24
|
+
export { getZonedDate as default, getZonedDate };
|
package/gtag.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./gtag.cjs.js').default;
|
package/gtag.cjs.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
|
|
7
|
+
let gtag = (...args) => {
|
|
8
|
+
!utils.isUndefined(window) && !utils.isUndefined(window.gtag)
|
|
9
|
+
?
|
|
10
|
+
window.gtag(...args)
|
|
11
|
+
: utils.noop();
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports["default"] = gtag;
|
|
15
|
+
exports.gtag = gtag;
|
package/gtag.cjs.mjs
ADDED
package/gtag.esm.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./gtagPageview.cjs.js').default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var gtag = require('./gtag.cjs.js');
|
|
6
|
+
require('@koine/utils');
|
|
7
|
+
|
|
8
|
+
let gtagPageview = (...args) => gtag.gtag("event", "page_view", {
|
|
9
|
+
page_path: args[0] || location.pathname,
|
|
10
|
+
page_title: args[1] || document.title,
|
|
11
|
+
page_location: args[2] || location.href,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
exports["default"] = gtagPageview;
|
|
15
|
+
exports.gtagPageview = gtagPageview;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { gtag } from './gtag.esm.js';
|
|
2
|
+
import '@koine/utils';
|
|
3
|
+
|
|
4
|
+
let gtagPageview = (...args) => gtag("event", "page_view", {
|
|
5
|
+
page_path: args[0] || location.pathname,
|
|
6
|
+
page_title: args[1] || document.title,
|
|
7
|
+
page_location: args[2] || location.href,
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export { gtagPageview as default, gtagPageview };
|
package/index.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./index";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./index.cjs.js').default;
|
package/index.cjs.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var createStorage = require('./createStorage.cjs.js');
|
|
6
|
+
var getZonedDate = require('./getZonedDate.cjs.js');
|
|
7
|
+
var gtag = require('./gtag.cjs.js');
|
|
8
|
+
var gtagPageview = require('./gtagPageview.cjs.js');
|
|
9
|
+
var isIE = require('./isIE.cjs.js');
|
|
10
|
+
var isMobile = require('./isMobile.cjs.js');
|
|
11
|
+
var listenUrlSearch = require('./listenUrlSearch.cjs.js');
|
|
12
|
+
var listenUrlSearchParams = require('./listenUrlSearchParams.cjs.js');
|
|
13
|
+
var navigateToHash = require('./navigateToHash.cjs.js');
|
|
14
|
+
var navigateToHashParams = require('./navigateToHashParams.cjs.js');
|
|
15
|
+
var navigateToMergedHashParams = require('./navigateToMergedHashParams.cjs.js');
|
|
16
|
+
var navigateToMergedParams = require('./navigateToMergedParams.cjs.js');
|
|
17
|
+
var navigateToParams = require('./navigateToParams.cjs.js');
|
|
18
|
+
var navigateToUrl = require('./navigateToUrl.cjs.js');
|
|
19
|
+
var navigateWithoutUrlParam = require('./navigateWithoutUrlParam.cjs.js');
|
|
20
|
+
var storage = require('./storage.cjs.js');
|
|
21
|
+
var redirectTo = require('./redirectTo.cjs.js');
|
|
22
|
+
var storageClient = require('./storageClient.cjs.js');
|
|
23
|
+
require('@koine/utils');
|
|
24
|
+
require('@koine/dom');
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
exports.createStorage = createStorage.createStorage;
|
|
29
|
+
exports.getZonedDate = getZonedDate.getZonedDate;
|
|
30
|
+
exports.gtag = gtag.gtag;
|
|
31
|
+
exports.gtagPageview = gtagPageview.gtagPageview;
|
|
32
|
+
exports.isIE = isIE.isIE;
|
|
33
|
+
exports.isMobile = isMobile.isMobile;
|
|
34
|
+
exports.listenUrlSearch = listenUrlSearch.listenUrlSearch;
|
|
35
|
+
exports.listenUrlSearchParams = listenUrlSearchParams.listenUrlSearchParams;
|
|
36
|
+
exports.navigateToHash = navigateToHash.navigateToHash;
|
|
37
|
+
exports.navigateToHashParams = navigateToHashParams.navigateToHashParams;
|
|
38
|
+
exports.navigateToMergedHashParams = navigateToMergedHashParams.navigateToMergedHashParams;
|
|
39
|
+
exports.navigateToMergedParams = navigateToMergedParams.navigateToMergedParams;
|
|
40
|
+
exports.navigateToParams = navigateToParams.navigateToParams;
|
|
41
|
+
exports.navigateToUrl = navigateToUrl.navigateToUrl;
|
|
42
|
+
exports.navigateWithoutUrlParam = navigateWithoutUrlParam.navigateWithoutUrlParam;
|
|
43
|
+
exports.storage = storage.storage;
|
|
44
|
+
exports.redirectTo = redirectTo.redirectTo;
|
|
45
|
+
exports.storageClient = storageClient.storageClient;
|
package/index.cjs.mjs
ADDED
package/index.d.ts
CHANGED
|
@@ -13,6 +13,6 @@ export { navigateToMergedParams } from "./navigateToMergedParams";
|
|
|
13
13
|
export { navigateToParams } from "./navigateToParams";
|
|
14
14
|
export { navigateToUrl } from "./navigateToUrl";
|
|
15
15
|
export { navigateWithoutUrlParam } from "./navigateWithoutUrlParam";
|
|
16
|
-
export { redirectTo } from "./redirectTo";
|
|
17
16
|
export { storage } from "./storage";
|
|
17
|
+
export { redirectTo } from "./redirectTo";
|
|
18
18
|
export { storageClient, type StorageClientConfig } from "./storageClient";
|
package/index.esm.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { createStorage } from './createStorage.esm.js';
|
|
2
|
+
export { getZonedDate } from './getZonedDate.esm.js';
|
|
3
|
+
export { gtag } from './gtag.esm.js';
|
|
4
|
+
export { gtagPageview } from './gtagPageview.esm.js';
|
|
5
|
+
export { isIE } from './isIE.esm.js';
|
|
6
|
+
export { isMobile } from './isMobile.esm.js';
|
|
7
|
+
export { listenUrlSearch } from './listenUrlSearch.esm.js';
|
|
8
|
+
export { listenUrlSearchParams } from './listenUrlSearchParams.esm.js';
|
|
9
|
+
export { navigateToHash } from './navigateToHash.esm.js';
|
|
10
|
+
export { navigateToHashParams } from './navigateToHashParams.esm.js';
|
|
11
|
+
export { navigateToMergedHashParams } from './navigateToMergedHashParams.esm.js';
|
|
12
|
+
export { navigateToMergedParams } from './navigateToMergedParams.esm.js';
|
|
13
|
+
export { navigateToParams } from './navigateToParams.esm.js';
|
|
14
|
+
export { navigateToUrl } from './navigateToUrl.esm.js';
|
|
15
|
+
export { navigateWithoutUrlParam } from './navigateWithoutUrlParam.esm.js';
|
|
16
|
+
export { storage } from './storage.esm.js';
|
|
17
|
+
export { redirectTo } from './redirectTo.esm.js';
|
|
18
|
+
export { storageClient } from './storageClient.esm.js';
|
|
19
|
+
import '@koine/utils';
|
|
20
|
+
import '@koine/dom';
|
package/isIE.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./isIE.cjs.js').default;
|
package/isIE.cjs.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
|
|
7
|
+
let isIE = (ssrValue = true) => {
|
|
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
|
+
};
|
|
17
|
+
|
|
18
|
+
exports["default"] = isIE;
|
|
19
|
+
exports.isIE = isIE;
|
package/isIE.cjs.mjs
ADDED
package/isIE.esm.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { isServer } from '@koine/utils';
|
|
2
|
+
|
|
3
|
+
let isIE = (ssrValue = true) => {
|
|
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
|
+
};
|
|
13
|
+
|
|
14
|
+
export { isIE as default, isIE };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./isMobile.cjs.js').default;
|
package/isMobile.cjs.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
|
|
7
|
+
let isMobile = (ssrValue = true) => utils.isServer
|
|
8
|
+
? ssrValue
|
|
9
|
+
:
|
|
10
|
+
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent);
|
|
11
|
+
|
|
12
|
+
exports["default"] = isMobile;
|
|
13
|
+
exports.isMobile = isMobile;
|
package/isMobile.cjs.mjs
ADDED
package/isMobile.esm.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./listenUrlSearch.cjs.js').default;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
var dom = require('@koine/dom');
|
|
7
|
+
|
|
8
|
+
let extendHistoryMethod = (fn, runHandlers, before) => {
|
|
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
|
+
};
|
|
44
|
+
|
|
45
|
+
exports["default"] = listenUrlSearch;
|
|
46
|
+
exports.listenUrlSearch = listenUrlSearch;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { isBrowser } from '@koine/utils';
|
|
2
|
+
import { on } from '@koine/dom';
|
|
3
|
+
|
|
4
|
+
let extendHistoryMethod = (fn, runHandlers, before) => {
|
|
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
|
+
};
|
|
40
|
+
|
|
41
|
+
export { listenUrlSearch as default, listenUrlSearch };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./listenUrlSearchParams.cjs.js').default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var listenUrlSearch = require('./listenUrlSearch.cjs.js');
|
|
6
|
+
require('@koine/utils');
|
|
7
|
+
require('@koine/dom');
|
|
8
|
+
|
|
9
|
+
let listenUrlSearchParams = (paramName, handler) => listenUrlSearch.listenUrlSearch((prevSearch, newSearch) => {
|
|
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
|
+
});
|
|
17
|
+
|
|
18
|
+
exports["default"] = listenUrlSearchParams;
|
|
19
|
+
exports.listenUrlSearchParams = listenUrlSearchParams;
|