@modern-js/runtime-utils 2.69.5 → 3.0.0-alpha.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 (135) hide show
  1. package/dist/cjs/browser/deferreds.js +141 -145
  2. package/dist/cjs/browser/index.js +62 -21
  3. package/dist/cjs/browser/nestedRoutes.js +121 -147
  4. package/dist/cjs/merge.js +51 -44
  5. package/dist/cjs/node/fileReader.js +88 -97
  6. package/dist/cjs/node/index.js +87 -33
  7. package/dist/cjs/node/loaderContext/createLoaderCtx.js +43 -36
  8. package/dist/cjs/node/loaderContext/createRequestCtx.js +43 -41
  9. package/dist/cjs/node/loaderContext/index.js +38 -29
  10. package/dist/cjs/node/serialize.js +46 -40
  11. package/dist/cjs/node/storer/container.js +62 -58
  12. package/dist/cjs/node/storer/index.js +39 -31
  13. package/dist/cjs/node/storer/storage.js +82 -92
  14. package/dist/cjs/node/stream.js +89 -91
  15. package/dist/cjs/parsed.js +40 -38
  16. package/dist/cjs/router.js +88 -19
  17. package/dist/cjs/rsc.js +58 -0
  18. package/dist/cjs/server/index.js +55 -19
  19. package/dist/cjs/server/nestedRoutes.js +43 -39
  20. package/dist/cjs/time.js +53 -47
  21. package/dist/cjs/universal/async_storage.js +53 -37
  22. package/dist/cjs/universal/async_storage.server.js +63 -74
  23. package/dist/cjs/universal/cache.js +330 -381
  24. package/dist/cjs/universal/request.js +73 -65
  25. package/dist/cjs/url.js +33 -28
  26. package/dist/esm/browser/deferreds.mjs +118 -0
  27. package/dist/esm/browser/nestedRoutes.mjs +104 -0
  28. package/dist/esm/merge.mjs +26 -0
  29. package/dist/esm/node/fileReader.mjs +47 -0
  30. package/dist/{esm-node/node/index.js → esm/node/index.mjs} +2 -5
  31. package/dist/esm/node/loaderContext/createLoaderCtx.mjs +14 -0
  32. package/dist/esm/node/loaderContext/createRequestCtx.mjs +16 -0
  33. package/dist/{esm-node/node/loaderContext/index.js → esm/node/loaderContext/index.mjs} +1 -4
  34. package/dist/esm/node/serialize.mjs +5 -0
  35. package/dist/esm/node/storer/container.mjs +38 -0
  36. package/dist/{esm-node/node/storer/index.js → esm/node/storer/index.mjs} +2 -6
  37. package/dist/esm/node/storer/storage.mjs +53 -0
  38. package/dist/esm/node/stream.mjs +68 -0
  39. package/dist/esm/parsed.mjs +12 -0
  40. package/dist/esm/router.mjs +18 -0
  41. package/dist/esm/rsc.mjs +1 -0
  42. package/dist/esm/server/nestedRoutes.mjs +15 -0
  43. package/dist/esm/time.mjs +27 -0
  44. package/dist/esm/universal/async_storage.mjs +7 -0
  45. package/dist/esm/universal/async_storage.server.mjs +32 -0
  46. package/dist/esm/universal/cache.mjs +326 -0
  47. package/dist/esm/universal/request.mjs +40 -0
  48. package/dist/esm/url.mjs +5 -0
  49. package/dist/esm-node/browser/deferreds.mjs +118 -0
  50. package/dist/esm-node/browser/index.mjs +2 -0
  51. package/dist/esm-node/browser/nestedRoutes.mjs +104 -0
  52. package/dist/esm-node/merge.mjs +26 -0
  53. package/dist/esm-node/node/fileReader.mjs +47 -0
  54. package/dist/esm-node/node/index.mjs +5 -0
  55. package/dist/esm-node/node/loaderContext/createLoaderCtx.mjs +14 -0
  56. package/dist/esm-node/node/loaderContext/createRequestCtx.mjs +16 -0
  57. package/dist/esm-node/node/loaderContext/index.mjs +4 -0
  58. package/dist/esm-node/node/serialize.mjs +5 -0
  59. package/dist/esm-node/node/storer/container.mjs +38 -0
  60. package/dist/esm-node/node/storer/index.mjs +7 -0
  61. package/dist/esm-node/node/storer/storage.mjs +53 -0
  62. package/dist/esm-node/node/stream.mjs +68 -0
  63. package/dist/esm-node/parsed.mjs +12 -0
  64. package/dist/esm-node/router.mjs +18 -0
  65. package/dist/esm-node/rsc.mjs +1 -0
  66. package/dist/esm-node/server/index.mjs +1 -0
  67. package/dist/esm-node/server/nestedRoutes.mjs +15 -0
  68. package/dist/esm-node/time.mjs +27 -0
  69. package/dist/esm-node/universal/async_storage.mjs +24 -0
  70. package/dist/esm-node/universal/async_storage.server.mjs +32 -0
  71. package/dist/esm-node/universal/cache.mjs +326 -0
  72. package/dist/esm-node/universal/request.mjs +40 -0
  73. package/dist/esm-node/url.mjs +5 -0
  74. package/dist/types/browser/nestedRoutes.d.ts +2 -1
  75. package/dist/types/node/stream.d.ts +1 -1
  76. package/dist/types/router.d.ts +6 -1
  77. package/dist/types/rsc.d.ts +1 -0
  78. package/dist/types/universal/async_storage.d.ts +1 -1
  79. package/dist/types/universal/async_storage.server.d.ts +1 -1
  80. package/package.json +36 -46
  81. package/rslib.config.mts +27 -0
  82. package/rstest.config.ts +26 -0
  83. package/dist/cjs/node/router.js +0 -22
  84. package/dist/cjs/remixRouter.js +0 -43
  85. package/dist/esm/browser/deferreds.js +0 -227
  86. package/dist/esm/browser/index.js +0 -2
  87. package/dist/esm/browser/nestedRoutes.js +0 -177
  88. package/dist/esm/merge.js +0 -33
  89. package/dist/esm/node/fileReader.js +0 -140
  90. package/dist/esm/node/index.js +0 -8
  91. package/dist/esm/node/loaderContext/createLoaderCtx.js +0 -24
  92. package/dist/esm/node/loaderContext/createRequestCtx.js +0 -24
  93. package/dist/esm/node/loaderContext/index.js +0 -7
  94. package/dist/esm/node/router.js +0 -1
  95. package/dist/esm/node/serialize.js +0 -9
  96. package/dist/esm/node/storer/container.js +0 -94
  97. package/dist/esm/node/storer/index.js +0 -11
  98. package/dist/esm/node/storer/storage.js +0 -135
  99. package/dist/esm/node/stream.js +0 -87
  100. package/dist/esm/parsed.js +0 -20
  101. package/dist/esm/remixRouter.js +0 -7
  102. package/dist/esm/router.js +0 -1
  103. package/dist/esm/server/index.js +0 -1
  104. package/dist/esm/server/nestedRoutes.js +0 -23
  105. package/dist/esm/time.js +0 -32
  106. package/dist/esm/universal/async_storage.js +0 -18
  107. package/dist/esm/universal/async_storage.server.js +0 -43
  108. package/dist/esm/universal/cache.js +0 -1032
  109. package/dist/esm/universal/request.js +0 -51
  110. package/dist/esm/url.js +0 -10
  111. package/dist/esm-node/browser/deferreds.js +0 -138
  112. package/dist/esm-node/browser/nestedRoutes.js +0 -142
  113. package/dist/esm-node/merge.js +0 -29
  114. package/dist/esm-node/node/fileReader.js +0 -68
  115. package/dist/esm-node/node/loaderContext/createLoaderCtx.js +0 -19
  116. package/dist/esm-node/node/loaderContext/createRequestCtx.js +0 -24
  117. package/dist/esm-node/node/router.js +0 -1
  118. package/dist/esm-node/node/serialize.js +0 -9
  119. package/dist/esm-node/node/storer/container.js +0 -44
  120. package/dist/esm-node/node/storer/storage.js +0 -73
  121. package/dist/esm-node/node/stream.js +0 -80
  122. package/dist/esm-node/parsed.js +0 -20
  123. package/dist/esm-node/remixRouter.js +0 -7
  124. package/dist/esm-node/router.js +0 -1
  125. package/dist/esm-node/server/nestedRoutes.js +0 -21
  126. package/dist/esm-node/time.js +0 -31
  127. package/dist/esm-node/universal/async_storage.js +0 -18
  128. package/dist/esm-node/universal/async_storage.server.js +0 -45
  129. package/dist/esm-node/universal/cache.js +0 -401
  130. package/dist/esm-node/universal/request.js +0 -50
  131. package/dist/esm-node/url.js +0 -10
  132. package/dist/types/node/router.d.ts +0 -1
  133. package/dist/types/remixRouter.d.ts +0 -2
  134. /package/dist/{esm-node/browser/index.js → esm/browser/index.mjs} +0 -0
  135. /package/dist/{esm-node/server/index.js → esm/server/index.mjs} +0 -0
