@koine/browser 1.1.8 → 1.1.10
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.js +6 -2
- package/getZonedDate.js +1 -1
- package/gtagPageview.js +1 -1
- package/isIE.js +1 -1
- package/isMobile.js +1 -1
- package/navigateToHashParams.d.ts +1 -1
- package/navigateToHashParams.js +2 -1
- package/navigateToMergedHashParams.d.ts +1 -1
- package/navigateToMergedHashParams.js +2 -1
- package/navigateToMergedParams.d.ts +1 -1
- package/navigateToMergedParams.js +2 -1
- package/navigateToParams.d.ts +1 -1
- package/navigateToParams.js +2 -1
- package/navigateWithoutUrlParam.js +2 -2
- package/node/createStorage.js +19 -15
- package/node/getZonedDate.js +2 -2
- package/node/gtagPageview.js +3 -2
- package/node/isIE.js +3 -2
- package/node/isMobile.js +3 -2
- package/node/navigateToHashParams.js +5 -3
- package/node/navigateToMergedHashParams.js +4 -2
- package/node/navigateToMergedParams.js +4 -2
- package/node/navigateToParams.js +4 -3
- package/node/navigateWithoutUrlParam.js +5 -4
- package/node/redirectTo.js +5 -3
- package/node/storageClient.js +13 -11
- package/package.json +1 -4
- package/redirectTo.d.ts +1 -1
- package/redirectTo.js +2 -1
- package/storageClient.js +2 -1
package/createStorage.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import decode from "@koine/utils/decode";
|
|
3
|
+
import encode from "@koine/utils/encode";
|
|
4
|
+
import isBrowser from "@koine/utils/isBrowser";
|
|
5
|
+
import isNullOrUndefined from "@koine/utils/isNullOrUndefined";
|
|
6
|
+
import noop from "@koine/utils/noop";
|
|
7
|
+
import on from "@koine/dom/on";
|
|
4
8
|
import storage from "./storage";
|
|
5
9
|
/**
|
|
6
10
|
* Utility to create a storage instance to interact with `localStorage` using
|
package/getZonedDate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import utcToZonedTime from "date-fns-tz/utcToZonedTime";
|
|
2
|
-
import
|
|
2
|
+
import isBrowser from "@koine/utils/isBrowser";
|
|
3
3
|
/**
|
|
4
4
|
* It returns a `Date` object from a date `string` adjusted on the user timeZone,
|
|
5
5
|
* if a timeZone is not provided we try getting it from the `Intl` browwser native
|
package/gtagPageview.js
CHANGED
package/isIE.js
CHANGED
package/isMobile.js
CHANGED
package/navigateToHashParams.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import buildUrlQueryString from "@koine/utils/buildUrlQueryString";
|
|
2
|
+
import getUrlHashPathname from "@koine/utils/getUrlHashPathname";
|
|
2
3
|
/**
|
|
3
4
|
* It updates the `location.hash` with the given query params, it uses `location.hash`
|
|
4
5
|
* if a second argument `hash` is not provded
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import mergeUrlQueryParams from "@koine/utils/mergeUrlQueryParams";
|
|
2
|
+
import getUrlHashParams from "@koine/utils/getUrlHashParams";
|
|
2
3
|
import { navigateToHashParams } from "./navigateToHashParams";
|
|
3
4
|
/**
|
|
4
5
|
* It updates the "query params" within the `location.hash`, it uses `location`
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import mergeUrlQueryParams from "@koine/utils/mergeUrlQueryParams";
|
|
2
|
+
import getUrlQueryParams from "@koine/utils/getUrlQueryParams";
|
|
2
3
|
import { navigateToParams } from "./navigateToParams";
|
|
3
4
|
/**
|
|
4
5
|
* Merge current URL query parameters with the given ones, it uses `history`.
|
package/navigateToParams.d.ts
CHANGED
package/navigateToParams.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import isBrowser from "@koine/utils/isBrowser";
|
|
2
|
+
import buildUrlQueryString from "@koine/utils/buildUrlQueryString";
|
|
2
3
|
import navigateToUrl from "./navigateToUrl";
|
|
3
4
|
/**
|
|
4
5
|
* Change current URL query parameters, it uses `history`.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import getUrlQueryParams from "@koine/utils/getUrlQueryParams";
|
|
2
|
+
import navigateToParams from "./navigateToParams";
|
|
3
3
|
/**
|
|
4
4
|
* Remove URL query parameter, it uses `history`
|
|
5
5
|
*
|
package/node/createStorage.js
CHANGED
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createStorage = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var decode_1 = tslib_1.__importDefault(require("@koine/utils/decode"));
|
|
6
|
+
var encode_1 = tslib_1.__importDefault(require("@koine/utils/encode"));
|
|
7
|
+
var isBrowser_1 = tslib_1.__importDefault(require("@koine/utils/isBrowser"));
|
|
8
|
+
var isNullOrUndefined_1 = tslib_1.__importDefault(require("@koine/utils/isNullOrUndefined"));
|
|
9
|
+
var noop_1 = tslib_1.__importDefault(require("@koine/utils/noop"));
|
|
10
|
+
var on_1 = tslib_1.__importDefault(require("@koine/dom/on"));
|
|
7
11
|
var storage_1 = tslib_1.__importDefault(require("./storage"));
|
|
8
12
|
/**
|
|
9
13
|
* Utility to create a storage instance to interact with `localStorage` using
|
|
@@ -13,7 +17,7 @@ var createStorage = function (config, useSessionStorage) {
|
|
|
13
17
|
var client = useSessionStorage ? storage_1.default.s : storage_1.default.l;
|
|
14
18
|
var keys = Object.keys(config).reduce(function (map, key) {
|
|
15
19
|
var _a;
|
|
16
|
-
return (tslib_1.__assign(tslib_1.__assign({}, map), (_a = {}, _a[key] = (0,
|
|
20
|
+
return (tslib_1.__assign(tslib_1.__assign({}, map), (_a = {}, _a[key] = (0, encode_1.default)(key), _a)));
|
|
17
21
|
}, {});
|
|
18
22
|
return {
|
|
19
23
|
/**
|
|
@@ -24,7 +28,7 @@ var createStorage = function (config, useSessionStorage) {
|
|
|
24
28
|
* returned, otherwise `null`.
|
|
25
29
|
*/
|
|
26
30
|
get: function (key, defaultValue) {
|
|
27
|
-
return client.get(keys[key],
|
|
31
|
+
return client.get(keys[key], decode_1.default, defaultValue);
|
|
28
32
|
},
|
|
29
33
|
/**
|
|
30
34
|
* Get all storage values (it uses `localStorage.get()`).
|
|
@@ -32,7 +36,7 @@ var createStorage = function (config, useSessionStorage) {
|
|
|
32
36
|
* `undefined` and `null` values are not returned.
|
|
33
37
|
*/
|
|
34
38
|
getAll: function (defaultValues) {
|
|
35
|
-
if (!
|
|
39
|
+
if (!isBrowser_1.default) {
|
|
36
40
|
if (process.env["NODE_ENV"] !== "production") {
|
|
37
41
|
console.log("[@koine/utils:createStorage] attempt to use 'getAll' outside of browser.");
|
|
38
42
|
}
|
|
@@ -42,7 +46,7 @@ var createStorage = function (config, useSessionStorage) {
|
|
|
42
46
|
for (var key in keys) {
|
|
43
47
|
var value = this.get(key);
|
|
44
48
|
var defaultValue = defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues[key];
|
|
45
|
-
if (!(0,
|
|
49
|
+
if (!(0, isNullOrUndefined_1.default)(value)) {
|
|
46
50
|
all[key] = value;
|
|
47
51
|
}
|
|
48
52
|
else if (defaultValue) {
|
|
@@ -57,7 +61,7 @@ var createStorage = function (config, useSessionStorage) {
|
|
|
57
61
|
* Non-string values are stringified with `JSON.stringify()`
|
|
58
62
|
*/
|
|
59
63
|
set: function (key, value) {
|
|
60
|
-
client.set(keys[key], value,
|
|
64
|
+
client.set(keys[key], value, encode_1.default);
|
|
61
65
|
},
|
|
62
66
|
/**
|
|
63
67
|
* Set all given storage values (it uses `localStorage.set()`).
|
|
@@ -67,14 +71,14 @@ var createStorage = function (config, useSessionStorage) {
|
|
|
67
71
|
*/
|
|
68
72
|
setMany: function (newValues) {
|
|
69
73
|
if (process.env["NODE_ENV"] !== "production") {
|
|
70
|
-
if (!
|
|
74
|
+
if (!isBrowser_1.default) {
|
|
71
75
|
console.log("[@koine/utils:createStorage] attempt to use 'setMany' outside of browser.");
|
|
72
76
|
}
|
|
73
77
|
}
|
|
74
|
-
if (
|
|
78
|
+
if (isBrowser_1.default) {
|
|
75
79
|
for (var key in newValues) {
|
|
76
80
|
var value = newValues[key];
|
|
77
|
-
if (!(0,
|
|
81
|
+
if (!(0, isNullOrUndefined_1.default)(value)) {
|
|
78
82
|
this.set(key, value);
|
|
79
83
|
}
|
|
80
84
|
else {
|
|
@@ -100,11 +104,11 @@ var createStorage = function (config, useSessionStorage) {
|
|
|
100
104
|
*/
|
|
101
105
|
clear: function () {
|
|
102
106
|
if (process.env["NODE_ENV"] !== "production") {
|
|
103
|
-
if (!
|
|
107
|
+
if (!isBrowser_1.default) {
|
|
104
108
|
console.log("[@koine/utils:createStorage] attempt to use 'clear' outside of browser.");
|
|
105
109
|
}
|
|
106
110
|
}
|
|
107
|
-
if (
|
|
111
|
+
if (isBrowser_1.default) {
|
|
108
112
|
for (var key in keys) {
|
|
109
113
|
client.remove(keys[key]);
|
|
110
114
|
}
|
|
@@ -117,11 +121,11 @@ var createStorage = function (config, useSessionStorage) {
|
|
|
117
121
|
* Inspiration from [Multi Tab Logout in React — Redux](https://medium.com/front-end-weekly/multi-tab-logout-in-react-redux-4715f071c7fa)
|
|
118
122
|
*/
|
|
119
123
|
watch: function (keyToWatch, onRemoved, onAdded) {
|
|
120
|
-
if (!
|
|
124
|
+
if (!isBrowser_1.default) {
|
|
121
125
|
if (process.env["NODE_ENV"] !== "production") {
|
|
122
126
|
console.log("[@koine/utils:createStorage] attempt to use 'watch' outside of browser.");
|
|
123
127
|
}
|
|
124
|
-
return
|
|
128
|
+
return noop_1.default;
|
|
125
129
|
}
|
|
126
130
|
var handler = function (event) {
|
|
127
131
|
var key = event.key, oldValue = event.oldValue, newValue = event.newValue;
|
|
@@ -134,7 +138,7 @@ var createStorage = function (config, useSessionStorage) {
|
|
|
134
138
|
}
|
|
135
139
|
}
|
|
136
140
|
};
|
|
137
|
-
var listener = (0,
|
|
141
|
+
var listener = (0, on_1.default)(window, "storage", handler);
|
|
138
142
|
return listener;
|
|
139
143
|
},
|
|
140
144
|
};
|
package/node/getZonedDate.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getZonedDate = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var utcToZonedTime_1 = tslib_1.__importDefault(require("date-fns-tz/utcToZonedTime"));
|
|
6
|
-
var
|
|
6
|
+
var isBrowser_1 = tslib_1.__importDefault(require("@koine/utils/isBrowser"));
|
|
7
7
|
/**
|
|
8
8
|
* It returns a `Date` object from a date `string` adjusted on the user timeZone,
|
|
9
9
|
* if a timeZone is not provided we try getting it from the `Intl` browwser native
|
|
@@ -22,7 +22,7 @@ function getZonedDate(dateString, timeZone) {
|
|
|
22
22
|
if (dateString === void 0) { dateString = ""; }
|
|
23
23
|
if (!dateString.endsWith("Z"))
|
|
24
24
|
dateString += "Z";
|
|
25
|
-
if (!timeZone &&
|
|
25
|
+
if (!timeZone && isBrowser_1.default) {
|
|
26
26
|
try {
|
|
27
27
|
timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
28
28
|
}
|
package/node/gtagPageview.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.gtagPageview = void 0;
|
|
4
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var isUndefined_1 = tslib_1.__importDefault(require("@koine/utils/isUndefined"));
|
|
5
6
|
/**
|
|
6
7
|
* @category analytics-google
|
|
7
8
|
*/
|
|
@@ -10,7 +11,7 @@ var gtagPageview = function () {
|
|
|
10
11
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
11
12
|
args[_i] = arguments[_i];
|
|
12
13
|
}
|
|
13
|
-
if (!(0,
|
|
14
|
+
if (!(0, isUndefined_1.default)(window) && !(0, isUndefined_1.default)(window.gtag)) {
|
|
14
15
|
window.gtag("event", "page_view", {
|
|
15
16
|
page_path: args[0] || location.pathname,
|
|
16
17
|
page_title: args[1] || document.title,
|
package/node/isIE.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isIE = void 0;
|
|
4
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var isServer_1 = tslib_1.__importDefault(require("@koine/utils/isServer"));
|
|
5
6
|
/**
|
|
6
7
|
* @category detect
|
|
7
8
|
* @category is
|
|
@@ -9,7 +10,7 @@ var utils_1 = require("@koine/utils");
|
|
|
9
10
|
*/
|
|
10
11
|
function isIE(ssrValue) {
|
|
11
12
|
if (ssrValue === void 0) { ssrValue = true; }
|
|
12
|
-
if (
|
|
13
|
+
if (isServer_1.default) {
|
|
13
14
|
return ssrValue;
|
|
14
15
|
}
|
|
15
16
|
var ua = window.navigator.userAgent;
|
package/node/isMobile.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isMobile = void 0;
|
|
4
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var isServer_1 = tslib_1.__importDefault(require("@koine/utils/isServer"));
|
|
5
6
|
/**
|
|
6
7
|
* @category detect
|
|
7
8
|
* @category is
|
|
@@ -9,7 +10,7 @@ var utils_1 = require("@koine/utils");
|
|
|
9
10
|
*/
|
|
10
11
|
function isMobile(ssrValue) {
|
|
11
12
|
if (ssrValue === void 0) { ssrValue = true; }
|
|
12
|
-
if (
|
|
13
|
+
if (isServer_1.default) {
|
|
13
14
|
return ssrValue;
|
|
14
15
|
}
|
|
15
16
|
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent);
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.navigateToHashParams = void 0;
|
|
4
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var buildUrlQueryString_1 = tslib_1.__importDefault(require("@koine/utils/buildUrlQueryString"));
|
|
6
|
+
var getUrlHashPathname_1 = tslib_1.__importDefault(require("@koine/utils/getUrlHashPathname"));
|
|
5
7
|
/**
|
|
6
8
|
* It updates the `location.hash` with the given query params, it uses `location.hash`
|
|
7
9
|
* if a second argument `hash` is not provded
|
|
@@ -13,8 +15,8 @@ function navigateToHashParams(params, hash) {
|
|
|
13
15
|
if (hash === void 0) { hash = ""; }
|
|
14
16
|
var useLocation = !hash;
|
|
15
17
|
hash = hash || location.hash;
|
|
16
|
-
var hashQueryLess = (0,
|
|
17
|
-
var queryString = typeof params === "string" ? params : (0,
|
|
18
|
+
var hashQueryLess = (0, getUrlHashPathname_1.default)(hash);
|
|
19
|
+
var queryString = typeof params === "string" ? params : (0, buildUrlQueryString_1.default)(params);
|
|
18
20
|
var newHash = "#/" + hashQueryLess + queryString;
|
|
19
21
|
if (useLocation) {
|
|
20
22
|
location.hash = newHash;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.navigateToMergedHashParams = void 0;
|
|
4
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var mergeUrlQueryParams_1 = tslib_1.__importDefault(require("@koine/utils/mergeUrlQueryParams"));
|
|
6
|
+
var getUrlHashParams_1 = tslib_1.__importDefault(require("@koine/utils/getUrlHashParams"));
|
|
5
7
|
var navigateToHashParams_1 = require("./navigateToHashParams");
|
|
6
8
|
/**
|
|
7
9
|
* It updates the "query params" within the `location.hash`, it uses `location`
|
|
@@ -11,7 +13,7 @@ var navigateToHashParams_1 = require("./navigateToHashParams");
|
|
|
11
13
|
function navigateToMergedHashParams(params, hash) {
|
|
12
14
|
if (params === void 0) { params = {}; }
|
|
13
15
|
if (hash === void 0) { hash = ""; }
|
|
14
|
-
return (0, navigateToHashParams_1.navigateToHashParams)((0,
|
|
16
|
+
return (0, navigateToHashParams_1.navigateToHashParams)((0, mergeUrlQueryParams_1.default)((0, getUrlHashParams_1.default)(hash), params), hash);
|
|
15
17
|
}
|
|
16
18
|
exports.navigateToMergedHashParams = navigateToMergedHashParams;
|
|
17
19
|
exports.default = navigateToMergedHashParams;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.navigateToMergedParams = void 0;
|
|
4
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var mergeUrlQueryParams_1 = tslib_1.__importDefault(require("@koine/utils/mergeUrlQueryParams"));
|
|
6
|
+
var getUrlQueryParams_1 = tslib_1.__importDefault(require("@koine/utils/getUrlQueryParams"));
|
|
5
7
|
var navigateToParams_1 = require("./navigateToParams");
|
|
6
8
|
/**
|
|
7
9
|
* Merge current URL query parameters with the given ones, it uses `history`.
|
|
@@ -11,7 +13,7 @@ var navigateToParams_1 = require("./navigateToParams");
|
|
|
11
13
|
*/
|
|
12
14
|
function navigateToMergedParams(params, replace) {
|
|
13
15
|
if (params === void 0) { params = {}; }
|
|
14
|
-
return (0, navigateToParams_1.navigateToParams)((0,
|
|
16
|
+
return (0, navigateToParams_1.navigateToParams)((0, mergeUrlQueryParams_1.default)((0, getUrlQueryParams_1.default)(), params), replace);
|
|
15
17
|
}
|
|
16
18
|
exports.navigateToMergedParams = navigateToMergedParams;
|
|
17
19
|
exports.default = navigateToMergedParams;
|
package/node/navigateToParams.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.navigateToParams = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var
|
|
5
|
+
var isBrowser_1 = tslib_1.__importDefault(require("@koine/utils/isBrowser"));
|
|
6
|
+
var buildUrlQueryString_1 = tslib_1.__importDefault(require("@koine/utils/buildUrlQueryString"));
|
|
6
7
|
var navigateToUrl_1 = tslib_1.__importDefault(require("./navigateToUrl"));
|
|
7
8
|
/**
|
|
8
9
|
* Change current URL query parameters, it uses `history`.
|
|
@@ -13,8 +14,8 @@ var navigateToUrl_1 = tslib_1.__importDefault(require("./navigateToUrl"));
|
|
|
13
14
|
*/
|
|
14
15
|
function navigateToParams(params, replace) {
|
|
15
16
|
if (params === void 0) { params = {}; }
|
|
16
|
-
var queryString = typeof params === "string" ? params : (0,
|
|
17
|
-
if (
|
|
17
|
+
var queryString = typeof params === "string" ? params : (0, buildUrlQueryString_1.default)(params);
|
|
18
|
+
if (isBrowser_1.default) {
|
|
18
19
|
(0, navigateToUrl_1.default)(location.pathname + queryString, replace);
|
|
19
20
|
}
|
|
20
21
|
return queryString;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.navigateWithoutUrlParam = void 0;
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var getUrlQueryParams_1 = tslib_1.__importDefault(require("@koine/utils/getUrlQueryParams"));
|
|
6
|
+
var navigateToParams_1 = tslib_1.__importDefault(require("./navigateToParams"));
|
|
6
7
|
/**
|
|
7
8
|
* Remove URL query parameter, it uses `history`
|
|
8
9
|
*
|
|
@@ -11,13 +12,13 @@ var navigateToParams_1 = require("./navigateToParams");
|
|
|
11
12
|
*/
|
|
12
13
|
function navigateWithoutUrlParam(paramName, replace) {
|
|
13
14
|
var params = {};
|
|
14
|
-
var currentParams = (0,
|
|
15
|
+
var currentParams = (0, getUrlQueryParams_1.default)();
|
|
15
16
|
for (var key in currentParams) {
|
|
16
17
|
if (key !== paramName) {
|
|
17
18
|
params[key] = currentParams[key];
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
|
-
return (0, navigateToParams_1.
|
|
21
|
+
return (0, navigateToParams_1.default)(params, replace);
|
|
21
22
|
}
|
|
22
23
|
exports.navigateWithoutUrlParam = navigateWithoutUrlParam;
|
|
23
24
|
exports.default = navigateWithoutUrlParam;
|
package/node/redirectTo.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.redirectTo = void 0;
|
|
4
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var isBrowser_1 = tslib_1.__importDefault(require("@koine/utils/isBrowser"));
|
|
6
|
+
var buildUrlQueryString_1 = tslib_1.__importDefault(require("@koine/utils/buildUrlQueryString"));
|
|
5
7
|
/**
|
|
6
8
|
* Redirect to url with params {optionally}, removes eventual trailing question
|
|
7
9
|
* marks from the given URL, it uses `location`
|
|
@@ -9,8 +11,8 @@ var utils_1 = require("@koine/utils");
|
|
|
9
11
|
* @category location
|
|
10
12
|
*/
|
|
11
13
|
function redirectTo(url, params) {
|
|
12
|
-
if (
|
|
13
|
-
var queryString = (0,
|
|
14
|
+
if (isBrowser_1.default) {
|
|
15
|
+
var queryString = (0, buildUrlQueryString_1.default)(params);
|
|
14
16
|
location.href = url.replace(/\?+$/g, "") + queryString;
|
|
15
17
|
}
|
|
16
18
|
}
|
package/node/storageClient.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.storageClient = void 0;
|
|
4
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var isBrowser_1 = tslib_1.__importDefault(require("@koine/utils/isBrowser"));
|
|
6
|
+
var isString_1 = tslib_1.__importDefault(require("@koine/utils/isString"));
|
|
5
7
|
var methodsMap = { g: "getItem", s: "setItem", r: "removeItem" };
|
|
6
8
|
/**
|
|
7
9
|
* Super minifiable `local/session Storage` client creator with SSR safety
|
|
8
10
|
*/
|
|
9
11
|
var storageClient = function (useSessionStorage) {
|
|
10
12
|
var nativeMethod = function (method, key, value) {
|
|
11
|
-
return
|
|
13
|
+
return isBrowser_1.default
|
|
12
14
|
? window[useSessionStorage ? "sessionStorage" : "localStorage"][methodsMap[method]](key, value)
|
|
13
15
|
: function () {
|
|
14
16
|
if (process.env["NODE_ENV"] !== "production") {
|
|
@@ -19,11 +21,11 @@ var storageClient = function (useSessionStorage) {
|
|
|
19
21
|
var get = function (key, transform, defaultValue) {
|
|
20
22
|
var value = defaultValue !== null && defaultValue !== void 0 ? defaultValue : null;
|
|
21
23
|
if (process.env["NODE_ENV"] !== "production") {
|
|
22
|
-
if (!
|
|
24
|
+
if (!isBrowser_1.default) {
|
|
23
25
|
console.log("[@koine/utils:storage] called 'get' outside of browser with default value '".concat(JSON.stringify(defaultValue), "'."));
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
|
-
if (
|
|
28
|
+
if (isBrowser_1.default) {
|
|
27
29
|
var stored = nativeMethod("g", key);
|
|
28
30
|
if (stored) {
|
|
29
31
|
stored = transform ? transform(stored) : stored;
|
|
@@ -47,13 +49,13 @@ var storageClient = function (useSessionStorage) {
|
|
|
47
49
|
var set = function (key, value, transform) {
|
|
48
50
|
if (transform === void 0) { transform = function (value) { return value; }; }
|
|
49
51
|
if (process.env["NODE_ENV"] !== "production") {
|
|
50
|
-
if (!
|
|
52
|
+
if (!isBrowser_1.default) {
|
|
51
53
|
console.log("[@koine/utils:storage] called 'set' outside of browser does not work.");
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
|
-
if (
|
|
56
|
+
if (isBrowser_1.default) {
|
|
55
57
|
try {
|
|
56
|
-
var transformedValue = (0,
|
|
58
|
+
var transformedValue = (0, isString_1.default)(value)
|
|
57
59
|
? transform(value)
|
|
58
60
|
: transform(JSON.stringify(value));
|
|
59
61
|
nativeMethod("s", key, transformedValue);
|
|
@@ -67,11 +69,11 @@ var storageClient = function (useSessionStorage) {
|
|
|
67
69
|
};
|
|
68
70
|
var remove = function (key) {
|
|
69
71
|
if (process.env["NODE_ENV"] !== "production") {
|
|
70
|
-
if (!
|
|
72
|
+
if (!isBrowser_1.default) {
|
|
71
73
|
console.log("[@koine/utils:storage] called 'remove' outside of browser does not work.");
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
|
-
if (
|
|
76
|
+
if (isBrowser_1.default) {
|
|
75
77
|
try {
|
|
76
78
|
nativeMethod("r", key);
|
|
77
79
|
}
|
|
@@ -85,11 +87,11 @@ var storageClient = function (useSessionStorage) {
|
|
|
85
87
|
var has = function (key, defaultValue) {
|
|
86
88
|
var value = defaultValue !== null && defaultValue !== void 0 ? defaultValue : false;
|
|
87
89
|
if (process.env["NODE_ENV"] !== "production") {
|
|
88
|
-
if (!
|
|
90
|
+
if (!isBrowser_1.default) {
|
|
89
91
|
console.log("[@koine/utils:storage] called 'has' outside of browser with default value '".concat(JSON.stringify(defaultValue), "'."));
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
|
-
if (
|
|
94
|
+
if (isBrowser_1.default) {
|
|
93
95
|
var stored = nativeMethod("g", key);
|
|
94
96
|
value = stored !== null && stored !== void 0 ? stored : false;
|
|
95
97
|
}
|
package/package.json
CHANGED
|
@@ -5,12 +5,9 @@
|
|
|
5
5
|
"types": "./index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@koine/utils": "1.1.8",
|
|
9
|
-
"ts-debounce": "4.0.0",
|
|
10
|
-
"type-fest": "3.5.3",
|
|
11
8
|
"date-fns-tz": "1.3.7",
|
|
12
9
|
"tslib": "2.5.0"
|
|
13
10
|
},
|
|
14
|
-
"version": "1.1.
|
|
11
|
+
"version": "1.1.10",
|
|
15
12
|
"module": "./index.js"
|
|
16
13
|
}
|
package/redirectTo.d.ts
CHANGED
package/redirectTo.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import isBrowser from "@koine/utils/isBrowser";
|
|
2
|
+
import buildUrlQueryString from "@koine/utils/buildUrlQueryString";
|
|
2
3
|
/**
|
|
3
4
|
* Redirect to url with params {optionally}, removes eventual trailing question
|
|
4
5
|
* marks from the given URL, it uses `location`
|
package/storageClient.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import isBrowser from "@koine/utils/isBrowser";
|
|
2
|
+
import isString from "@koine/utils/isString";
|
|
2
3
|
var methodsMap = { g: "getItem", s: "setItem", r: "removeItem" };
|
|
3
4
|
/**
|
|
4
5
|
* Super minifiable `local/session Storage` client creator with SSR safety
|