@koine/browser 2.0.0-beta.21 → 2.0.0-beta.211

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.
Files changed (122) hide show
  1. package/README.md +1 -0
  2. package/createStorage.cjs.default.js +1 -0
  3. package/createStorage.cjs.js +12 -0
  4. package/createStorage.cjs.mjs +2 -0
  5. package/createStorage.d.ts +54 -7
  6. package/createStorage.esm.js +7 -0
  7. package/getZonedDate.cjs.default.js +1 -0
  8. package/getZonedDate.cjs.js +11 -0
  9. package/getZonedDate.cjs.mjs +2 -0
  10. package/getZonedDate.d.ts +15 -1
  11. package/getZonedDate.esm.js +6 -0
  12. package/gtag.cjs.default.js +1 -0
  13. package/gtag.cjs.js +10 -0
  14. package/gtag.cjs.mjs +2 -0
  15. package/gtag.d.ts +13 -0
  16. package/gtag.esm.js +5 -0
  17. package/gtagPageview.cjs.default.js +1 -0
  18. package/gtagPageview.cjs.js +10 -0
  19. package/gtagPageview.cjs.mjs +2 -0
  20. package/gtagPageview.d.ts +4 -1
  21. package/gtagPageview.esm.js +5 -0
  22. package/index.cjs.default.js +1 -0
  23. package/index.cjs.js +43 -0
  24. package/index.cjs.mjs +2 -0
  25. package/index.d.ts +19 -17
  26. package/index.esm.js +19 -0
  27. package/isIE.cjs.default.js +1 -0
  28. package/isIE.cjs.js +10 -0
  29. package/isIE.cjs.mjs +2 -0
  30. package/isIE.d.ts +6 -1
  31. package/isIE.esm.js +5 -0
  32. package/isMobile.cjs.default.js +1 -0
  33. package/isMobile.cjs.js +10 -0
  34. package/isMobile.cjs.mjs +2 -0
  35. package/isMobile.d.ts +6 -1
  36. package/isMobile.esm.js +5 -0
  37. package/isWindowInsideIframe.cjs.default.js +1 -0
  38. package/isWindowInsideIframe.cjs.js +8 -0
  39. package/isWindowInsideIframe.cjs.mjs +2 -0
  40. package/isWindowInsideIframe.d.ts +5 -0
  41. package/isWindowInsideIframe.esm.js +3 -0
  42. package/listenUrlSearch.cjs.default.js +1 -0
  43. package/listenUrlSearch.cjs.js +11 -0
  44. package/listenUrlSearch.cjs.mjs +2 -0
  45. package/listenUrlSearch.d.ts +28 -1
  46. package/listenUrlSearch.esm.js +6 -0
  47. package/listenUrlSearchParams.cjs.default.js +1 -0
  48. package/listenUrlSearchParams.cjs.js +10 -0
  49. package/listenUrlSearchParams.cjs.mjs +2 -0
  50. package/listenUrlSearchParams.d.ts +6 -1
  51. package/listenUrlSearchParams.esm.js +5 -0
  52. package/navigateToHash.cjs.default.js +1 -0
  53. package/navigateToHash.cjs.js +10 -0
  54. package/navigateToHash.cjs.mjs +2 -0
  55. package/navigateToHash.d.ts +7 -1
  56. package/navigateToHash.esm.js +5 -0
  57. package/navigateToHashParams.cjs.default.js +1 -0
  58. package/navigateToHashParams.cjs.js +10 -0
  59. package/navigateToHashParams.cjs.mjs +2 -0
  60. package/navigateToHashParams.d.ts +7 -1
  61. package/navigateToHashParams.esm.js +5 -0
  62. package/navigateToMergedHashParams.cjs.default.js +1 -0
  63. package/navigateToMergedHashParams.cjs.js +11 -0
  64. package/navigateToMergedHashParams.cjs.mjs +2 -0
  65. package/navigateToMergedHashParams.d.ts +6 -1
  66. package/navigateToMergedHashParams.esm.js +6 -0
  67. package/navigateToMergedParams.cjs.default.js +1 -0
  68. package/navigateToMergedParams.cjs.js +11 -0
  69. package/navigateToMergedParams.cjs.mjs +2 -0
  70. package/navigateToMergedParams.d.ts +7 -1
  71. package/navigateToMergedParams.esm.js +6 -0
  72. package/navigateToParams.cjs.default.js +1 -0
  73. package/navigateToParams.cjs.js +11 -0
  74. package/navigateToParams.cjs.mjs +2 -0
  75. package/navigateToParams.d.ts +8 -1
  76. package/navigateToParams.esm.js +6 -0
  77. package/navigateToUrl.cjs.default.js +1 -0
  78. package/navigateToUrl.cjs.js +8 -0
  79. package/navigateToUrl.cjs.mjs +2 -0
  80. package/navigateToUrl.d.ts +6 -1
  81. package/navigateToUrl.esm.js +3 -0
  82. package/navigateWithoutUrlParam.cjs.default.js +1 -0
  83. package/navigateWithoutUrlParam.cjs.js +11 -0
  84. package/navigateWithoutUrlParam.cjs.mjs +2 -0
  85. package/navigateWithoutUrlParam.d.ts +7 -1
  86. package/navigateWithoutUrlParam.esm.js +6 -0
  87. package/package.json +97 -25
  88. package/redirectTo.cjs.default.js +1 -0
  89. package/redirectTo.cjs.js +10 -0
  90. package/redirectTo.cjs.mjs +2 -0
  91. package/redirectTo.d.ts +7 -1
  92. package/redirectTo.esm.js +5 -0
  93. package/storage.cjs.default.js +1 -0
  94. package/storage.cjs.js +10 -0
  95. package/storage.cjs.mjs +2 -0
  96. package/storage.d.ts +12 -7
  97. package/storage.esm.js +5 -0
  98. package/storageClient.cjs.default.js +1 -0
  99. package/storageClient.cjs.js +10 -0
  100. package/storageClient.cjs.mjs +2 -0
  101. package/storageClient.d.ts +13 -5
  102. package/storageClient.esm.js +5 -0
  103. package/vite.config.d.ts +2 -0
  104. package/createStorage.js +0 -97
  105. package/getZonedDate.js +0 -21
  106. package/gtagPageview.js +0 -15
  107. package/index.js +0 -17
  108. package/isIE.js +0 -13
  109. package/isMobile.js +0 -9
  110. package/listenUrlSearch.js +0 -55
  111. package/listenUrlSearchParams.js +0 -12
  112. package/navigateToHash.js +0 -7
  113. package/navigateToHashParams.js +0 -15
  114. package/navigateToMergedHashParams.js +0 -8
  115. package/navigateToMergedParams.js +0 -7
  116. package/navigateToParams.js +0 -11
  117. package/navigateToUrl.js +0 -7
  118. package/navigateWithoutUrlParam.js +0 -13
  119. package/redirectTo.js +0 -8
  120. package/storage.js +0 -6
  121. package/storageClient.js +0 -94
  122. package/typings.d.ts +0 -12
