@modern-js/runtime-utils 2.69.4 → 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,43 +0,0 @@
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
- var remixRouter_exports = {};
31
- __export(remixRouter_exports, {
32
- DEFERRED_SYMBOL: () => DEFERRED_SYMBOL
33
- });
34
- module.exports = __toCommonJS(remixRouter_exports);
35
- __reExport(remixRouter_exports, require("@remix-run/router"), module.exports);
36
- var remixRouter = __toESM(require("@remix-run/router"));
37
- const symbolName = "UNSAFE_DEFERRED_SYMBOL";
38
- const DEFERRED_SYMBOL = symbolName in remixRouter ? remixRouter[symbolName] : Symbol("deferred");
39
- // Annotate the CommonJS export names for ESM import in node:
40
- 0 && (module.exports = {
41
- DEFERRED_SYMBOL,
42
- ...require("@remix-run/router")
43
- });
@@ -1,227 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _call_super } from "@swc/helpers/_/_call_super";
3
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
4
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
5
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
6
- import { _ as _inherits } from "@swc/helpers/_/_inherits";
7
- import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
8
- import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
9
- import { _ as _type_of } from "@swc/helpers/_/_type_of";
10
- import { _ as _wrap_native_super } from "@swc/helpers/_/_wrap_native_super";
11
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
12
- function invariant(value, message) {
13
- if (value === false || value === null || typeof value === "undefined") {
14
- throw new Error(message);
15
- }
16
- }
17
- var AbortedDeferredError = /* @__PURE__ */ function(Error1) {
18
- "use strict";
19
- _inherits(AbortedDeferredError2, Error1);
20
- function AbortedDeferredError2() {
21
- _class_call_check(this, AbortedDeferredError2);
22
- return _call_super(this, AbortedDeferredError2, arguments);
23
- }
24
- return AbortedDeferredError2;
25
- }(_wrap_native_super(Error));
26
- function isTrackedPromise(value) {
27
- return _instanceof(value, Promise) && value._tracked === true;
28
- }
29
- function unwrapTrackedPromise(value) {
30
- if (!isTrackedPromise(value)) {
31
- return value;
32
- }
33
- if (value._error) {
34
- throw value._error;
35
- }
36
- return value._data;
37
- }
38
- var DeferredData = /* @__PURE__ */ function() {
39
- "use strict";
40
- function DeferredData2(data, responseInit) {
41
- var _this = this;
42
- _class_call_check(this, DeferredData2);
43
- this.pendingKeysSet = /* @__PURE__ */ new Set();
44
- this.subscribers = /* @__PURE__ */ new Set();
45
- this.__modern_deferred = true;
46
- this.deferredKeys = [];
47
- invariant(data && (typeof data === "undefined" ? "undefined" : _type_of(data)) === "object" && !Array.isArray(data), "defer() only accepts plain objects");
48
- var reject;
49
- this.abortPromise = new Promise(function(_, r) {
50
- return reject = r;
51
- });
52
- this.controller = new AbortController();
53
- var onAbort = function() {
54
- return reject(new AbortedDeferredError("Deferred data aborted"));
55
- };
56
- this.unlistenAbortSignal = function() {
57
- return _this.controller.signal.removeEventListener("abort", onAbort);
58
- };
59
- this.controller.signal.addEventListener("abort", onAbort);
60
- this.data = Object.entries(data).reduce(function(acc, param) {
61
- var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
62
- return Object.assign(acc, _define_property({}, key, _this.trackPromise(key, value)));
63
- }, {});
64
- if (this.done) {
65
- this.unlistenAbortSignal();
66
- }
67
- this.init = responseInit;
68
- }
69
- var _proto = DeferredData2.prototype;
70
- _proto.trackPromise = function trackPromise(key, value) {
71
- var _this = this;
72
- if (!_instanceof(value, Promise)) {
73
- return value;
74
- }
75
- this.deferredKeys.push(key);
76
- this.pendingKeysSet.add(key);
77
- var promise = Promise.race([
78
- value,
79
- this.abortPromise
80
- ]).then(function(data) {
81
- return _this.onSettle(promise, key, void 0, data);
82
- }, function(error) {
83
- return _this.onSettle(promise, key, error);
84
- });
85
- promise.catch(function() {
86
- });
87
- Object.defineProperty(promise, "_tracked", {
88
- get: function() {
89
- return true;
90
- }
91
- });
92
- return promise;
93
- };
94
- _proto.onSettle = function onSettle(promise, key, error, data) {
95
- if (this.controller.signal.aborted && _instanceof(error, AbortedDeferredError)) {
96
- this.unlistenAbortSignal();
97
- Object.defineProperty(promise, "_error", {
98
- get: function() {
99
- return error;
100
- }
101
- });
102
- return Promise.reject(error);
103
- }
104
- this.pendingKeysSet.delete(key);
105
- if (this.done) {
106
- this.unlistenAbortSignal();
107
- }
108
- if (error === void 0 && data === void 0) {
109
- var undefinedError = new Error('Deferred data for key "'.concat(key, '" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.'));
110
- Object.defineProperty(promise, "_error", {
111
- get: function() {
112
- return undefinedError;
113
- }
114
- });
115
- this.emit(false, key);
116
- return Promise.reject(undefinedError);
117
- }
118
- if (data === void 0) {
119
- Object.defineProperty(promise, "_error", {
120
- get: function() {
121
- return error;
122
- }
123
- });
124
- this.emit(false, key);
125
- return Promise.reject(error);
126
- }
127
- Object.defineProperty(promise, "_data", {
128
- get: function() {
129
- return data;
130
- }
131
- });
132
- this.emit(false, key);
133
- return data;
134
- };
135
- _proto.emit = function emit(aborted, settledKey) {
136
- this.subscribers.forEach(function(subscriber) {
137
- return subscriber(aborted, settledKey);
138
- });
139
- };
140
- _proto.subscribe = function subscribe(fn) {
141
- var _this = this;
142
- this.subscribers.add(fn);
143
- return function() {
144
- return _this.subscribers.delete(fn);
145
- };
146
- };
147
- _proto.cancel = function cancel() {
148
- var _this = this;
149
- this.controller.abort();
150
- this.pendingKeysSet.forEach(function(v, k) {
151
- return _this.pendingKeysSet.delete(k);
152
- });
153
- this.emit(true);
154
- };
155
- _proto.resolveData = function resolveData(signal) {
156
- var _this = this;
157
- return _async_to_generator(function() {
158
- var aborted, onAbort;
159
- return _ts_generator(this, function(_state) {
160
- switch (_state.label) {
161
- case 0:
162
- aborted = false;
163
- if (!!_this.done)
164
- return [
165
- 3,
166
- 2
167
- ];
168
- onAbort = function() {
169
- return _this.cancel();
170
- };
171
- signal.addEventListener("abort", onAbort);
172
- return [
173
- 4,
174
- new Promise(function(resolve) {
175
- _this.subscribe(function(aborted2) {
176
- signal.removeEventListener("abort", onAbort);
177
- if (aborted2 || _this.done) {
178
- resolve(aborted2);
179
- }
180
- });
181
- })
182
- ];
183
- case 1:
184
- aborted = _state.sent();
185
- _state.label = 2;
186
- case 2:
187
- return [
188
- 2,
189
- aborted
190
- ];
191
- }
192
- });
193
- })();
194
- };
195
- _create_class(DeferredData2, [
196
- {
197
- key: "done",
198
- get: function get() {
199
- return this.pendingKeysSet.size === 0;
200
- }
201
- },
202
- {
203
- key: "unwrappedData",
204
- get: function get() {
205
- invariant(this.data !== null && this.done, "Can only unwrap data on initialized and settled deferreds");
206
- return Object.entries(this.data).reduce(function(acc, param) {
207
- var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
208
- return Object.assign(acc, _define_property({}, key, unwrapTrackedPromise(value)));
209
- }, {});
210
- }
211
- },
212
- {
213
- key: "pendingKeys",
214
- get: function get() {
215
- return Array.from(this.pendingKeysSet);
216
- }
217
- }
218
- ]);
219
- return DeferredData2;
220
- }();
221
- var activeDeferreds = /* @__PURE__ */ new Map();
222
- export {
223
- AbortedDeferredError,
224
- DeferredData,
225
- activeDeferreds,
226
- invariant
227
- };
@@ -1,2 +0,0 @@
1
- export * from "./nestedRoutes";
2
- export * from "./deferreds";
@@ -1,177 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
- import { _ as _type_of } from "@swc/helpers/_/_type_of";
5
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
8
- import { Suspense } from "react";
9
- import { Outlet, Route, createRoutesFromElements } from "react-router-dom";
10
- import { time } from "../time";
11
- import { getAsyncLocalStorage } from "../universal/async_storage";
12
- import { DeferredData, activeDeferreds as originalActiveDeferreds } from "./deferreds";
13
- var privateDefer = function(data) {
14
- return new DeferredData(data);
15
- };
16
- var transformNestedRoutes = function(routes) {
17
- var routeElements = [];
18
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
19
- try {
20
- for (var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
21
- var route = _step.value;
22
- var routeElement = renderNestedRoute(route);
23
- routeElements.push(routeElement);
24
- }
25
- } catch (err) {
26
- _didIteratorError = true;
27
- _iteratorError = err;
28
- } finally {
29
- try {
30
- if (!_iteratorNormalCompletion && _iterator.return != null) {
31
- _iterator.return();
32
- }
33
- } finally {
34
- if (_didIteratorError) {
35
- throw _iteratorError;
36
- }
37
- }
38
- }
39
- return createRoutesFromElements(routeElements);
40
- };
41
- var renderNestedRoute = function(nestedRoute) {
42
- var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
43
- var children = nestedRoute.children, index = nestedRoute.index, id = nestedRoute.id, component = nestedRoute.component, isRoot = nestedRoute.isRoot, lazyImport = nestedRoute.lazyImport, config = nestedRoute.config, handle = nestedRoute.handle;
44
- var Component = component;
45
- var parent = options.parent, _options_props = options.props, props = _options_props === void 0 ? {} : _options_props;
46
- var routeProps = {
47
- caseSensitive: nestedRoute.caseSensitive,
48
- path: nestedRoute.path,
49
- id: nestedRoute.id,
50
- loader: createLoader(nestedRoute),
51
- action: nestedRoute.action,
52
- hasErrorBoundary: nestedRoute.hasErrorBoundary,
53
- shouldRevalidate: nestedRoute.shouldRevalidate,
54
- handle: _object_spread({}, handle, (typeof config === "undefined" ? "undefined" : _type_of(config)) === "object" ? config === null || config === void 0 ? void 0 : config.handle : {}),
55
- index: nestedRoute.index,
56
- element: nestedRoute.element,
57
- errorElement: nestedRoute.errorElement
58
- };
59
- if (nestedRoute.error) {
60
- var errorElement = /* @__PURE__ */ _jsx(nestedRoute.error, {});
61
- routeProps.errorElement = errorElement;
62
- }
63
- var element;
64
- if (Component) {
65
- if ((parent === null || parent === void 0 ? void 0 : parent.loading) && lazyImport) {
66
- var Loading = parent.loading;
67
- if (isLoadableComponent(Component)) {
68
- element = /* @__PURE__ */ _jsx(Component, {
69
- fallback: /* @__PURE__ */ _jsx(Loading, {})
70
- });
71
- } else {
72
- element = /* @__PURE__ */ _jsx(Suspense, {
73
- fallback: /* @__PURE__ */ _jsx(Loading, {}),
74
- children: /* @__PURE__ */ _jsx(Component, {})
75
- });
76
- }
77
- } else if (isLoadableComponent(Component) && lazyImport) {
78
- element = /* @__PURE__ */ _jsx(Component, {});
79
- } else if (isRoot) {
80
- element = /* @__PURE__ */ _jsx(Component, _object_spread({}, props));
81
- } else if (lazyImport) {
82
- element = /* @__PURE__ */ _jsx(Suspense, {
83
- fallback: null,
84
- children: /* @__PURE__ */ _jsx(Component, {})
85
- });
86
- } else {
87
- element = /* @__PURE__ */ _jsx(Component, {});
88
- }
89
- } else {
90
- nestedRoute.loading = parent === null || parent === void 0 ? void 0 : parent.loading;
91
- routeProps.element = /* @__PURE__ */ _jsx(Outlet, {});
92
- }
93
- if (element) {
94
- routeProps.element = element;
95
- }
96
- var childElements = children === null || children === void 0 ? void 0 : children.map(function(childRoute) {
97
- return renderNestedRoute(childRoute, {
98
- parent: nestedRoute
99
- });
100
- });
101
- var routeElement = index ? /* @__PURE__ */ _jsx(Route, _object_spread_props(_object_spread({}, routeProps), {
102
- index: true
103
- }), id) : /* @__PURE__ */ _jsx(Route, _object_spread_props(_object_spread({}, routeProps), {
104
- index: false,
105
- children: childElements
106
- }), id);
107
- return routeElement;
108
- };
109
- function isPlainObject(value) {
110
- return value != null && (typeof value === "undefined" ? "undefined" : _type_of(value)) === "object" && Object.getPrototypeOf(value) === Object.prototype;
111
- }
112
- function createLoader(route) {
113
- var loader = route.loader;
114
- if (loader) {
115
- return function() {
116
- var _ref = _async_to_generator(function(args) {
117
- var end, res, isRouterV7, activeDeferreds, _getAsyncLocalStorage_useContext, _getAsyncLocalStorage, deferredData, cost, _route_id, _storage_useContext_monitors, storage;
118
- return _ts_generator(this, function(_state) {
119
- switch (_state.label) {
120
- case 0:
121
- if (typeof route.lazyImport === "function") {
122
- route.lazyImport();
123
- }
124
- end = time();
125
- return [
126
- 4,
127
- loader(args)
128
- ];
129
- case 1:
130
- res = _state.sent();
131
- isRouterV7 = process.env._MODERN_ROUTER_VERSION === "v7";
132
- if (isRouterV7) {
133
- activeDeferreds = null;
134
- if (typeof document === "undefined") {
135
- ;
136
- activeDeferreds = (_getAsyncLocalStorage = getAsyncLocalStorage()) === null || _getAsyncLocalStorage === void 0 ? void 0 : (_getAsyncLocalStorage_useContext = _getAsyncLocalStorage.useContext()) === null || _getAsyncLocalStorage_useContext === void 0 ? void 0 : _getAsyncLocalStorage_useContext.activeDeferreds;
137
- } else {
138
- activeDeferreds = originalActiveDeferreds;
139
- }
140
- if (isPlainObject(res)) {
141
- deferredData = privateDefer(res);
142
- activeDeferreds.set(route.id, deferredData);
143
- }
144
- }
145
- cost = end();
146
- if (typeof document === "undefined") {
147
- ;
148
- storage = getAsyncLocalStorage();
149
- 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("".concat(LOADER_REPORTER_NAME, "-").concat((_route_id = route.id) === null || _route_id === void 0 ? void 0 : _route_id.replace(/\//g, "_")), cost);
150
- }
151
- return [
152
- 2,
153
- res
154
- ];
155
- }
156
- });
157
- });
158
- return function(args) {
159
- return _ref.apply(this, arguments);
160
- };
161
- }();
162
- } else {
163
- return function() {
164
- if (typeof route.lazyImport === "function") {
165
- route.lazyImport();
166
- }
167
- return null;
168
- };
169
- }
170
- }
171
- function isLoadableComponent(component) {
172
- return component && component.displayName === "Loadable" && component.preload && typeof component.preload === "function";
173
- }
174
- export {
175
- renderNestedRoute,
176
- transformNestedRoutes
177
- };
package/dist/esm/merge.js DELETED
@@ -1,33 +0,0 @@
1
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
- import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
- import { _ as _type_of } from "@swc/helpers/_/_type_of";
4
- function isObject(obj) {
5
- return obj && (typeof obj === "undefined" ? "undefined" : _type_of(obj)) === "object" && !Array.isArray(obj);
6
- }
7
- function merge(target) {
8
- for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
9
- sources[_key - 1] = arguments[_key];
10
- }
11
- if (!sources.length) {
12
- return target;
13
- }
14
- var source = sources.shift();
15
- if (isObject(target) && isObject(source)) {
16
- for (var key in source) {
17
- if (isObject(source[key])) {
18
- if (!target[key]) {
19
- Object.assign(target, _define_property({}, key, {}));
20
- }
21
- merge(target[key], source[key]);
22
- } else {
23
- Object.assign(target, _define_property({}, key, source[key]));
24
- }
25
- }
26
- }
27
- return merge.apply(void 0, [
28
- target
29
- ].concat(_to_consumable_array(sources)));
30
- }
31
- export {
32
- merge
33
- };
@@ -1,140 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
- import Fs from "@modern-js/utils/fs-extra";
5
- import { createMemoryStorage } from "./storer";
6
- var FileReader = /* @__PURE__ */ function() {
7
- "use strict";
8
- function FileReader2(storage) {
9
- _class_call_check(this, FileReader2);
10
- this.fs = Fs;
11
- this.storage = storage;
12
- }
13
- var _proto = FileReader2.prototype;
14
- _proto.readFile = function readFile(path) {
15
- var encoding = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "utf-8";
16
- var _this = this;
17
- return _async_to_generator(function() {
18
- var fs, _readfile;
19
- return _ts_generator(this, function(_state) {
20
- fs = _this.fs;
21
- _readfile = _this._readFileFactory(fs);
22
- return [
23
- 2,
24
- _readfile(path, encoding)
25
- ];
26
- });
27
- })();
28
- };
29
- _proto.readFileFromSystem = function readFileFromSystem(path) {
30
- var encoding = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "utf-8";
31
- var _this = this;
32
- return _async_to_generator(function() {
33
- var _readfile;
34
- return _ts_generator(this, function(_state) {
35
- _readfile = _this._readFileFactory(Fs);
36
- return [
37
- 2,
38
- _readfile(path, encoding)
39
- ];
40
- });
41
- })();
42
- };
43
- _proto._readFileFactory = function _readFileFactory(fs) {
44
- var _this = this;
45
- return function() {
46
- var _ref = _async_to_generator(function(path) {
47
- var encoding, cache, isExistFile, content;
48
- var _arguments = arguments;
49
- return _ts_generator(this, function(_state) {
50
- switch (_state.label) {
51
- case 0:
52
- encoding = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : "utf-8";
53
- return [
54
- 4,
55
- _this.storage.get(path)
56
- ];
57
- case 1:
58
- cache = _state.sent();
59
- if (cache === null) {
60
- return [
61
- 2,
62
- null
63
- ];
64
- }
65
- if (cache) {
66
- return [
67
- 2,
68
- _this.encodingContent(cache, encoding)
69
- ];
70
- }
71
- return [
72
- 4,
73
- new Promise(function(resolve) {
74
- fs.stat(path, function(err, stats) {
75
- if (err) {
76
- resolve(false);
77
- return;
78
- }
79
- if (stats.isFile()) {
80
- resolve(true);
81
- } else {
82
- resolve(false);
83
- }
84
- });
85
- })
86
- ];
87
- case 2:
88
- isExistFile = _state.sent();
89
- if (!isExistFile)
90
- return [
91
- 3,
92
- 4
93
- ];
94
- return [
95
- 4,
96
- fs.promises.readFile(path)
97
- ];
98
- case 3:
99
- content = _state.sent();
100
- _this.storage.set(path, content);
101
- return [
102
- 2,
103
- _this.encodingContent(content, encoding)
104
- ];
105
- case 4:
106
- _this.storage.set(path, null);
107
- return [
108
- 2,
109
- null
110
- ];
111
- case 5:
112
- return [
113
- 2
114
- ];
115
- }
116
- });
117
- });
118
- return function(path) {
119
- return _ref.apply(this, arguments);
120
- };
121
- }();
122
- };
123
- _proto.reset = function reset(fs) {
124
- var _this_storage_clear, _this_storage;
125
- fs && (this.fs = fs);
126
- return (_this_storage_clear = (_this_storage = this.storage).clear) === null || _this_storage_clear === void 0 ? void 0 : _this_storage_clear.call(_this_storage);
127
- };
128
- _proto.encodingContent = function encodingContent(value, encoding) {
129
- if (encoding === "utf-8") {
130
- return value.toString();
131
- }
132
- return value;
133
- };
134
- return FileReader2;
135
- }();
136
- var fileReader = new FileReader(createMemoryStorage("__file__system"));
137
- export {
138
- FileReader,
139
- fileReader
140
- };
@@ -1,8 +0,0 @@
1
- import { storage } from "../universal/async_storage.server";
2
- import { serializeJson } from "./serialize";
3
- export * from "./loaderContext";
4
- export * from "./stream";
5
- export {
6
- serializeJson,
7
- storage
8
- };
@@ -1,24 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- var LoaderContext = /* @__PURE__ */ function() {
3
- "use strict";
4
- function LoaderContext2(defaultValue) {
5
- _class_call_check(this, LoaderContext2);
6
- this.defaultValue = defaultValue;
7
- this.symbol = Symbol("loaderContext");
8
- }
9
- var _proto = LoaderContext2.prototype;
10
- _proto.getDefaultValue = function getDefaultValue() {
11
- if (!this.defaultValue) {
12
- throw new Error("Can't get defaultValue before initialed");
13
- }
14
- return this.defaultValue;
15
- };
16
- return LoaderContext2;
17
- }();
18
- function createLoaderContext(defaultValue) {
19
- return new LoaderContext(defaultValue);
20
- }
21
- export {
22
- LoaderContext,
23
- createLoaderContext
24
- };
@@ -1,24 +0,0 @@
1
- function createRequestContext(context) {
2
- var _context = context || /* @__PURE__ */ new Map();
3
- function get(key) {
4
- if (typeof key === "string") {
5
- return _context.get(key);
6
- } else {
7
- return _context.get(key.symbol) || key.getDefaultValue();
8
- }
9
- }
10
- function set(key, value) {
11
- if (typeof key === "string") {
12
- _context.set(key, value);
13
- } else {
14
- _context.set(key.symbol, value);
15
- }
16
- }
17
- return {
18
- set,
19
- get
20
- };
21
- }
22
- export {
23
- createRequestContext
24
- };
@@ -1,7 +0,0 @@
1
- import { createLoaderContext } from "./createLoaderCtx";
2
- import { createRequestContext } from "./createRequestCtx";
3
- var reporterCtx = createLoaderContext();
4
- export {
5
- createRequestContext,
6
- reporterCtx
7
- };