@koine/browser 1.1.10 → 1.1.11
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 +28 -24
- package/{node/createStorage.js → createStorage.mjs} +24 -28
- package/getZonedDate.js +11 -6
- package/{node/getZonedDate.js → getZonedDate.mjs} +6 -11
- package/gtagPageview.js +9 -4
- package/{node/gtagPageview.js → gtagPageview.mjs} +4 -9
- package/index.js +18 -15
- package/index.mjs +15 -0
- package/isIE.js +9 -4
- package/{node/isIE.js → isIE.mjs} +4 -9
- package/isMobile.js +9 -4
- package/{node/isMobile.js → isMobile.mjs} +4 -9
- package/navigateToHash.js +9 -4
- package/navigateToHash.mjs +13 -0
- package/navigateToHashParams.js +11 -6
- package/navigateToHashParams.mjs +22 -0
- package/navigateToMergedHashParams.js +11 -6
- package/navigateToMergedHashParams.mjs +14 -0
- package/navigateToMergedParams.js +11 -6
- package/navigateToMergedParams.mjs +14 -0
- package/navigateToParams.js +13 -8
- package/navigateToParams.mjs +19 -0
- package/navigateToUrl.js +6 -2
- package/{node/navigateToUrl.js → navigateToUrl.mjs} +2 -6
- package/navigateWithoutUrlParam.js +11 -6
- package/navigateWithoutUrlParam.mjs +19 -0
- package/package.json +3 -3
- package/redirectTo.js +11 -6
- package/redirectTo.mjs +15 -0
- package/storage.js +9 -5
- package/storage.mjs +9 -0
- package/storageClient.js +19 -14
- package/{node/storageClient.js → storageClient.mjs} +14 -19
- package/node/index.js +0 -18
- package/node/navigateToHash.js +0 -18
- package/node/navigateToHashParams.js +0 -27
- package/node/navigateToMergedHashParams.js +0 -19
- package/node/navigateToMergedParams.js +0 -19
- package/node/navigateToParams.js +0 -24
- package/node/navigateWithoutUrlParam.js +0 -24
- package/node/redirectTo.js +0 -20
- package/node/storage.js +0 -13
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import buildUrlQueryString from "@koine/utils/buildUrlQueryString";
|
|
2
|
+
import getUrlHashPathname from "@koine/utils/getUrlHashPathname";
|
|
3
|
+
/**
|
|
4
|
+
* It updates the `location.hash` with the given query params, it uses `location.hash`
|
|
5
|
+
* if a second argument `hash` is not provded
|
|
6
|
+
*
|
|
7
|
+
* @category location
|
|
8
|
+
*/
|
|
9
|
+
export function navigateToHashParams(params, hash) {
|
|
10
|
+
if (params === void 0) { params = {}; }
|
|
11
|
+
if (hash === void 0) { hash = ""; }
|
|
12
|
+
var useLocation = !hash;
|
|
13
|
+
hash = hash || location.hash;
|
|
14
|
+
var hashQueryLess = getUrlHashPathname(hash);
|
|
15
|
+
var queryString = typeof params === "string" ? params : buildUrlQueryString(params);
|
|
16
|
+
var newHash = "#/" + hashQueryLess + queryString;
|
|
17
|
+
if (useLocation) {
|
|
18
|
+
location.hash = newHash;
|
|
19
|
+
}
|
|
20
|
+
return newHash;
|
|
21
|
+
}
|
|
22
|
+
export default navigateToHashParams;
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.navigateToMergedHashParams = void 0;
|
|
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"));
|
|
7
|
+
var navigateToHashParams_1 = require("./navigateToHashParams");
|
|
4
8
|
/**
|
|
5
9
|
* It updates the "query params" within the `location.hash`, it uses `location`
|
|
6
10
|
*
|
|
7
11
|
* @category location
|
|
8
12
|
*/
|
|
9
|
-
|
|
13
|
+
function navigateToMergedHashParams(params, hash) {
|
|
10
14
|
if (params === void 0) { params = {}; }
|
|
11
15
|
if (hash === void 0) { hash = ""; }
|
|
12
|
-
return navigateToHashParams(
|
|
16
|
+
return (0, navigateToHashParams_1.navigateToHashParams)((0, mergeUrlQueryParams_1.default)((0, getUrlHashParams_1.default)(hash), params), hash);
|
|
13
17
|
}
|
|
14
|
-
|
|
18
|
+
exports.navigateToMergedHashParams = navigateToMergedHashParams;
|
|
19
|
+
exports.default = navigateToMergedHashParams;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import mergeUrlQueryParams from "@koine/utils/mergeUrlQueryParams";
|
|
2
|
+
import getUrlHashParams from "@koine/utils/getUrlHashParams";
|
|
3
|
+
import { navigateToHashParams } from "./navigateToHashParams";
|
|
4
|
+
/**
|
|
5
|
+
* It updates the "query params" within the `location.hash`, it uses `location`
|
|
6
|
+
*
|
|
7
|
+
* @category location
|
|
8
|
+
*/
|
|
9
|
+
export function navigateToMergedHashParams(params, hash) {
|
|
10
|
+
if (params === void 0) { params = {}; }
|
|
11
|
+
if (hash === void 0) { hash = ""; }
|
|
12
|
+
return navigateToHashParams(mergeUrlQueryParams(getUrlHashParams(hash), params), hash);
|
|
13
|
+
}
|
|
14
|
+
export default navigateToMergedHashParams;
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.navigateToMergedParams = void 0;
|
|
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"));
|
|
7
|
+
var navigateToParams_1 = require("./navigateToParams");
|
|
4
8
|
/**
|
|
5
9
|
* Merge current URL query parameters with the given ones, it uses `history`.
|
|
6
10
|
*
|
|
7
11
|
* @category location
|
|
8
12
|
* @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
|
|
9
13
|
*/
|
|
10
|
-
|
|
14
|
+
function navigateToMergedParams(params, replace) {
|
|
11
15
|
if (params === void 0) { params = {}; }
|
|
12
|
-
return navigateToParams(
|
|
16
|
+
return (0, navigateToParams_1.navigateToParams)((0, mergeUrlQueryParams_1.default)((0, getUrlQueryParams_1.default)(), params), replace);
|
|
13
17
|
}
|
|
14
|
-
|
|
18
|
+
exports.navigateToMergedParams = navigateToMergedParams;
|
|
19
|
+
exports.default = navigateToMergedParams;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import mergeUrlQueryParams from "@koine/utils/mergeUrlQueryParams";
|
|
2
|
+
import getUrlQueryParams from "@koine/utils/getUrlQueryParams";
|
|
3
|
+
import { navigateToParams } from "./navigateToParams";
|
|
4
|
+
/**
|
|
5
|
+
* Merge current URL query parameters with the given ones, it uses `history`.
|
|
6
|
+
*
|
|
7
|
+
* @category location
|
|
8
|
+
* @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
|
|
9
|
+
*/
|
|
10
|
+
export function navigateToMergedParams(params, replace) {
|
|
11
|
+
if (params === void 0) { params = {}; }
|
|
12
|
+
return navigateToParams(mergeUrlQueryParams(getUrlQueryParams(), params), replace);
|
|
13
|
+
}
|
|
14
|
+
export default navigateToMergedParams;
|
package/navigateToParams.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.navigateToParams = void 0;
|
|
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"));
|
|
7
|
+
var navigateToUrl_1 = tslib_1.__importDefault(require("./navigateToUrl"));
|
|
4
8
|
/**
|
|
5
9
|
* Change current URL query parameters, it uses `history`.
|
|
6
10
|
*
|
|
@@ -8,12 +12,13 @@ import navigateToUrl from "./navigateToUrl";
|
|
|
8
12
|
* @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
|
|
9
13
|
* @returns The query string with initial `?`
|
|
10
14
|
*/
|
|
11
|
-
|
|
15
|
+
function navigateToParams(params, replace) {
|
|
12
16
|
if (params === void 0) { params = {}; }
|
|
13
|
-
var queryString = typeof params === "string" ? params :
|
|
14
|
-
if (
|
|
15
|
-
|
|
17
|
+
var queryString = typeof params === "string" ? params : (0, buildUrlQueryString_1.default)(params);
|
|
18
|
+
if (isBrowser_1.default) {
|
|
19
|
+
(0, navigateToUrl_1.default)(location.pathname + queryString, replace);
|
|
16
20
|
}
|
|
17
21
|
return queryString;
|
|
18
22
|
}
|
|
19
|
-
|
|
23
|
+
exports.navigateToParams = navigateToParams;
|
|
24
|
+
exports.default = navigateToParams;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import isBrowser from "@koine/utils/isBrowser";
|
|
2
|
+
import buildUrlQueryString from "@koine/utils/buildUrlQueryString";
|
|
3
|
+
import navigateToUrl from "./navigateToUrl";
|
|
4
|
+
/**
|
|
5
|
+
* Change current URL query parameters, it uses `history`.
|
|
6
|
+
*
|
|
7
|
+
* @category location
|
|
8
|
+
* @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
|
|
9
|
+
* @returns The query string with initial `?`
|
|
10
|
+
*/
|
|
11
|
+
export function navigateToParams(params, replace) {
|
|
12
|
+
if (params === void 0) { params = {}; }
|
|
13
|
+
var queryString = typeof params === "string" ? params : buildUrlQueryString(params);
|
|
14
|
+
if (isBrowser) {
|
|
15
|
+
navigateToUrl(location.pathname + queryString, replace);
|
|
16
|
+
}
|
|
17
|
+
return queryString;
|
|
18
|
+
}
|
|
19
|
+
export default navigateToParams;
|
package/navigateToUrl.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.navigateToUrl = void 0;
|
|
1
4
|
/**
|
|
2
5
|
* It updates the browser's location URL with global `history` object
|
|
3
6
|
*
|
|
4
7
|
* @category location
|
|
5
8
|
*/
|
|
6
|
-
|
|
9
|
+
function navigateToUrl(url, replace) {
|
|
7
10
|
if (url === void 0) { url = ""; }
|
|
8
11
|
if (url) {
|
|
9
12
|
history[replace ? "replaceState" : "pushState"](history.state, "", url);
|
|
10
13
|
}
|
|
11
14
|
}
|
|
12
|
-
|
|
15
|
+
exports.navigateToUrl = navigateToUrl;
|
|
16
|
+
exports.default = navigateToUrl;
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.navigateToUrl = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* It updates the browser's location URL with global `history` object
|
|
6
3
|
*
|
|
7
4
|
* @category location
|
|
8
5
|
*/
|
|
9
|
-
function navigateToUrl(url, replace) {
|
|
6
|
+
export function navigateToUrl(url, replace) {
|
|
10
7
|
if (url === void 0) { url = ""; }
|
|
11
8
|
if (url) {
|
|
12
9
|
history[replace ? "replaceState" : "pushState"](history.state, "", url);
|
|
13
10
|
}
|
|
14
11
|
}
|
|
15
|
-
|
|
16
|
-
exports.default = navigateToUrl;
|
|
12
|
+
export default navigateToUrl;
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.navigateWithoutUrlParam = void 0;
|
|
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"));
|
|
3
7
|
/**
|
|
4
8
|
* Remove URL query parameter, it uses `history`
|
|
5
9
|
*
|
|
6
10
|
* @category location
|
|
7
11
|
* @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
|
|
8
12
|
*/
|
|
9
|
-
|
|
13
|
+
function navigateWithoutUrlParam(paramName, replace) {
|
|
10
14
|
var params = {};
|
|
11
|
-
var currentParams =
|
|
15
|
+
var currentParams = (0, getUrlQueryParams_1.default)();
|
|
12
16
|
for (var key in currentParams) {
|
|
13
17
|
if (key !== paramName) {
|
|
14
18
|
params[key] = currentParams[key];
|
|
15
19
|
}
|
|
16
20
|
}
|
|
17
|
-
return
|
|
21
|
+
return (0, navigateToParams_1.default)(params, replace);
|
|
18
22
|
}
|
|
19
|
-
|
|
23
|
+
exports.navigateWithoutUrlParam = navigateWithoutUrlParam;
|
|
24
|
+
exports.default = navigateWithoutUrlParam;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import getUrlQueryParams from "@koine/utils/getUrlQueryParams";
|
|
2
|
+
import navigateToParams from "./navigateToParams";
|
|
3
|
+
/**
|
|
4
|
+
* Remove URL query parameter, it uses `history`
|
|
5
|
+
*
|
|
6
|
+
* @category location
|
|
7
|
+
* @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
|
|
8
|
+
*/
|
|
9
|
+
export function navigateWithoutUrlParam(paramName, replace) {
|
|
10
|
+
var params = {};
|
|
11
|
+
var currentParams = getUrlQueryParams();
|
|
12
|
+
for (var key in currentParams) {
|
|
13
|
+
if (key !== paramName) {
|
|
14
|
+
params[key] = currentParams[key];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return navigateToParams(params, replace);
|
|
18
|
+
}
|
|
19
|
+
export default navigateWithoutUrlParam;
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@koine/browser",
|
|
3
3
|
"sideEffects": false,
|
|
4
|
-
"main": "./
|
|
4
|
+
"main": "./index.js",
|
|
5
5
|
"types": "./index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
8
|
"date-fns-tz": "1.3.7",
|
|
9
9
|
"tslib": "2.5.0"
|
|
10
10
|
},
|
|
11
|
-
"version": "1.1.
|
|
12
|
-
"module": "./index.
|
|
11
|
+
"version": "1.1.11",
|
|
12
|
+
"module": "./index.mjs"
|
|
13
13
|
}
|
package/redirectTo.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.redirectTo = void 0;
|
|
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"));
|
|
3
7
|
/**
|
|
4
8
|
* Redirect to url with params {optionally}, removes eventual trailing question
|
|
5
9
|
* marks from the given URL, it uses `location`
|
|
6
10
|
*
|
|
7
11
|
* @category location
|
|
8
12
|
*/
|
|
9
|
-
|
|
10
|
-
if (
|
|
11
|
-
var queryString =
|
|
13
|
+
function redirectTo(url, params) {
|
|
14
|
+
if (isBrowser_1.default) {
|
|
15
|
+
var queryString = (0, buildUrlQueryString_1.default)(params);
|
|
12
16
|
location.href = url.replace(/\?+$/g, "") + queryString;
|
|
13
17
|
}
|
|
14
18
|
}
|
|
15
|
-
|
|
19
|
+
exports.redirectTo = redirectTo;
|
|
20
|
+
exports.default = redirectTo;
|
package/redirectTo.mjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import isBrowser from "@koine/utils/isBrowser";
|
|
2
|
+
import buildUrlQueryString from "@koine/utils/buildUrlQueryString";
|
|
3
|
+
/**
|
|
4
|
+
* Redirect to url with params {optionally}, removes eventual trailing question
|
|
5
|
+
* marks from the given URL, it uses `location`
|
|
6
|
+
*
|
|
7
|
+
* @category location
|
|
8
|
+
*/
|
|
9
|
+
export function redirectTo(url, params) {
|
|
10
|
+
if (isBrowser) {
|
|
11
|
+
var queryString = buildUrlQueryString(params);
|
|
12
|
+
location.href = url.replace(/\?+$/g, "") + queryString;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export default redirectTo;
|
package/storage.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.storage = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var storageClient_1 = tslib_1.__importDefault(require("./storageClient"));
|
|
2
6
|
/**
|
|
3
7
|
* Storage, for `localStorage` and `sessionStorage`
|
|
4
8
|
*/
|
|
5
|
-
|
|
6
|
-
l:
|
|
7
|
-
s:
|
|
9
|
+
exports.storage = {
|
|
10
|
+
l: (0, storageClient_1.default)(),
|
|
11
|
+
s: (0, storageClient_1.default)(true),
|
|
8
12
|
};
|
|
9
|
-
|
|
13
|
+
exports.default = exports.storage;
|
package/storage.mjs
ADDED
package/storageClient.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.storageClient = void 0;
|
|
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"));
|
|
3
7
|
var methodsMap = { g: "getItem", s: "setItem", r: "removeItem" };
|
|
4
8
|
/**
|
|
5
9
|
* Super minifiable `local/session Storage` client creator with SSR safety
|
|
6
10
|
*/
|
|
7
|
-
|
|
11
|
+
var storageClient = function (useSessionStorage) {
|
|
8
12
|
var nativeMethod = function (method, key, value) {
|
|
9
|
-
return
|
|
13
|
+
return isBrowser_1.default
|
|
10
14
|
? window[useSessionStorage ? "sessionStorage" : "localStorage"][methodsMap[method]](key, value)
|
|
11
15
|
: function () {
|
|
12
16
|
if (process.env["NODE_ENV"] !== "production") {
|
|
@@ -17,11 +21,11 @@ export var storageClient = function (useSessionStorage) {
|
|
|
17
21
|
var get = function (key, transform, defaultValue) {
|
|
18
22
|
var value = defaultValue !== null && defaultValue !== void 0 ? defaultValue : null;
|
|
19
23
|
if (process.env["NODE_ENV"] !== "production") {
|
|
20
|
-
if (!
|
|
24
|
+
if (!isBrowser_1.default) {
|
|
21
25
|
console.log("[@koine/utils:storage] called 'get' outside of browser with default value '".concat(JSON.stringify(defaultValue), "'."));
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
|
-
if (
|
|
28
|
+
if (isBrowser_1.default) {
|
|
25
29
|
var stored = nativeMethod("g", key);
|
|
26
30
|
if (stored) {
|
|
27
31
|
stored = transform ? transform(stored) : stored;
|
|
@@ -45,13 +49,13 @@ export var storageClient = function (useSessionStorage) {
|
|
|
45
49
|
var set = function (key, value, transform) {
|
|
46
50
|
if (transform === void 0) { transform = function (value) { return value; }; }
|
|
47
51
|
if (process.env["NODE_ENV"] !== "production") {
|
|
48
|
-
if (!
|
|
52
|
+
if (!isBrowser_1.default) {
|
|
49
53
|
console.log("[@koine/utils:storage] called 'set' outside of browser does not work.");
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
|
-
if (
|
|
56
|
+
if (isBrowser_1.default) {
|
|
53
57
|
try {
|
|
54
|
-
var transformedValue =
|
|
58
|
+
var transformedValue = (0, isString_1.default)(value)
|
|
55
59
|
? transform(value)
|
|
56
60
|
: transform(JSON.stringify(value));
|
|
57
61
|
nativeMethod("s", key, transformedValue);
|
|
@@ -65,11 +69,11 @@ export var storageClient = function (useSessionStorage) {
|
|
|
65
69
|
};
|
|
66
70
|
var remove = function (key) {
|
|
67
71
|
if (process.env["NODE_ENV"] !== "production") {
|
|
68
|
-
if (!
|
|
72
|
+
if (!isBrowser_1.default) {
|
|
69
73
|
console.log("[@koine/utils:storage] called 'remove' outside of browser does not work.");
|
|
70
74
|
}
|
|
71
75
|
}
|
|
72
|
-
if (
|
|
76
|
+
if (isBrowser_1.default) {
|
|
73
77
|
try {
|
|
74
78
|
nativeMethod("r", key);
|
|
75
79
|
}
|
|
@@ -83,11 +87,11 @@ export var storageClient = function (useSessionStorage) {
|
|
|
83
87
|
var has = function (key, defaultValue) {
|
|
84
88
|
var value = defaultValue !== null && defaultValue !== void 0 ? defaultValue : false;
|
|
85
89
|
if (process.env["NODE_ENV"] !== "production") {
|
|
86
|
-
if (!
|
|
90
|
+
if (!isBrowser_1.default) {
|
|
87
91
|
console.log("[@koine/utils:storage] called 'has' outside of browser with default value '".concat(JSON.stringify(defaultValue), "'."));
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
|
-
if (
|
|
94
|
+
if (isBrowser_1.default) {
|
|
91
95
|
var stored = nativeMethod("g", key);
|
|
92
96
|
value = stored !== null && stored !== void 0 ? stored : false;
|
|
93
97
|
}
|
|
@@ -100,4 +104,5 @@ export var storageClient = function (useSessionStorage) {
|
|
|
100
104
|
has: has,
|
|
101
105
|
};
|
|
102
106
|
};
|
|
103
|
-
|
|
107
|
+
exports.storageClient = storageClient;
|
|
108
|
+
exports.default = exports.storageClient;
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.storageClient = void 0;
|
|
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"));
|
|
1
|
+
import isBrowser from "@koine/utils/isBrowser";
|
|
2
|
+
import isString from "@koine/utils/isString";
|
|
7
3
|
var methodsMap = { g: "getItem", s: "setItem", r: "removeItem" };
|
|
8
4
|
/**
|
|
9
5
|
* Super minifiable `local/session Storage` client creator with SSR safety
|
|
10
6
|
*/
|
|
11
|
-
var storageClient = function (useSessionStorage) {
|
|
7
|
+
export var storageClient = function (useSessionStorage) {
|
|
12
8
|
var nativeMethod = function (method, key, value) {
|
|
13
|
-
return
|
|
9
|
+
return isBrowser
|
|
14
10
|
? window[useSessionStorage ? "sessionStorage" : "localStorage"][methodsMap[method]](key, value)
|
|
15
11
|
: function () {
|
|
16
12
|
if (process.env["NODE_ENV"] !== "production") {
|
|
@@ -21,11 +17,11 @@ var storageClient = function (useSessionStorage) {
|
|
|
21
17
|
var get = function (key, transform, defaultValue) {
|
|
22
18
|
var value = defaultValue !== null && defaultValue !== void 0 ? defaultValue : null;
|
|
23
19
|
if (process.env["NODE_ENV"] !== "production") {
|
|
24
|
-
if (!
|
|
20
|
+
if (!isBrowser) {
|
|
25
21
|
console.log("[@koine/utils:storage] called 'get' outside of browser with default value '".concat(JSON.stringify(defaultValue), "'."));
|
|
26
22
|
}
|
|
27
23
|
}
|
|
28
|
-
if (
|
|
24
|
+
if (isBrowser) {
|
|
29
25
|
var stored = nativeMethod("g", key);
|
|
30
26
|
if (stored) {
|
|
31
27
|
stored = transform ? transform(stored) : stored;
|
|
@@ -49,13 +45,13 @@ var storageClient = function (useSessionStorage) {
|
|
|
49
45
|
var set = function (key, value, transform) {
|
|
50
46
|
if (transform === void 0) { transform = function (value) { return value; }; }
|
|
51
47
|
if (process.env["NODE_ENV"] !== "production") {
|
|
52
|
-
if (!
|
|
48
|
+
if (!isBrowser) {
|
|
53
49
|
console.log("[@koine/utils:storage] called 'set' outside of browser does not work.");
|
|
54
50
|
}
|
|
55
51
|
}
|
|
56
|
-
if (
|
|
52
|
+
if (isBrowser) {
|
|
57
53
|
try {
|
|
58
|
-
var transformedValue = (
|
|
54
|
+
var transformedValue = isString(value)
|
|
59
55
|
? transform(value)
|
|
60
56
|
: transform(JSON.stringify(value));
|
|
61
57
|
nativeMethod("s", key, transformedValue);
|
|
@@ -69,11 +65,11 @@ var storageClient = function (useSessionStorage) {
|
|
|
69
65
|
};
|
|
70
66
|
var remove = function (key) {
|
|
71
67
|
if (process.env["NODE_ENV"] !== "production") {
|
|
72
|
-
if (!
|
|
68
|
+
if (!isBrowser) {
|
|
73
69
|
console.log("[@koine/utils:storage] called 'remove' outside of browser does not work.");
|
|
74
70
|
}
|
|
75
71
|
}
|
|
76
|
-
if (
|
|
72
|
+
if (isBrowser) {
|
|
77
73
|
try {
|
|
78
74
|
nativeMethod("r", key);
|
|
79
75
|
}
|
|
@@ -87,11 +83,11 @@ var storageClient = function (useSessionStorage) {
|
|
|
87
83
|
var has = function (key, defaultValue) {
|
|
88
84
|
var value = defaultValue !== null && defaultValue !== void 0 ? defaultValue : false;
|
|
89
85
|
if (process.env["NODE_ENV"] !== "production") {
|
|
90
|
-
if (!
|
|
86
|
+
if (!isBrowser) {
|
|
91
87
|
console.log("[@koine/utils:storage] called 'has' outside of browser with default value '".concat(JSON.stringify(defaultValue), "'."));
|
|
92
88
|
}
|
|
93
89
|
}
|
|
94
|
-
if (
|
|
90
|
+
if (isBrowser) {
|
|
95
91
|
var stored = nativeMethod("g", key);
|
|
96
92
|
value = stored !== null && stored !== void 0 ? stored : false;
|
|
97
93
|
}
|
|
@@ -104,5 +100,4 @@ var storageClient = function (useSessionStorage) {
|
|
|
104
100
|
has: has,
|
|
105
101
|
};
|
|
106
102
|
};
|
|
107
|
-
|
|
108
|
-
exports.default = exports.storageClient;
|
|
103
|
+
export default storageClient;
|
package/node/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./createStorage"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./getZonedDate"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./gtagPageview"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./isIE"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./isMobile"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./navigateToHash"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./navigateToHashParams"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./navigateToMergedHashParams"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./navigateToMergedParams"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./navigateToParams"), exports);
|
|
14
|
-
tslib_1.__exportStar(require("./navigateToUrl"), exports);
|
|
15
|
-
tslib_1.__exportStar(require("./navigateWithoutUrlParam"), exports);
|
|
16
|
-
tslib_1.__exportStar(require("./redirectTo"), exports);
|
|
17
|
-
tslib_1.__exportStar(require("./storage"), exports);
|
|
18
|
-
tslib_1.__exportStar(require("./storageClient"), exports);
|
package/node/navigateToHash.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.navigateToHash = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var navigateToUrl_1 = tslib_1.__importDefault(require("./navigateToUrl"));
|
|
6
|
-
/**
|
|
7
|
-
* It updates the browser's location hash by replacing the history state.
|
|
8
|
-
* The non-silent standard way would simply be `location.hash = "#new-hash"`
|
|
9
|
-
*
|
|
10
|
-
* @category location
|
|
11
|
-
*/
|
|
12
|
-
function navigateToHash(hash) {
|
|
13
|
-
if (hash === void 0) { hash = ""; }
|
|
14
|
-
var pathname = location.pathname, search = location.search;
|
|
15
|
-
(0, navigateToUrl_1.default)(pathname + (search ? "?" + search : "") + (hash ? "#" + hash : ""), true);
|
|
16
|
-
}
|
|
17
|
-
exports.navigateToHash = navigateToHash;
|
|
18
|
-
exports.default = navigateToHash;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.navigateToHashParams = void 0;
|
|
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"));
|
|
7
|
-
/**
|
|
8
|
-
* It updates the `location.hash` with the given query params, it uses `location.hash`
|
|
9
|
-
* if a second argument `hash` is not provded
|
|
10
|
-
*
|
|
11
|
-
* @category location
|
|
12
|
-
*/
|
|
13
|
-
function navigateToHashParams(params, hash) {
|
|
14
|
-
if (params === void 0) { params = {}; }
|
|
15
|
-
if (hash === void 0) { hash = ""; }
|
|
16
|
-
var useLocation = !hash;
|
|
17
|
-
hash = hash || location.hash;
|
|
18
|
-
var hashQueryLess = (0, getUrlHashPathname_1.default)(hash);
|
|
19
|
-
var queryString = typeof params === "string" ? params : (0, buildUrlQueryString_1.default)(params);
|
|
20
|
-
var newHash = "#/" + hashQueryLess + queryString;
|
|
21
|
-
if (useLocation) {
|
|
22
|
-
location.hash = newHash;
|
|
23
|
-
}
|
|
24
|
-
return newHash;
|
|
25
|
-
}
|
|
26
|
-
exports.navigateToHashParams = navigateToHashParams;
|
|
27
|
-
exports.default = navigateToHashParams;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.navigateToMergedHashParams = void 0;
|
|
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"));
|
|
7
|
-
var navigateToHashParams_1 = require("./navigateToHashParams");
|
|
8
|
-
/**
|
|
9
|
-
* It updates the "query params" within the `location.hash`, it uses `location`
|
|
10
|
-
*
|
|
11
|
-
* @category location
|
|
12
|
-
*/
|
|
13
|
-
function navigateToMergedHashParams(params, hash) {
|
|
14
|
-
if (params === void 0) { params = {}; }
|
|
15
|
-
if (hash === void 0) { hash = ""; }
|
|
16
|
-
return (0, navigateToHashParams_1.navigateToHashParams)((0, mergeUrlQueryParams_1.default)((0, getUrlHashParams_1.default)(hash), params), hash);
|
|
17
|
-
}
|
|
18
|
-
exports.navigateToMergedHashParams = navigateToMergedHashParams;
|
|
19
|
-
exports.default = navigateToMergedHashParams;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.navigateToMergedParams = void 0;
|
|
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"));
|
|
7
|
-
var navigateToParams_1 = require("./navigateToParams");
|
|
8
|
-
/**
|
|
9
|
-
* Merge current URL query parameters with the given ones, it uses `history`.
|
|
10
|
-
*
|
|
11
|
-
* @category location
|
|
12
|
-
* @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
|
|
13
|
-
*/
|
|
14
|
-
function navigateToMergedParams(params, replace) {
|
|
15
|
-
if (params === void 0) { params = {}; }
|
|
16
|
-
return (0, navigateToParams_1.navigateToParams)((0, mergeUrlQueryParams_1.default)((0, getUrlQueryParams_1.default)(), params), replace);
|
|
17
|
-
}
|
|
18
|
-
exports.navigateToMergedParams = navigateToMergedParams;
|
|
19
|
-
exports.default = navigateToMergedParams;
|