@@ -0,0 +1 @@
1
+ exports._default = require('./navigateToMergedHashParams.cjs.js').default;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+ var navigateToHashParams = require('./navigateToHashParams.cjs.js');
7
+
8
+ let navigateToMergedHashParams=(o={},t="")=>navigateToHashParams.navigateToHashParams(utils.mergeUrlQueryParams(utils.getUrlHashParams(t),o),t);
9
+
10
+ exports.default = navigateToMergedHashParams;
11
+ exports.navigateToMergedHashParams = navigateToMergedHashParams;
@@ -0,0 +1,2 @@
1
+ export * from './navigateToMergedHashParams.cjs.js';
2
+ export { _default as default } from './navigateToMergedHashParams.cjs.default.js';
@@ -1,3 +1,8 @@
1
1
  import { type AnyQueryParams } from "@koine/utils";
2
- export declare function navigateToMergedHashParams(params?: NonNullable<AnyQueryParams>, hash?: string): string;
2
+ /**
3
+ * It updates the "query params" within the `location.hash`, it uses `location`
4
+ *
5
+ * @category location
6
+ */
7
+ export declare let navigateToMergedHashParams: (params?: NonNullable<AnyQueryParams>, hash?: string) => string;
3
8
  export default navigateToMergedHashParams;