@@ -1,167 +1,141 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var nestedRoutes_exports = {};
20
- __export(nestedRoutes_exports, {
21
- renderNestedRoute: () => renderNestedRoute,
22
- transformNestedRoutes: () => transformNestedRoutes
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
+ transformNestedRoutes: ()=>transformNestedRoutes,
28
+ renderNestedRoute: ()=>renderNestedRoute
23
29
  });
24
- module.exports = __toCommonJS(nestedRoutes_exports);
25
- var import_jsx_runtime = require("react/jsx-runtime");
26
- var import_constants = require("@modern-js/utils/universal/constants");
27
- var import_react = require("react");
28
- var import_react_router_dom = require("react-router-dom");
29
- var import_time = require("../time");
30
- var import_async_storage = require("../universal/async_storage");
31
- var import_deferreds = require("./deferreds");
32
- const privateDefer = (data) => {
33
- return new import_deferreds.DeferredData(data);
34
- };
35
- const transformNestedRoutes = (routes) => {
36
- const routeElements = [];
37
- for (const route of routes) {
38
- const routeElement = renderNestedRoute(route);
39
- routeElements.push(routeElement);
40
- }
41
- return (0, import_react_router_dom.createRoutesFromElements)(routeElements);
30
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
+ const constants_namespaceObject = require("@modern-js/utils/universal/constants");
32
+ const external_react_namespaceObject = require("react");
33
+ const external_react_router_namespaceObject = require("react-router");
34
+ const external_time_js_namespaceObject = require("../time.js");
35
+ const async_storage_js_namespaceObject = require("../universal/async_storage.js");
36
+ const external_deferreds_js_namespaceObject = require("./deferreds.js");
37
+ const privateDefer = (data)=>new external_deferreds_js_namespaceObject.DeferredData(data);
38
+ const transformNestedRoutes = (routes)=>{
39
+ const routeElements = [];
40
+ for (const route of routes){
41
+ const routeElement = renderNestedRoute(route);
42
+ routeElements.push(routeElement);
43
+ }
44
+ return (0, external_react_router_namespaceObject.createRoutesFromElements)(routeElements);
42
45
  };
43
- const renderNestedRoute = (nestedRoute, options = {}) => {
44
- const { children, index, id, component, isRoot, lazyImport, config, handle } = nestedRoute;
45
- const Component = component;
46
- const { parent, props = {} } = options;
47
- const routeProps = {
48
- caseSensitive: nestedRoute.caseSensitive,
49
- path: nestedRoute.path,
50
- id: nestedRoute.id,
51
- loader: createLoader(nestedRoute),
52
- action: nestedRoute.action,
53
- hasErrorBoundary: nestedRoute.hasErrorBoundary,
54
- shouldRevalidate: nestedRoute.shouldRevalidate,
55
- handle: {
56
- ...handle,
57
- ...typeof config === "object" ? config === null || config === void 0 ? void 0 : config.handle : {}
58
- },
59
- index: nestedRoute.index,
60
- element: nestedRoute.element,
61
- errorElement: nestedRoute.errorElement
62
- };
63
- if (nestedRoute.error) {
64
- const errorElement = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(nestedRoute.error, {});
65
- routeProps.errorElement = errorElement;
66
- }
67
- let element;
68
- if (Component) {
69
- if ((parent === null || parent === void 0 ? void 0 : parent.loading) && lazyImport) {
70
- const Loading = parent.loading;
71
- if (isLoadableComponent(Component)) {
72
- element = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {
73
- fallback: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Loading, {})
74
- });
75
- } else {
76
- element = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, {
77
- fallback: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Loading, {}),
78
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {})
46
+ const renderNestedRoute = (nestedRoute, options = {})=>{
47
+ const { children, index, id, component, isRoot, lazyImport, config, handle } = nestedRoute;
48
+ const Component = component;
49
+ const { parent, props = {} } = options;
50
+ const routeProps = {
51
+ caseSensitive: nestedRoute.caseSensitive,
52
+ path: nestedRoute.path,
53
+ id: nestedRoute.id,
54
+ loader: createLoader(nestedRoute),
55
+ action: nestedRoute.action,
56
+ hasErrorBoundary: nestedRoute.hasErrorBoundary,
57
+ shouldRevalidate: nestedRoute.shouldRevalidate,
58
+ handle: {
59
+ ...handle,
60
+ ...'object' == typeof config ? config?.handle : {}
61
+ },
62
+ index: nestedRoute.index,
63
+ element: nestedRoute.element,
64
+ errorElement: nestedRoute.errorElement
65
+ };
66
+ if (nestedRoute.error) {
67
+ const errorElement = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(nestedRoute.error, {});
68
+ routeProps.errorElement = errorElement;
69
+ }
70
+ let element;
71
+ if (Component) if (parent?.loading && lazyImport) {
72
+ const Loading = parent.loading;
73
+ element = isLoadableComponent(Component) ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {
74
+ fallback: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Loading, {})
75
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_namespaceObject.Suspense, {
76
+ fallback: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Loading, {}),
77
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {})
79
78
  });
80
- }
81
- } else if (isLoadableComponent(Component) && lazyImport) {
82
- element = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {});
83
- } else if (isRoot) {
84
- element = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {
79
+ } else element = isLoadableComponent(Component) && lazyImport ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {}) : isRoot ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {
85
80
  ...props
86
- });
87
- } else if (lazyImport) {
88
- element = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, {
81
+ }) : lazyImport ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_namespaceObject.Suspense, {
89
82
  fallback: null,
90
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {})
91
- });
92
- } else {
93
- element = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, {});
83
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {})
84
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {});
85
+ else {
86
+ nestedRoute.loading = parent?.loading;
87
+ routeProps.element = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_router_namespaceObject.Outlet, {});
94
88
  }
