@bleedingdev/modern-js-runtime-utils 3.2.0-ultramodern.0

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 (109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -0
  3. package/dist/cjs/browser/deferreds.js +161 -0
  4. package/dist/cjs/browser/index.js +65 -0
  5. package/dist/cjs/browser/nestedRoutes.js +141 -0
  6. package/dist/cjs/merge.js +60 -0
  7. package/dist/cjs/node/fileReader.js +94 -0
  8. package/dist/cjs/node/index.js +99 -0
  9. package/dist/cjs/node/loaderContext/createLoaderCtx.js +51 -0
  10. package/dist/cjs/node/loaderContext/createRequestCtx.js +50 -0
  11. package/dist/cjs/node/loaderContext/index.js +41 -0
  12. package/dist/cjs/node/nestedRoutes.js +58 -0
  13. package/dist/cjs/node/sanitize.js +103 -0
  14. package/dist/cjs/node/serialize.js +49 -0
  15. package/dist/cjs/node/storer/container.js +72 -0
  16. package/dist/cjs/node/storer/index.js +44 -0
  17. package/dist/cjs/node/storer/storage.js +87 -0
  18. package/dist/cjs/parsed.js +46 -0
  19. package/dist/cjs/router.js +91 -0
  20. package/dist/cjs/rsc.js +58 -0
  21. package/dist/cjs/server/index.js +58 -0
  22. package/dist/cjs/server/nestedRoutes.js +49 -0
  23. package/dist/cjs/time.js +61 -0
  24. package/dist/cjs/universal/async_storage.js +58 -0
  25. package/dist/cjs/universal/async_storage.server.js +69 -0
  26. package/dist/cjs/universal/cache.js +381 -0
  27. package/dist/cjs/universal/request.js +86 -0
  28. package/dist/cjs/url.js +39 -0
  29. package/dist/esm/browser/deferreds.mjs +118 -0
  30. package/dist/esm/browser/index.mjs +2 -0
  31. package/dist/esm/browser/nestedRoutes.mjs +104 -0
  32. package/dist/esm/merge.mjs +26 -0
  33. package/dist/esm/node/fileReader.mjs +47 -0
  34. package/dist/esm/node/index.mjs +5 -0
  35. package/dist/esm/node/loaderContext/createLoaderCtx.mjs +14 -0
  36. package/dist/esm/node/loaderContext/createRequestCtx.mjs +16 -0
  37. package/dist/esm/node/loaderContext/index.mjs +4 -0
  38. package/dist/esm/node/nestedRoutes.mjs +1 -0
  39. package/dist/esm/node/sanitize.mjs +66 -0
  40. package/dist/esm/node/serialize.mjs +5 -0
  41. package/dist/esm/node/storer/container.mjs +38 -0
  42. package/dist/esm/node/storer/index.mjs +7 -0
  43. package/dist/esm/node/storer/storage.mjs +53 -0
  44. package/dist/esm/parsed.mjs +12 -0
  45. package/dist/esm/router.mjs +18 -0
  46. package/dist/esm/rsc.mjs +1 -0
  47. package/dist/esm/server/index.mjs +1 -0
  48. package/dist/esm/server/nestedRoutes.mjs +15 -0
  49. package/dist/esm/time.mjs +27 -0
  50. package/dist/esm/universal/async_storage.mjs +7 -0
  51. package/dist/esm/universal/async_storage.server.mjs +32 -0
  52. package/dist/esm/universal/cache.mjs +326 -0
  53. package/dist/esm/universal/request.mjs +40 -0
  54. package/dist/esm/url.mjs +5 -0
  55. package/dist/esm-node/browser/deferreds.mjs +119 -0
  56. package/dist/esm-node/browser/index.mjs +3 -0
  57. package/dist/esm-node/browser/nestedRoutes.mjs +105 -0
  58. package/dist/esm-node/merge.mjs +27 -0
  59. package/dist/esm-node/node/fileReader.mjs +48 -0
  60. package/dist/esm-node/node/index.mjs +6 -0
  61. package/dist/esm-node/node/loaderContext/createLoaderCtx.mjs +15 -0
  62. package/dist/esm-node/node/loaderContext/createRequestCtx.mjs +17 -0
  63. package/dist/esm-node/node/loaderContext/index.mjs +5 -0
  64. package/dist/esm-node/node/nestedRoutes.mjs +2 -0
  65. package/dist/esm-node/node/sanitize.mjs +67 -0
  66. package/dist/esm-node/node/serialize.mjs +6 -0
  67. package/dist/esm-node/node/storer/container.mjs +39 -0
  68. package/dist/esm-node/node/storer/index.mjs +8 -0
  69. package/dist/esm-node/node/storer/storage.mjs +54 -0
  70. package/dist/esm-node/parsed.mjs +13 -0
  71. package/dist/esm-node/router.mjs +19 -0
  72. package/dist/esm-node/rsc.mjs +2 -0
  73. package/dist/esm-node/server/index.mjs +2 -0
  74. package/dist/esm-node/server/nestedRoutes.mjs +16 -0
  75. package/dist/esm-node/time.mjs +28 -0
  76. package/dist/esm-node/universal/async_storage.mjs +25 -0
  77. package/dist/esm-node/universal/async_storage.server.mjs +33 -0
  78. package/dist/esm-node/universal/cache.mjs +327 -0
  79. package/dist/esm-node/universal/request.mjs +41 -0
  80. package/dist/esm-node/url.mjs +6 -0
  81. package/dist/types/browser/deferreds.d.ts +31 -0
  82. package/dist/types/browser/index.d.ts +2 -0
  83. package/dist/types/browser/nestedRoutes.d.ts +12 -0
  84. package/dist/types/merge.d.ts +6 -0
  85. package/dist/types/node/fileReader.d.ts +19 -0
  86. package/dist/types/node/index.d.ts +8 -0
  87. package/dist/types/node/loaderContext/createLoaderCtx.d.ts +7 -0
  88. package/dist/types/node/loaderContext/createRequestCtx.d.ts +16 -0
  89. package/dist/types/node/loaderContext/index.d.ts +4 -0
  90. package/dist/types/node/nestedRoutes.d.ts +1 -0
  91. package/dist/types/node/sanitize.d.ts +11 -0
  92. package/dist/types/node/serialize.d.ts +1 -0
  93. package/dist/types/node/storer/container.d.ts +27 -0
  94. package/dist/types/node/storer/index.d.ts +3 -0
  95. package/dist/types/node/storer/storage.d.ts +26 -0
  96. package/dist/types/parsed.d.ts +1 -0
  97. package/dist/types/router.d.ts +6 -0
  98. package/dist/types/rsc.d.ts +1 -0
  99. package/dist/types/server/index.d.ts +1 -0
  100. package/dist/types/server/nestedRoutes.d.ts +2 -0
  101. package/dist/types/time.d.ts +1 -0
  102. package/dist/types/universal/async_storage.d.ts +2 -0
  103. package/dist/types/universal/async_storage.server.d.ts +29 -0
  104. package/dist/types/universal/cache.d.ts +68 -0
  105. package/dist/types/universal/request.d.ts +17 -0
  106. package/dist/types/url.d.ts +11 -0
  107. package/package.json +197 -0
  108. package/rslib.config.mts +28 -0
  109. package/rstest.config.mts +26 -0
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ LoaderContext: ()=>LoaderContext,
28
+ createLoaderContext: ()=>createLoaderContext
29
+ });
30
+ class LoaderContext {
31
+ getDefaultValue() {
32
+ if (!this.defaultValue) throw new Error("Can't get defaultValue before initialed");
33
+ return this.defaultValue;
34
+ }
35
+ constructor(defaultValue){
36
+ this.defaultValue = defaultValue;
37
+ this.symbol = Symbol('loaderContext');
38
+ }
39
+ }
40
+ function createLoaderContext(defaultValue) {
41
+ return new LoaderContext(defaultValue);
42
+ }
43
+ exports.LoaderContext = __webpack_exports__.LoaderContext;
44
+ exports.createLoaderContext = __webpack_exports__.createLoaderContext;
45
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
46
+ "LoaderContext",
47
+ "createLoaderContext"
48
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
49
+ Object.defineProperty(exports, '__esModule', {
50
+ value: true
51
+ });
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ createRequestContext: ()=>createRequestContext
28
+ });
29
+ function createRequestContext(context) {
30
+ const _context = context || new Map();
31
+ function get(key) {
32
+ if ('string' == typeof key) return _context.get(key);
33
+ return _context.get(key.symbol) || key.getDefaultValue();
34
+ }
35
+ function set(key, value) {
36
+ if ('string' == typeof key) _context.set(key, value);
37
+ else _context.set(key.symbol, value);
38
+ }
39
+ return {
40
+ set,
41
+ get
42
+ };
43
+ }
44
+ exports.createRequestContext = __webpack_exports__.createRequestContext;
45
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
46
+ "createRequestContext"
47
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
48
+ Object.defineProperty(exports, '__esModule', {
49
+ value: true
50
+ });
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ createRequestContext: ()=>external_createRequestCtx_js_namespaceObject.createRequestContext,
28
+ reporterCtx: ()=>reporterCtx
29
+ });
30
+ const external_createLoaderCtx_js_namespaceObject = require("./createLoaderCtx.js");
31
+ const external_createRequestCtx_js_namespaceObject = require("./createRequestCtx.js");
32
+ const reporterCtx = (0, external_createLoaderCtx_js_namespaceObject.createLoaderContext)();
33
+ exports.createRequestContext = __webpack_exports__.createRequestContext;
34
+ exports.reporterCtx = __webpack_exports__.reporterCtx;
35
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
36
+ "createRequestContext",
37
+ "reporterCtx"
38
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
39
+ Object.defineProperty(exports, '__esModule', {
40
+ value: true
41
+ });
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __webpack_modules__ = {
3
+ "../server/nestedRoutes" (module) {
4
+ module.exports = require("../server/nestedRoutes.js");
5
+ }
6
+ };
7
+ var __webpack_module_cache__ = {};
8
+ function __webpack_require__(moduleId) {
9
+ var cachedModule = __webpack_module_cache__[moduleId];
10
+ if (void 0 !== cachedModule) return cachedModule.exports;
11
+ var module = __webpack_module_cache__[moduleId] = {
12
+ exports: {}
13
+ };
14
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
15
+ return module.exports;
16
+ }
17
+ (()=>{
18
+ __webpack_require__.n = (module)=>{
19
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
20
+ __webpack_require__.d(getter, {
21
+ a: getter
22
+ });
23
+ return getter;
24
+ };
25
+ })();
26
+ (()=>{
27
+ __webpack_require__.d = (exports1, definition)=>{
28
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
29
+ enumerable: true,
30
+ get: definition[key]
31
+ });
32
+ };
33
+ })();
34
+ (()=>{
35
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
36
+ })();
37
+ (()=>{
38
+ __webpack_require__.r = (exports1)=>{
39
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
40
+ value: 'Module'
41
+ });
42
+ Object.defineProperty(exports1, '__esModule', {
43
+ value: true
44
+ });
45
+ };
46
+ })();
47
+ var __webpack_exports__ = {};
48
+ (()=>{
49
+ __webpack_require__.r(__webpack_exports__);
50
+ var _server_nestedRoutes__rspack_import_0 = __webpack_require__("../server/nestedRoutes");
51
+ var __rspack_reexport = {};
52
+ for(const __rspack_import_key in _server_nestedRoutes__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_server_nestedRoutes__rspack_import_0[__rspack_import_key];
53
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
54
+ })();
55
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
56
+ Object.defineProperty(exports, '__esModule', {
57
+ value: true
58
+ });
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ DEFAULT_UNSAFE_SSR_HEADERS: ()=>DEFAULT_UNSAFE_SSR_HEADERS,
28
+ sanitizeSSRPayload: ()=>sanitizeSSRPayload
29
+ });
30
+ const DEFAULT_UNSAFE_SSR_HEADERS = [
31
+ 'authorization',
32
+ 'proxy-authorization',
33
+ 'cookie',
34
+ 'set-cookie',
35
+ 'x-api-key',
36
+ 'x-auth-token',
37
+ 'x-csrf-token',
38
+ 'x-xsrf-token',
39
+ 'x-forwarded-client-cert',
40
+ 'cf-access-jwt-assertion'
41
+ ];
42
+ const isPlainObject = (value)=>{
43
+ if (null === value || 'object' != typeof value) return false;
44
+ const proto = Object.getPrototypeOf(value);
45
+ return null === proto || proto === Object.prototype;
46
+ };
47
+ const isHeaderContainerKey = (key)=>{
48
+ const normalized = key.toLowerCase();
49
+ return 'headers' === normalized || normalized.endsWith('headers');
50
+ };
51
+ const normalizeHeaderName = (header)=>header.trim().toLowerCase();
52
+ const createUnsafeHeaderSet = (unsafeHeaders = [])=>{
53
+ const headers = new Set(DEFAULT_UNSAFE_SSR_HEADERS);
54
+ for (const header of unsafeHeaders){
55
+ const normalized = normalizeHeaderName(header);
56
+ if (normalized) headers.add(normalized);
57
+ }
58
+ return headers;
59
+ };
60
+ const sanitizeSSRPayload = (payload, options = {})=>{
61
+ const removed = [];
62
+ const visited = new WeakMap();
63
+ const unsafeHeaderSet = createUnsafeHeaderSet(options.unsafeHeaders);
64
+ const walk = (value, path, insideHeaderContainer)=>{
65
+ if (Array.isArray(value)) {
66
+ const cached = visited.get(value);
67
+ if (cached) return cached;
68
+ const next = [];
69
+ visited.set(value, next);
70
+ value.forEach((item, index)=>{
71
+ next.push(walk(item, `${path}[${index}]`, insideHeaderContainer));
72
+ });
73
+ return next;
74
+ }
75
+ if (!isPlainObject(value)) return value;
76
+ const cached = visited.get(value);
77
+ if (cached) return cached;
78
+ const next = {};
79
+ visited.set(value, next);
80
+ for (const [key, currentValue] of Object.entries(value)){
81
+ const nextPath = path ? `${path}.${key}` : key;
82
+ if (insideHeaderContainer && unsafeHeaderSet.has(normalizeHeaderName(key))) {
83
+ removed.push(nextPath);
84
+ continue;
85
+ }
86
+ next[key] = walk(currentValue, nextPath, isHeaderContainerKey(key));
87
+ }
88
+ return next;
89
+ };
90
+ return {
91
+ payload: walk(payload, '', options.treatRootAsHeaders ?? false),
92
+ removed
93
+ };
94
+ };
95
+ exports.DEFAULT_UNSAFE_SSR_HEADERS = __webpack_exports__.DEFAULT_UNSAFE_SSR_HEADERS;
96
+ exports.sanitizeSSRPayload = __webpack_exports__.sanitizeSSRPayload;
97
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
98
+ "DEFAULT_UNSAFE_SSR_HEADERS",
99
+ "sanitizeSSRPayload"
100
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
101
+ Object.defineProperty(exports, '__esModule', {
102
+ value: true
103
+ });
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ serializeJson: ()=>serializeJson
37
+ });
38
+ const external_serialize_javascript_namespaceObject = require("serialize-javascript");
39
+ var external_serialize_javascript_default = /*#__PURE__*/ __webpack_require__.n(external_serialize_javascript_namespaceObject);
40
+ const serializeJson = (data)=>external_serialize_javascript_default()(data, {
41
+ isJSON: true
42
+ });
43
+ exports.serializeJson = __webpack_exports__.serializeJson;
44
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
45
+ "serializeJson"
46
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
47
+ Object.defineProperty(exports, '__esModule', {
48
+ value: true
49
+ });
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ MemoryContainer: ()=>MemoryContainer
28
+ });
29
+ const external_lru_cache_namespaceObject = require("lru-cache");
30
+ class MemoryContainer {
31
+ async get(key) {
32
+ return this.cache.get(key);
33
+ }
34
+ async set(key, value) {
35
+ this.cache.set(key, value);
36
+ return this;
37
+ }
38
+ async has(key) {
39
+ return this.cache.has(key);
40
+ }
41
+ async delete(key) {
42
+ const exist = await this.has(key);
43
+ if (exist) this.cache.delete(key);
44
+ return exist;
45
+ }
46
+ forEach(callbackFn) {
47
+ this.cache.forEach((value, key)=>{
48
+ callbackFn(value, key, this);
49
+ });
50
+ }
51
+ constructor({ max, maxAge } = {}){
52
+ this.cache = new external_lru_cache_namespaceObject.LRUCache({
53
+ maxSize: (max || 256) * MemoryContainer.MB,
54
+ ttl: maxAge || MemoryContainer.hour,
55
+ sizeCalculation: (value, key)=>JSON.stringify(value).length
56
+ });
57
+ }
58
+ }
59
+ MemoryContainer.BYTE = 1;
60
+ MemoryContainer.KB = 1024 * MemoryContainer.BYTE;
61
+ MemoryContainer.MB = 1024 * MemoryContainer.KB;
62
+ MemoryContainer.ms = 1;
63
+ MemoryContainer.second = 1000 * MemoryContainer.ms;
64
+ MemoryContainer.minute = 60 * MemoryContainer.second;
65
+ MemoryContainer.hour = 60 * MemoryContainer.minute;
66
+ exports.MemoryContainer = __webpack_exports__.MemoryContainer;
67
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
68
+ "MemoryContainer"
69
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
70
+ Object.defineProperty(exports, '__esModule', {
71
+ value: true
72
+ });
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ Storage: ()=>external_storage_js_namespaceObject.Storage,
28
+ createMemoryStorage: ()=>createMemoryStorage
29
+ });
30
+ const external_container_js_namespaceObject = require("./container.js");
31
+ const external_storage_js_namespaceObject = require("./storage.js");
32
+ const memoryContainer = new external_container_js_namespaceObject.MemoryContainer();
33
+ function createMemoryStorage(namespace) {
34
+ return new external_storage_js_namespaceObject.Storage(namespace, memoryContainer);
35
+ }
36
+ exports.Storage = __webpack_exports__.Storage;
37
+ exports.createMemoryStorage = __webpack_exports__.createMemoryStorage;
38
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
39
+ "Storage",
40
+ "createMemoryStorage"
41
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
42
+ Object.defineProperty(exports, '__esModule', {
43
+ value: true
44
+ });
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ Storage: ()=>Storage
28
+ });
29
+ class Storage {
30
+ async keys() {
31
+ const _keys = [];
32
+ this.forEach?.((_, k)=>{
33
+ _keys.push(k);
34
+ });
35
+ return _keys;
36
+ }
37
+ async values() {
38
+ const _values = [];
39
+ this.forEach?.((v)=>{
40
+ _values.push(v);
41
+ });
42
+ return _values;
43
+ }
44
+ get(key) {
45
+ const uniqueKey = this.computedUniqueKey(key);
46
+ return this.container.get(uniqueKey);
47
+ }
48
+ async set(key, value) {
49
+ const uniqueKey = this.computedUniqueKey(key);
50
+ await this.container.set(uniqueKey, value);
51
+ return this;
52
+ }
53
+ has(key) {
54
+ const uniqueKey = this.computedUniqueKey(key);
55
+ return this.container.has(uniqueKey);
56
+ }
57
+ delete(key) {
58
+ const uniqueKey = this.computedUniqueKey(key);
59
+ return this.container.delete(uniqueKey);
60
+ }
61
+ async clear() {
62
+ const keys = await this.keys?.();
63
+ await Promise.all(keys?.map(async (key)=>this.container.delete(key)) || []);
64
+ }
65
+ forEach(fallbackFn) {
66
+ this.container.forEach?.((v, k)=>{
67
+ if (this.checkIsOwnkey(k)) fallbackFn(v, k, this);
68
+ });
69
+ }
70
+ computedUniqueKey(k) {
71
+ return `${this.namespace}:${k}`;
72
+ }
73
+ checkIsOwnkey(k) {
74
+ return k.startsWith(this.namespace);
75
+ }
76
+ constructor(namespace, container){
77
+ this.namespace = namespace;
78
+ this.container = container;
79
+ }
80
+ }
81
+ exports.Storage = __webpack_exports__.Storage;
82
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
83
+ "Storage"
84
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
85
+ Object.defineProperty(exports, '__esModule', {
86
+ value: true
87
+ });
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ parsedJSONFromElement: ()=>parsedJSONFromElement
28
+ });
29
+ const parsedJSONFromElement = (id)=>{
30
+ const elements = document.querySelectorAll(`#${id}`);
31
+ if (0 === elements.length) return;
32
+ const element = elements[elements.length - 1];
33
+ if (element) try {
34
+ const parsed = JSON.parse(element?.textContent || '');
35
+ return parsed;
36
+ } catch (e) {
37
+ console.error(`parse ${id} error`, e);
38
+ }
39
+ };
40
+ exports.parsedJSONFromElement = __webpack_exports__.parsedJSONFromElement;
41
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
42
+ "parsedJSONFromElement"
43
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
44
+ Object.defineProperty(exports, '__esModule', {
45
+ value: true
46
+ });