@@ -0,0 +1,6 @@
1
+ import { mergeUrlQueryParams, getUrlHashParams } from '@koine/utils';
2
+ import { navigateToHashParams } from './navigateToHashParams.esm.js';
3
+
4
+ let navigateToMergedHashParams=(o={},t="")=>navigateToHashParams(mergeUrlQueryParams(getUrlHashParams(t),o),t);
5
+
6
+ export { navigateToMergedHashParams as default, navigateToMergedHashParams };
@@ -0,0 +1 @@
1
+ exports._default = require('./navigateToMergedParams.cjs.js').default;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+ var navigateToParams = require('./navigateToParams.cjs.js');
7
+
8
+ let navigateToMergedParams=(o={},t)=>navigateToParams.navigateToParams(utils.mergeUrlQueryParams(utils.getUrlQueryParams(),o),t);
9
+
10
+ exports.default = navigateToMergedParams;
11
+ exports.navigateToMergedParams = navigateToMergedParams;
@@ -0,0 +1,2 @@
1
+ export * from './navigateToMergedParams.cjs.js';
2
+ export { _default as default } from './navigateToMergedParams.cjs.default.js';
@@ -1,3 +1,9 @@
1
1
  import { type AnyQueryParams } from "@koine/utils";
2
- export declare function navigateToMergedParams(params?: NonNullable<AnyQueryParams>, replace?: boolean): string;
2
+ /**
3
+ * Merge current URL query parameters with the given ones, it uses `history`.
4
+ *
5
+ * @category location
6
+ * @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
7
+ */
8
+ export declare let navigateToMergedParams: (params?: NonNullable<AnyQueryParams>, replace?: boolean) => string;
3
9
  export default navigateToMergedParams;
@@ -0,0 +1,6 @@
1
+ import { mergeUrlQueryParams, getUrlQueryParams } from '@koine/utils';
2
+ import { navigateToParams } from './navigateToParams.esm.js';
3
+
4
+ let navigateToMergedParams=(o={},t)=>navigateToParams(mergeUrlQueryParams(getUrlQueryParams(),o),t);
5
+
6
+ export { navigateToMergedParams as default, navigateToMergedParams };
@@ -0,0 +1 @@
1
+ exports._default = require('./navigateToParams.cjs.js').default;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+ var navigateToUrl = require('./navigateToUrl.cjs.js');
7
+
8
+ let navigateToParams=(e={},r)=>{let i="string"==typeof e?e:utils.buildUrlQueryString(e);return utils.isBrowser&&navigateToUrl.navigateToUrl(location.pathname+i,r),i};
9
+
10
+ exports.default = navigateToParams;
11
+ exports.navigateToParams = navigateToParams;
@@ -0,0 +1,2 @@
1
+ export * from './navigateToParams.cjs.js';
2
+ export { _default as default } from './navigateToParams.cjs.default.js';
@@ -1,3 +1,10 @@
1
1
  import { type AnyQueryParams } from "@koine/utils";
2
- export declare function navigateToParams(params?: string | AnyQueryParams, replace?: boolean): string;
2
+ /**
3
+ * Change current URL query parameters, it uses `history`.
4
+ *
5
+ * @category location
6
+ * @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
7
+ * @returns The query string with initial `?`
8
+ */
9
+ export declare let navigateToParams: (params?: string | AnyQueryParams, replace?: boolean) => string;
3
10
  export default navigateToParams;
@@ -0,0 +1,6 @@
1
+ import { buildUrlQueryString, isBrowser } from '@koine/utils';
2
+ import { navigateToUrl } from './navigateToUrl.esm.js';
3
+
4
+ let navigateToParams=(e={},r)=>{let i="string"==typeof e?e:buildUrlQueryString(e);return isBrowser&&navigateToUrl(location.pathname+i,r),i};
5
+
6
+ export { navigateToParams as default, navigateToParams };
@@ -0,0 +1 @@
1
+ exports._default = require('./navigateToUrl.cjs.js').default;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ let navigateToUrl=(t="",e)=>{t&&history[e?"replaceState":"pushState"](history.state,"",t);};
6
+
7
+ exports.default = navigateToUrl;
8
+ exports.navigateToUrl = navigateToUrl;
@@ -0,0 +1,2 @@
1
+ export * from './navigateToUrl.cjs.js';
2
+ export { _default as default } from './navigateToUrl.cjs.default.js';
@@ -1,2 +1,7 @@
1
- export declare function navigateToUrl(url?: string, replace?: boolean): void;
1
+ /**
2
+ * It updates the browser's location URL with global `history` object
3
+ *
4
+ * @category location
5
+ */
6
+ export declare let navigateToUrl: (url?: string, replace?: boolean) => void;
2
7
  export default navigateToUrl;