95
- } else {
96
- nestedRoute.loading = parent === null || parent === void 0 ? void 0 : parent.loading;
97
- routeProps.element = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.Outlet, {});
98
- }
99
- if (element) {
100
- routeProps.element = element;
101
- }
102
- const childElements = children === null || children === void 0 ? void 0 : children.map((childRoute) => {
103
- return renderNestedRoute(childRoute, {
104
- parent: nestedRoute
105
- });
106
- });
107
- const routeElement = index ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.Route, {
108
- ...routeProps,
109
- index: true
110
- }, id) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_router_dom.Route, {
111
- ...routeProps,
112
- index: false,
113
- children: childElements
114
- }, id);
115
- return routeElement;
89
+ if (element) routeProps.element = element;
90
+ const childElements = children?.map((childRoute)=>renderNestedRoute(childRoute, {
91
+ parent: nestedRoute
92
+ }));
93
+ const routeElement = index ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_router_namespaceObject.Route, {
94
+ ...routeProps,
95
+ index: true
96
+ }, id) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_router_namespaceObject.Route, {
97
+ ...routeProps,
98
+ index: false,
99
+ children: childElements
100
+ }, id);
101
+ return routeElement;
116
102
  };
117
103
  function isPlainObject(value) {
118
- return value != null && typeof value === "object" && Object.getPrototypeOf(value) === Object.prototype;
104
+ return null != value && 'object' == typeof value && Object.getPrototypeOf(value) === Object.prototype;
119
105
  }