@@ -0,0 +1,3 @@
1
+ let navigateToUrl=(t="",e)=>{t&&history[e?"replaceState":"pushState"](history.state,"",t);};
2
+
3
+ export { navigateToUrl as default, navigateToUrl };
@@ -0,0 +1 @@
1
+ exports._default = require('./navigateWithoutUrlParam.cjs.js').default;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+ var navigateToParams = require('./navigateToParams.cjs.js');
7
+
8
+ 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)};
9
+
10
+ exports.default = navigateWithoutUrlParam;
11
+ exports.navigateWithoutUrlParam = navigateWithoutUrlParam;
@@ -0,0 +1,2 @@
1
+ export * from './navigateWithoutUrlParam.cjs.js';
2
+ export { _default as default } from './navigateWithoutUrlParam.cjs.default.js';
@@ -1,2 +1,8 @@
1
- export declare function navigateWithoutUrlParam(paramName?: string, replace?: boolean): string;
1
+ /**
2
+ * Remove URL query parameter, it uses `history`
3
+ *
4
+ * @category location
5
+ * @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
6
+ */
7
+ export declare let navigateWithoutUrlParam: (paramName?: string, replace?: boolean) => string;
2
8
  export default navigateWithoutUrlParam;
@@ -0,0 +1,6 @@
1
+ import { getUrlQueryParams } from '@koine/utils';
2
+ import { navigateToParams } from './navigateToParams.esm.js';
3
+
4
+ let navigateWithoutUrlParam=(a,e)=>{let o={},i=getUrlQueryParams();for(let t in i)t!==a&&(o[t]=i[t]);return navigateToParams(o,e)};
5
+
6
+ export { navigateWithoutUrlParam as default, navigateWithoutUrlParam };
package/package.json CHANGED
@@ -2,68 +2,140 @@
2
2
  "name": "@koine/browser",
3
3
  "sideEffects": false,
4
4
  "dependencies": {
5
- "@koine/dom": "2.0.0-beta.21",
6
- "@koine/utils": "2.0.0-beta.21"
5
+ "@koine/dom": "2.0.0-beta.211",
6
+ "@koine/utils": "2.0.0-beta.211",
7
+ "date-fns-tz": "^3.2.0"
8
+ },
9
+ "peerDependenciesMeta": {
10
+ "date-fns-tz": {
11
+ "optional": true
12
+ }
7
13
  },
8
- "types": "./index.d.ts",
9
- "type": "module",
10
- "module": "./index.js",
11
14
  "exports": {
15
+ "./package.json": "./package.json",
12
16
  ".": {
13
- "import": "./index.js"
17
+ "module": "./index.esm.js",
18
+ "types": "./index.d.ts",
19
+ "import": "./index.cjs.mjs",
20
+ "default": "./index.cjs.js"
14
21
  },
15
22
  "./createStorage": {
16
- "import": "./createStorage.js"
23
+ "module": "./createStorage.esm.js",
24
+ "types": "./createStorage.d.ts",
25
+ "import": "./createStorage.cjs.mjs",
26
+ "default": "./createStorage.cjs.js"
17
27
  },
18
28
  "./getZonedDate": {
19
- "import": "./getZonedDate.js"
29
+ "module": "./getZonedDate.esm.js",
30
+ "types": "./getZonedDate.d.ts",
31
+ "import": "./getZonedDate.cjs.mjs",
32
+ "default": "./getZonedDate.cjs.js"
33
+ },
34
+ "./gtag": {
35
+ "module": "./gtag.esm.js",
36
+ "types": "./gtag.d.ts",
37
+ "import": "./gtag.cjs.mjs",
38
+ "default": "./gtag.cjs.js"
20
39
  },
21
40
  "./gtagPageview": {
22
- "import": "./gtagPageview.js"
41
+ "module": "./gtagPageview.esm.js",
42
+ "types": "./gtagPageview.d.ts",
43
+ "import": "./gtagPageview.cjs.mjs",
44
+ "default": "./gtagPageview.cjs.js"
23
45
  },
24
46
  "./isIE": {
25
- "import": "./isIE.js"
47
+ "module": "./isIE.esm.js",
48
+ "types": "./isIE.d.ts",
49
+ "import": "./isIE.cjs.mjs",
50
+ "default": "./isIE.cjs.js"
26
51
  },
27
52
  "./isMobile": {
28
- "import": "./isMobile.js"
53
+ "module": "./isMobile.esm.js",
54
+ "types": "./isMobile.d.ts",
55
+ "import": "./isMobile.cjs.mjs",
56
+ "default": "./isMobile.cjs.js"
57
+ },
58
+ "./isWindowInsideIframe": {
59
+ "module": "./isWindowInsideIframe.esm.js",
60
+ "types": "./isWindowInsideIframe.d.ts",
61
+ "import": "./isWindowInsideIframe.cjs.mjs",
62
+ "default": "./isWindowInsideIframe.cjs.js"
29
63
  },
30
64
  "./listenUrlSearch": {
31
- "import": "./listenUrlSearch.js"
65
+ "module": "./listenUrlSearch.esm.js",
66
+ "types": "./listenUrlSearch.d.ts",
67
+ "import": "./listenUrlSearch.cjs.mjs",
68
+ "default": "./listenUrlSearch.cjs.js"
32
69
  },
33
70
  "./listenUrlSearchParams": {
34
- "import": "./listenUrlSearchParams.js"
71
+ "module": "./listenUrlSearchParams.esm.js",
72
+ "types": "./listenUrlSearchParams.d.ts",
73
+ "import": "./listenUrlSearchParams.cjs.mjs",
74
+ "default": "./listenUrlSearchParams.cjs.js"
35
75
  },
36
76
  "./navigateToHash": {
37
- "import": "./navigateToHash.js"
77
+ "module": "./navigateToHash.esm.js",
78
+ "types": "./navigateToHash.d.ts",
79
+ "import": "./navigateToHash.cjs.mjs",
80
+ "default": "./navigateToHash.cjs.js"
38
81
  },
39
82
  "./navigateToHashParams": {
40
- "import": "./navigateToHashParams.js"
83
+ "module": "./navigateToHashParams.esm.js",
84
+ "types": "./navigateToHashParams.d.ts",
85
+ "import": "./navigateToHashParams.cjs.mjs",
86
+ "default": "./navigateToHashParams.cjs.js"
41
87
  },
42
88
  "./navigateToMergedHashParams": {
43
- "import": "./navigateToMergedHashParams.js"
89
+ "module": "./navigateToMergedHashParams.esm.js",
90
+ "types": "./navigateToMergedHashParams.d.ts",
91
+ "import": "./navigateToMergedHashParams.cjs.mjs",
92
+ "default": "./navigateToMergedHashParams.cjs.js"
44
93
  },
45
94
  "./navigateToMergedParams": {
46
- "import": "./navigateToMergedParams.js"
95
+ "module": "./navigateToMergedParams.esm.js",
96
+ "types": "./navigateToMergedParams.d.ts",
97
+ "import": "./navigateToMergedParams.cjs.mjs",
98
+ "default": "./navigateToMergedParams.cjs.js"
47
99
  },
48
100
  "./navigateToParams": {
49
- "import": "./navigateToParams.js"
101
+ "module": "./navigateToParams.esm.js",
102
+ "types": "./navigateToParams.d.ts",
103
+ "import": "./navigateToParams.cjs.mjs",
104
+ "default": "./navigateToParams.cjs.js"
50
105
  },
51
106
  "./navigateToUrl": {
52
- "import": "./navigateToUrl.js"
107
+ "module": "./navigateToUrl.esm.js",
108
+ "types": "./navigateToUrl.d.ts",
109
+ "import": "./navigateToUrl.cjs.mjs",
110
+ "default": "./navigateToUrl.cjs.js"
53
111
  },
54
112
  "./navigateWithoutUrlParam": {
55
- "import": "./navigateWithoutUrlParam.js"
113
+ "module": "./navigateWithoutUrlParam.esm.js",
114
+ "types": "./navigateWithoutUrlParam.d.ts",
115
+ "import": "./navigateWithoutUrlParam.cjs.mjs",
116
+ "default": "./navigateWithoutUrlParam.cjs.js"
56
117
  },
57
118
  "./redirectTo": {
58
- "import": "./redirectTo.js"
119
+ "module": "./redirectTo.esm.js",
120
+ "types": "./redirectTo.d.ts",
121
+ "import": "./redirectTo.cjs.mjs",
122
+ "default": "./redirectTo.cjs.js"
59
123
  },
60
124
  "./storage": {
61
- "import": "./storage.js"
125
+ "module": "./storage.esm.js",
126
+ "types": "./storage.d.ts",
127
+ "import": "./storage.cjs.mjs",
128
+ "default": "./storage.cjs.js"
62
129
  },
63
130
  "./storageClient": {
64
- "import": "./storageClient.js"
131
+ "module": "./storageClient.esm.js",
132
+ "types": "./storageClient.d.ts",
133
+ "import": "./storageClient.cjs.mjs",
134
+ "default": "./storageClient.cjs.js"
65
135
  }
66
136
  },