120
106
  function createLoader(route) {
121
- const { loader } = route;
122
- if (loader) {
123
- return async (args) => {
124
- if (typeof route.lazyImport === "function") {
125
- route.lazyImport();
126
- }
127
- const end = (0, import_time.time)();
128
- const res = await loader(args);
129
- const isRouterV7 = process.env._MODERN_ROUTER_VERSION === "v7";
130
- if (isRouterV7) {
107
+ const { loader } = route;
108
+ if (loader) return async (args)=>{
109
+ if ('function' == typeof route.lazyImport) route.lazyImport();
110
+ const end = (0, external_time_js_namespaceObject.time)();
111
+ const res = await loader(args);
131
112
  let activeDeferreds = null;
132
- if (typeof document === "undefined") {
133
- var _getAsyncLocalStorage_useContext, _getAsyncLocalStorage;
134
- activeDeferreds = (_getAsyncLocalStorage = (0, import_async_storage.getAsyncLocalStorage)()) === null || _getAsyncLocalStorage === void 0 ? void 0 : (_getAsyncLocalStorage_useContext = _getAsyncLocalStorage.useContext()) === null || _getAsyncLocalStorage_useContext === void 0 ? void 0 : _getAsyncLocalStorage_useContext.activeDeferreds;
135
- } else {
136
- activeDeferreds = import_deferreds.activeDeferreds;
137
- }
113
+ activeDeferreds = "u" < typeof document ? (await (0, async_storage_js_namespaceObject.getAsyncLocalStorage)())?.useContext()?.activeDeferreds : external_deferreds_js_namespaceObject.activeDeferreds;
138
114
  if (isPlainObject(res)) {
139
- const deferredData = privateDefer(res);
140
- activeDeferreds.set(route.id, deferredData);
115
+ const deferredData = privateDefer(res);
116
+ activeDeferreds.set(route.id, deferredData);
117
+ }
118
+ const cost = end();
119
+ if ("u" < typeof document) {
120
+ const storage = await (0, async_storage_js_namespaceObject.getAsyncLocalStorage)();
121
+ storage?.useContext().monitors?.timing(`${constants_namespaceObject.LOADER_REPORTER_NAME}-${route.id?.replace(/\//g, '_')}`, cost);
141
122
  }
142
- }
143
- const cost = end();
144
- if (typeof document === "undefined") {
145
- var _route_id, _storage_useContext_monitors;
146
- const storage = (0, import_async_storage.getAsyncLocalStorage)();
147
- storage === null || storage === void 0 ? void 0 : (_storage_useContext_monitors = storage.useContext().monitors) === null || _storage_useContext_monitors === void 0 ? void 0 : _storage_useContext_monitors.timing(`${import_constants.LOADER_REPORTER_NAME}-${(_route_id = route.id) === null || _route_id === void 0 ? void 0 : _route_id.replace(/\//g, "_")}`, cost);
148
- }
149
- return res;
123
+ return res;
150
124
  };
151
- } else {
152
- return () => {
153
- if (typeof route.lazyImport === "function") {
154
- route.lazyImport();
155
- }
156
- return null;
125
+ return ()=>{
126
+ if ('function' == typeof route.lazyImport) route.lazyImport();
127
+ return null;
157
128
  };
158
- }
159
129
  }
160
130
  function isLoadableComponent(component) {
161
- return component && component.displayName === "Loadable" && component.preload && typeof component.preload === "function";
131
+ return component && 'Loadable' === component.displayName && component.preload && 'function' == typeof component.preload;
162
132
  }
163
- // Annotate the CommonJS export names for ESM import in node:
164
- 0 && (module.exports = {
165
- renderNestedRoute,
166
- transformNestedRoutes
133
+ exports.renderNestedRoute = __webpack_exports__.renderNestedRoute;
134
+ exports.transformNestedRoutes = __webpack_exports__.transformNestedRoutes;
135
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
136
+ "renderNestedRoute",
137
+ "transformNestedRoutes"
138
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
139
+ Object.defineProperty(exports, '__esModule', {
140
+ value: true
167
141
  });
package/dist/cjs/merge.js CHANGED
@@ -1,53 +1,60 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var merge_exports = {};
20
- __export(merge_exports, {
21
- merge: () => merge
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
+ merge: ()=>merge
22
28
  });
23
- module.exports = __toCommonJS(merge_exports);
24
29
  function isObject(obj) {
25
- return obj && typeof obj === "object" && !Array.isArray(obj);
30
+ return obj && 'object' == typeof obj && !Array.isArray(obj);
31
+ }
32
+ function isComplexInstance(obj) {
33
+ if (!isObject(obj)) return false;
34
+ const hasMethods = 'function' == typeof obj.init || 'function' == typeof obj.changeLanguage || 'function' == typeof obj.t;
35
+ const hasInternalProps = void 0 !== obj.isInitialized || void 0 !== obj.language || void 0 !== obj.store;
36
+ return hasMethods || hasInternalProps;
26
37
  }
27
38
  function merge(target, ...sources) {
28
- if (!sources.length) {
29
- return target;
30
- }
31
- const source = sources.shift();
32
- if (isObject(target) && isObject(source)) {
33
- for (const key in source) {
34
- if (isObject(source[key])) {
35
- if (!target[key]) {
36
- Object.assign(target, {
39
+ if (!sources.length) return target;
40
+ const source = sources.shift();
41
+ if (isObject(target) && isObject(source)) for(const key in source)if (isComplexInstance(source[key])) Object.assign(target, {
42
+ [key]: source[key]
43
+ });
44
+ else if (isObject(source[key])) {
45
+ if (!target[key]) Object.assign(target, {
37
46
  [key]: {}
38
- });
39
- }
40
- merge(target[key], source[key]);
41
- } else {
42
- Object.assign(target, {
43
- [key]: source[key]
44
47
  });
45
- }
46
- }
47
- }
48
- return merge(target, ...sources);
48
+ merge(target[key], source[key]);
49
+ } else Object.assign(target, {
50
+ [key]: source[key]
51
+ });
52
+ return merge(target, ...sources);
49
53
  }
50
- // Annotate the CommonJS export names for ESM import in node:
51
- 0 && (module.exports = {
52
- merge
54
+ exports.merge = __webpack_exports__.merge;
55
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
56
+ "merge"
57
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
58
+ Object.defineProperty(exports, '__esModule', {
59
+ value: true
53
60
  });
@@ -1,103 +1,94 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var fileReader_exports = {};
30
- __export(fileReader_exports, {
31
- FileReader: () => FileReader,
32
- fileReader: () => fileReader
33
- });
34
- module.exports = __toCommonJS(fileReader_exports);
35
- var import_fs_extra = __toESM(require("@modern-js/utils/fs-extra"));
36
- var import_storer = require("./storer");
37
- class FileReader {
38
- async readFile(path, encoding = "utf-8") {
39
- const { fs } = this;
40
- const _readfile = this._readFileFactory(fs);
41
- return _readfile(path, encoding);
42
- }
43
- async readFileFromSystem(path, encoding = "utf-8") {
44
- const _readfile = this._readFileFactory(import_fs_extra.default);
45
- return _readfile(path, encoding);
46
- }
47
- _readFileFactory(fs) {
48
- return async (path, encoding = "utf-8") => {
49
- const cache = await this.storage.get(path);
50
- if (cache === null) {
51
- return null;
52
- }
53
- if (cache) {
54
- return this.encodingContent(cache, encoding);
55
- }
56
- const isExistFile = await new Promise((resolve) => {
57
- fs.stat(path, (err, stats) => {
58
- if (err) {
59
- resolve(false);
60
- return;
61
- }
62
- if (stats.isFile()) {
63
- resolve(true);
64
- } else {
65
- resolve(false);
66
- }
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
67
30
  });
68
- });
69
- if (isExistFile) {
70
- const content = await fs.promises.readFile(path);
71
- this.storage.set(path, content);
72
- return this.encodingContent(content, encoding);
73
- } else {
74
- this.storage.set(path, null);
75
- return null;
76
- }
77
31
  };
78
- }
79
- /**
80
- * Clear the fileCache entriely.
81
- */
82
- reset(fs) {
83
- var _this_storage_clear, _this_storage;
84
- fs && (this.fs = fs);
85
- return (_this_storage_clear = (_this_storage = this.storage).clear) === null || _this_storage_clear === void 0 ? void 0 : _this_storage_clear.call(_this_storage);
86
- }
87
- encodingContent(value, encoding) {
88
- if (encoding === "utf-8") {
89
- return value.toString();
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ FileReader: ()=>FileReader,
37
+ fileReader: ()=>fileReader
38
+ });
39
+ const fs_extra_namespaceObject = require("@modern-js/utils/fs-extra");
40
+ var fs_extra_default = /*#__PURE__*/ __webpack_require__.n(fs_extra_namespaceObject);
41
+ const index_js_namespaceObject = require("./storer/index.js");
42
+ class FileReader {
43
+ async readFile(path, encoding = 'utf-8') {
44
+ const { fs } = this;
45
+ const _readfile = this._readFileFactory(fs);
46
+ return _readfile(path, encoding);
47
+ }
48
+ async readFileFromSystem(path, encoding = 'utf-8') {
49
+ const _readfile = this._readFileFactory(fs_extra_default());
50
+ return _readfile(path, encoding);
51
+ }
52
+ _readFileFactory(fs) {
53
+ return async (path, encoding = 'utf-8')=>{
54
+ const cache = await this.storage.get(path);
55
+ if (null === cache) return null;
56
+ if (cache) return this.encodingContent(cache, encoding);
57
+ const isExistFile = await new Promise((resolve)=>{
58
+ fs.stat(path, (err, stats)=>{
59
+ if (err) return void resolve(false);
60
+ stats.isFile() ? resolve(true) : resolve(false);
61
+ });
62
+ });
63
+ if (isExistFile) {
64
+ const content = await fs.promises.readFile(path);
65
+ this.storage.set(path, content);
66
+ return this.encodingContent(content, encoding);
67
+ }
68
+ this.storage.set(path, null);
69
+ return null;
70
+ };
71
+ }
72
+ reset(fs) {
73
+ fs && (this.fs = fs);
74
+ return this.storage.clear?.();
75
+ }
76
+ encodingContent(value, encoding) {
77
+ if ('utf-8' === encoding) return value.toString();
78
+ return value;
79
+ }
80
+ constructor(storage){
81
+ this.fs = fs_extra_default();
82
+ this.storage = storage;
90
83
  }
91
- return value;
92
- }
93
- constructor(storage) {
94
- this.fs = import_fs_extra.default;
95
- this.storage = storage;
96
- }
97
84
  }
98
- const fileReader = new FileReader((0, import_storer.createMemoryStorage)("__file__system"));
99
- // Annotate the CommonJS export names for ESM import in node:
100
- 0 && (module.exports = {
101
- FileReader,
102
- fileReader
85
+ const fileReader = new FileReader((0, index_js_namespaceObject.createMemoryStorage)('__file__system'));
86
+ exports.FileReader = __webpack_exports__.FileReader;
87
+ exports.fileReader = __webpack_exports__.fileReader;
88
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
89
+ "FileReader",
90
+ "fileReader"
91
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
92
+ Object.defineProperty(exports, '__esModule', {
93
+ value: true
103
94
  });