67
- "peerDependencies": {},
68
- "version": "2.0.0-beta.21"
137
+ "module": "./index.esm.js",
138
+ "main": "./index.cjs.js",
139
+ "types": "./index.d.ts",
140
+ "version": "2.0.0-beta.211"
69
141
  }
@@ -0,0 +1 @@
1
+ exports._default = require('./redirectTo.cjs.js').default;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+
7
+ let redirectTo=(t,o)=>{if(utils.isBrowser){let r=utils.buildUrlQueryString(o);location.href=t.replace(/\?+$/g,"")+r;}};
8
+
9
+ exports.default = redirectTo;
10
+ exports.redirectTo = redirectTo;
@@ -0,0 +1,2 @@
1
+ export * from './redirectTo.cjs.js';
2
+ export { _default as default } from './redirectTo.cjs.default.js';
package/redirectTo.d.ts CHANGED
@@ -1,3 +1,9 @@
1
1
  import { type AnyQueryParams } from "@koine/utils";
2
- export declare function redirectTo(url: string, params?: AnyQueryParams): void;
2
+ /**
3
+ * Redirect to url with params {optionally}, removes eventual trailing question
4
+ * marks from the given URL, it uses `location`
5
+ *
6
+ * @category location
7
+ */
8
+ export declare let redirectTo: (url: string, params?: AnyQueryParams) => void;
3
9
  export default redirectTo;
@@ -0,0 +1,5 @@
1
+ import { isBrowser, buildUrlQueryString } from '@koine/utils';
2
+
3
+ let redirectTo=(t,o)=>{if(isBrowser){let r=buildUrlQueryString(o);location.href=t.replace(/\?+$/g,"")+r;}};
4
+
5
+ export { redirectTo as default, redirectTo };
@@ -0,0 +1 @@
1
+ exports._default = require('./storage.cjs.js').default;
package/storage.cjs.js ADDED
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var storageClient = require('./storageClient.cjs.js');
6
+
7
+ let storage={l:storageClient.storageClient(),s:storageClient.storageClient(true)};
8
+
9
+ exports.default = storage;
10
+ exports.storage = storage;
@@ -0,0 +1,2 @@
1
+ export * from './storage.cjs.js';
2
+ export { _default as default } from './storage.cjs.default.js';
package/storage.d.ts CHANGED
@@ -1,15 +1,20 @@
1
- export declare const storage: {
1
+ /**
2
+ * Storage, for `localStorage` and `sessionStorage`
3
+ *
4
+ * @category storage
5
+ */
6
+ export declare let storage: {
2
7
  l: {
3
8
  get: <TKey extends string, TValue = any>(key: TKey, transform?: ((value: string) => TValue) | undefined, defaultValue?: TValue | null | undefined) => NonNullable<TValue> | null;
4
- set: <TKey_1 extends string, TValue_1 = any>(key: TKey_1, value?: TValue_1 | undefined, transform?: (value: any) => string) => void;
5
- remove: <TKey_2 extends string>(key: TKey_2) => void;
6
- has: <TKey_3 extends string, TValue_2 = any>(key: TKey_3, defaultValue?: TValue_2 | undefined) => boolean | NonNullable<TValue_2>;
9
+ set: <TKey extends string, TValue = any>(key: TKey, value?: TValue | undefined, transform?: (value: any) => string) => void;
10
+ remove: <TKey extends string>(key: TKey) => void;
11
+ has: <TKey extends string, TValue = any>(key: TKey, defaultValue?: TValue | undefined) => boolean | NonNullable<TValue>;
7
12
  };
8
13
  s: {
9
14
  get: <TKey extends string, TValue = any>(key: TKey, transform?: ((value: string) => TValue) | undefined, defaultValue?: TValue | null | undefined) => NonNullable<TValue> | null;
10
- set: <TKey_1 extends string, TValue_1 = any>(key: TKey_1, value?: TValue_1 | undefined, transform?: (value: any) => string) => void;
11
- remove: <TKey_2 extends string>(key: TKey_2) => void;
12
- has: <TKey_3 extends string, TValue_2 = any>(key: TKey_3, defaultValue?: TValue_2 | undefined) => boolean | NonNullable<TValue_2>;
15
+ set: <TKey extends string, TValue = any>(key: TKey, value?: TValue | undefined, transform?: (value: any) => string) => void;
16
+ remove: <TKey extends string>(key: TKey) => void;
17
+ has: <TKey extends string, TValue = any>(key: TKey, defaultValue?: TValue | undefined) => boolean | NonNullable<TValue>;
13
18
  };
14
19
  };
15
20
  export default storage;
package/storage.esm.js ADDED
@@ -0,0 +1,5 @@
1
+ import { storageClient } from './storageClient.esm.js';
2
+
3
+ let storage={l:storageClient(),s:storageClient(true)};
4
+
5
+ export { storage as default, storage };
@@ -0,0 +1 @@
1
+ exports._default = require('./storageClient.cjs.js').default;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+
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??false;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)??false),s}}};
8
+
9
+ exports.default = storageClient;
10
+ exports.storageClient = storageClient;
@@ -0,0 +1,2 @@
1
+ export * from './storageClient.cjs.js';
2
+ export { _default as default } from './storageClient.cjs.default.js';
@@ -1,8 +1,16 @@
1
+ /**
2
+ * @category storage
3
+ */
1
4
  export type StorageClientConfig = Record<string, any>;
2
- export declare const 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?: TValue | null | undefined) => NonNullable<TValue> | null;
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
- remove: <TKey_2 extends Extract<keyof TConfig, string>>(key: TKey_2) => void;
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>;
5
+ /**
6
+ * Super minifiable `local/session Storage` client creator with SSR safety
7
+ *
8
+ * @category storage
9
+ */
10
+ export declare let storageClient: <TConfig extends StorageClientConfig = StorageClientConfig>(useSessionStorage?: boolean) => {
11
+ get: <TKey extends Extract<keyof TConfig, string>, TValue = TConfig[TKey]>(key: TKey, transform?: (value: string) => TValue, defaultValue?: null | TValue) => NonNullable<TValue> | null;
12
+ set: <TKey extends Extract<keyof TConfig, string>, TValue_1 = TConfig[TKey]>(key: TKey, value?: TValue_1, transform?: (value: any) => string) => void;
13
+ remove: <TKey extends Extract<keyof TConfig, string>>(key: TKey) => void;
14
+ has: <TKey extends Extract<keyof TConfig, string>, TValue_2 = TConfig[TKey]>(key: TKey, defaultValue?: TValue_2) => boolean | NonNullable<TValue_2>;
7
15
  };
8
16
  export default storageClient;
@@ -0,0 +1,5 @@
1
+ import { isBrowser, isString } from '@koine/utils';
2
+
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??false;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)??false),s}}};
4
+
5
+ export { storageClient as default, storageClient };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
package/createStorage.js DELETED
@@ -1,97 +0,0 @@
1
- import { __assign } from "tslib";
2
- import { decode, encode, isBrowser, isNullOrUndefined, noop, } from "@koine/utils";
3
- import { on } from "@koine/dom";
4
- import storage from "./storage.js";
5
- export var createStorage = function (config, useSessionStorage) {
6
- var client = useSessionStorage ? storage.s : storage.l;
7
- var keys = Object.keys(config).reduce(function (map, key) {
8
- var _a;
9
- return (__assign(__assign({}, map), (_a = {}, _a[key] = encode(key), _a)));
10
- }, {});
11
- return {
12
- get: function (key, defaultValue) {
13
- return client.get(keys[key], decode, defaultValue);
14
- },
15
- getAll: function (defaultValues) {
16
- if (!isBrowser) {
17
- if (process.env["NODE_ENV"] === "development") {
18
- console.log("[@koine/utils:createStorage] attempt to use 'getAll' outside of browser.");
19
- }
20
- return {};
21
- }
22
- var all = {};
23
- for (var key in keys) {
24
- var value = this.get(key);
25
- var defaultValue = defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues[key];
26
- if (!isNullOrUndefined(value)) {
27
- all[key] = value;
28
- }
29
- else if (defaultValue) {
30
- all[key] = defaultValue;
31
- }
32
- }
33
- return all;
34
- },
35
- set: function (key, value) {
36
- client.set(keys[key], value, encode);
37
- },
38
- setMany: function (newValues) {
39
- if (process.env["NODE_ENV"] === "development") {
40
- if (!isBrowser) {
41
- console.log("[@koine/utils:createStorage] attempt to use 'setMany' outside of browser.");
42
- }
43
- }
44
- if (isBrowser) {
45
- for (var key in newValues) {
46
- var value = newValues[key];
47
- if (!isNullOrUndefined(value)) {
48
- this.set(key, value);
49
- }
50
- else {
51
- this.remove(key);
52
- }
53
- }
54
- }
55
- },
56
- has: function (key) {
57
- return client.has(keys[key]);
58
- },
59
- remove: function (key) {
60
- client.remove(keys[key]);
61
- },
62
- clear: function () {
63
- if (process.env["NODE_ENV"] === "development") {
64
- if (!isBrowser) {
65
- console.log("[@koine/utils:createStorage] attempt to use 'clear' outside of browser.");
66
- }
67
- }
68
- if (isBrowser) {
69
- for (var key in keys) {
70
- client.remove(keys[key]);
71
- }
72
- }
73
- },
74
- watch: function (keyToWatch, onRemoved, onAdded) {
75
- if (!isBrowser) {
76
- if (process.env["NODE_ENV"] === "development") {
77
- console.log("[@koine/utils:createStorage] attempt to use 'watch' outside of browser.");
78
- }
79
- return noop;
80
- }
81
- var handler = function (event) {
82
- var key = event.key, oldValue = event.oldValue, newValue = event.newValue;
83
- if (key === keys[keyToWatch]) {
84
- if (oldValue && !newValue) {
85
- onRemoved === null || onRemoved === void 0 ? void 0 : onRemoved();
86
- }
87
- else if (!oldValue && newValue) {
88
- onAdded === null || onAdded === void 0 ? void 0 : onAdded();
89
- }
90
- }
91
- };
92
- var listener = on(window, "storage", handler);
93
- return listener;
94
- },
95
- };
96
- };
97
- export default createStorage;
package/getZonedDate.js DELETED
@@ -1,21 +0,0 @@
1
- import utcToZonedTime from "date-fns-tz/utcToZonedTime";
2
- import { isBrowser } from "@koine/utils";
3
- export function getZonedDate(dateString, timeZone) {
4
- if (dateString === void 0) { dateString = ""; }
5
- if (!dateString.endsWith("Z"))
6
- dateString += "Z";
7
- if (!timeZone && isBrowser) {
8
- try {
9
- timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
10
- }
11
- catch (e) {
12
- if (process.env["NODE_ENV"] === "development") {
13
- console.warn("[@koine/utils:getZonedDate] failed reading timeZone, error", e);
14
- }
15
- }
16
- }
17
- return timeZone
18
- ? utcToZonedTime(new Date(dateString), timeZone)
19
- : new Date(dateString);
20
- }
21
- export default getZonedDate;