one 1.1.381 → 1.1.383
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Route.js.map +1 -1
- package/dist/cjs/Route.native.js.map +1 -1
- package/dist/cjs/cli/build.cjs +100 -69
- package/dist/cjs/cli/build.js +83 -41
- package/dist/cjs/cli/build.js.map +2 -2
- package/dist/cjs/cli/build.native.js +161 -68
- package/dist/cjs/cli/build.native.js.map +2 -2
- package/dist/cjs/cli/{run.cjs → dev.cjs} +7 -8
- package/dist/cjs/cli/{run.js → dev.js} +7 -8
- package/dist/cjs/cli/dev.js.map +6 -0
- package/dist/cjs/cli/{run.native.js → dev.native.js} +8 -9
- package/dist/cjs/cli/dev.native.js.map +6 -0
- package/dist/cjs/cli/main.cjs +2 -2
- package/dist/cjs/cli/main.js +2 -2
- package/dist/cjs/cli/main.native.js +2 -2
- package/dist/cjs/cli/main.native.js.map +1 -1
- package/dist/cjs/cli.cjs +3 -7
- package/dist/cjs/cli.js +2 -6
- package/dist/cjs/cli.js.map +2 -2
- package/dist/cjs/cli.native.js +2 -6
- package/dist/cjs/cli.native.js.map +2 -2
- package/dist/cjs/constants.cjs +3 -1
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/constants.native.js +3 -1
- package/dist/cjs/constants.native.js.map +2 -2
- package/dist/cjs/createHandleRequest.cjs +124 -87
- package/dist/cjs/createHandleRequest.js +129 -81
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js +153 -96
- package/dist/cjs/createHandleRequest.native.js.map +2 -2
- package/dist/cjs/createMiddleware.cjs +28 -0
- package/dist/cjs/createMiddleware.js +23 -0
- package/dist/cjs/createMiddleware.js.map +6 -0
- package/dist/cjs/createMiddleware.native.js +28 -0
- package/dist/cjs/createMiddleware.native.js.map +6 -0
- package/dist/cjs/getRoutes.cjs +11 -18
- package/dist/cjs/getRoutes.js +13 -19
- package/dist/cjs/getRoutes.js.map +1 -1
- package/dist/cjs/getRoutes.native.js +20 -26
- package/dist/cjs/getRoutes.native.js.map +2 -2
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +3 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/serve-worker.cjs +5 -3
- package/dist/cjs/serve-worker.js +3 -3
- package/dist/cjs/serve-worker.js.map +1 -1
- package/dist/cjs/serve-worker.native.js +3 -3
- package/dist/cjs/serve-worker.native.js.map +2 -2
- package/dist/cjs/serve.cjs +12 -14
- package/dist/cjs/serve.js +12 -13
- package/dist/cjs/serve.js.map +1 -1
- package/dist/cjs/serve.native.js +12 -13
- package/dist/cjs/serve.native.js.map +2 -2
- package/dist/cjs/server/createRoutesManifest.js.map +1 -1
- package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
- package/dist/cjs/server/getServerManifest.cjs +7 -2
- package/dist/cjs/server/getServerManifest.js +7 -2
- package/dist/cjs/server/getServerManifest.js.map +1 -1
- package/dist/cjs/server/getServerManifest.native.js +23 -3
- package/dist/cjs/server/getServerManifest.native.js.map +2 -2
- package/dist/cjs/server/oneServe.cjs +86 -84
- package/dist/cjs/server/oneServe.js +95 -110
- package/dist/cjs/server/oneServe.js.map +2 -2
- package/dist/cjs/server/oneServe.native.js +102 -89
- package/dist/cjs/server/oneServe.native.js.map +2 -2
- package/dist/cjs/utils/getHonoPath.cjs +28 -0
- package/dist/cjs/utils/getHonoPath.js +23 -0
- package/dist/cjs/utils/getHonoPath.js.map +6 -0
- package/dist/cjs/utils/getHonoPath.native.js +28 -0
- package/dist/cjs/utils/getHonoPath.native.js.map +6 -0
- package/dist/cjs/utils/toAbsolute.cjs +27 -0
- package/dist/cjs/utils/toAbsolute.js +22 -0
- package/dist/cjs/utils/toAbsolute.js.map +6 -0
- package/dist/cjs/utils/toAbsolute.native.js +28 -0
- package/dist/cjs/utils/toAbsolute.native.js.map +6 -0
- package/dist/cjs/vite/one.cjs +4 -3
- package/dist/cjs/vite/one.js +4 -2
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js +4 -2
- package/dist/cjs/vite/one.native.js.map +2 -2
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +7 -8
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +8 -9
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +8 -7
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
- package/dist/cjs/vite/resolveResponse.cjs +100 -0
- package/dist/cjs/vite/resolveResponse.js +79 -0
- package/dist/cjs/vite/resolveResponse.js.map +6 -0
- package/dist/cjs/vite/resolveResponse.native.js +94 -0
- package/dist/cjs/vite/resolveResponse.native.js.map +6 -0
- package/dist/cjs/vite/{headers.cjs → server.cjs} +5 -5
- package/dist/cjs/vite/{headers.js → server.js} +6 -6
- package/dist/cjs/vite/{headers.js.map → server.js.map} +2 -2
- package/dist/cjs/vite/{headers.native.js → server.native.js} +7 -7
- package/dist/cjs/vite/{headers.native.js.map → server.native.js.map} +3 -3
- package/dist/cjs/vite/types.native.js.map +1 -1
- package/dist/cjs/vite.cjs +2 -2
- package/dist/cjs/vite.js +2 -2
- package/dist/cjs/vite.js.map +1 -1
- package/dist/cjs/vite.native.js +3 -3
- package/dist/cjs/vite.native.js.map +1 -1
- package/dist/esm/Route.js.map +1 -1
- package/dist/esm/Route.mjs.map +1 -1
- package/dist/esm/Route.native.js.map +1 -1
- package/dist/esm/cli/build.js +81 -38
- package/dist/esm/cli/build.js.map +1 -1
- package/dist/esm/cli/build.mjs +98 -67
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +160 -66
- package/dist/esm/cli/build.native.js.map +2 -2
- package/dist/esm/cli/{run.js → dev.js} +4 -5
- package/dist/esm/cli/dev.js.map +6 -0
- package/dist/esm/cli/{run.mjs → dev.mjs} +5 -6
- package/dist/esm/cli/dev.mjs.map +1 -0
- package/dist/esm/cli/{run.native.js → dev.native.js} +4 -5
- package/dist/esm/cli/dev.native.js.map +6 -0
- package/dist/esm/cli/main.js +2 -2
- package/dist/esm/cli/main.mjs +2 -2
- package/dist/esm/cli/main.mjs.map +1 -1
- package/dist/esm/cli/main.native.js +2 -2
- package/dist/esm/cli/main.native.js.map +1 -1
- package/dist/esm/cli.js +2 -6
- package/dist/esm/cli.js.map +2 -2
- package/dist/esm/cli.mjs +3 -7
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +2 -6
- package/dist/esm/cli.native.js.map +2 -2
- package/dist/esm/constants.js +2 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/constants.mjs +3 -2
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +2 -1
- package/dist/esm/constants.native.js.map +2 -2
- package/dist/esm/createHandleRequest.js +130 -81
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs +118 -86
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +148 -95
- package/dist/esm/createHandleRequest.native.js.map +2 -2
- package/dist/esm/createMiddleware.js +7 -0
- package/dist/esm/createMiddleware.js.map +6 -0
- package/dist/esm/createMiddleware.mjs +5 -0
- package/dist/esm/createMiddleware.mjs.map +1 -0
- package/dist/esm/createMiddleware.native.js +7 -0
- package/dist/esm/createMiddleware.native.js.map +6 -0
- package/dist/esm/getRoutes.js +13 -19
- package/dist/esm/getRoutes.js.map +1 -1
- package/dist/esm/getRoutes.mjs +12 -18
- package/dist/esm/getRoutes.mjs.map +1 -1
- package/dist/esm/getRoutes.native.js +20 -25
- package/dist/esm/getRoutes.native.js.map +2 -2
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -0
- package/dist/esm/index.native.js.map +2 -2
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/serve-worker.js +3 -2
- package/dist/esm/serve-worker.js.map +1 -1
- package/dist/esm/serve-worker.mjs +4 -2
- package/dist/esm/serve-worker.mjs.map +1 -1
- package/dist/esm/serve-worker.native.js +3 -2
- package/dist/esm/serve-worker.native.js.map +2 -2
- package/dist/esm/serve.js +12 -13
- package/dist/esm/serve.js.map +1 -1
- package/dist/esm/serve.mjs +12 -14
- package/dist/esm/serve.mjs.map +1 -1
- package/dist/esm/serve.native.js +12 -13
- package/dist/esm/serve.native.js.map +2 -2
- package/dist/esm/server/createRoutesManifest.js.map +1 -1
- package/dist/esm/server/createRoutesManifest.mjs.map +1 -1
- package/dist/esm/server/createRoutesManifest.native.js.map +1 -1
- package/dist/esm/server/getServerManifest.js +7 -2
- package/dist/esm/server/getServerManifest.js.map +1 -1
- package/dist/esm/server/getServerManifest.mjs +7 -2
- package/dist/esm/server/getServerManifest.mjs.map +1 -1
- package/dist/esm/server/getServerManifest.native.js +23 -3
- package/dist/esm/server/getServerManifest.native.js.map +2 -2
- package/dist/esm/server/oneServe.js +100 -110
- package/dist/esm/server/oneServe.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +86 -84
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +107 -89
- package/dist/esm/server/oneServe.native.js.map +2 -2
- package/dist/esm/utils/getHonoPath.js +7 -0
- package/dist/esm/utils/getHonoPath.js.map +6 -0
- package/dist/esm/utils/getHonoPath.mjs +5 -0
- package/dist/esm/utils/getHonoPath.mjs.map +1 -0
- package/dist/esm/utils/getHonoPath.native.js +7 -0
- package/dist/esm/utils/getHonoPath.native.js.map +6 -0
- package/dist/esm/utils/toAbsolute.js +6 -0
- package/dist/esm/utils/toAbsolute.js.map +6 -0
- package/dist/esm/utils/toAbsolute.mjs +4 -0
- package/dist/esm/utils/toAbsolute.mjs.map +1 -0
- package/dist/esm/utils/toAbsolute.native.js +8 -0
- package/dist/esm/utils/toAbsolute.native.js.map +6 -0
- package/dist/esm/vite/one.js +5 -3
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs +4 -3
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +5 -3
- package/dist/esm/vite/one.native.js.map +2 -2
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +7 -9
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +7 -8
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +7 -7
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
- package/dist/esm/vite/resolveResponse.js +64 -0
- package/dist/esm/vite/resolveResponse.js.map +6 -0
- package/dist/esm/vite/resolveResponse.mjs +76 -0
- package/dist/esm/vite/resolveResponse.mjs.map +1 -0
- package/dist/esm/vite/resolveResponse.native.js +73 -0
- package/dist/esm/vite/resolveResponse.native.js.map +6 -0
- package/dist/esm/vite/{headers.js → server.js} +3 -3
- package/dist/esm/vite/{headers.js.map → server.js.map} +2 -2
- package/dist/esm/vite/{headers.mjs → server.mjs} +3 -3
- package/dist/esm/vite/server.mjs.map +1 -0
- package/dist/esm/vite/{headers.native.js → server.native.js} +3 -3
- package/dist/esm/vite/{headers.native.js.map → server.native.js.map} +3 -3
- package/dist/esm/vite.js +2 -2
- package/dist/esm/vite.js.map +1 -1
- package/dist/esm/vite.mjs +2 -2
- package/dist/esm/vite.mjs.map +1 -1
- package/dist/esm/vite.native.js +2 -2
- package/dist/esm/vite.native.js.map +2 -2
- package/package.json +14 -13
- package/src/Route.tsx +2 -0
- package/src/cli/build.ts +110 -53
- package/src/cli/{run.ts → dev.ts} +1 -2
- package/src/cli/main.ts +2 -2
- package/src/cli.ts +2 -6
- package/src/constants.ts +2 -1
- package/src/createHandleRequest.ts +210 -126
- package/src/createMiddleware.ts +14 -0
- package/src/getRoutes.ts +27 -41
- package/src/index.ts +3 -0
- package/src/router/router.ts +1 -0
- package/src/serve-worker.ts +7 -2
- package/src/serve.ts +13 -14
- package/src/server/createRoutesManifest.ts +7 -0
- package/src/server/getServerManifest.ts +16 -0
- package/src/server/oneServe.ts +141 -150
- package/src/types.ts +0 -4
- package/src/utils/getHonoPath.ts +17 -0
- package/src/utils/toAbsolute.ts +3 -0
- package/src/vite/one.ts +13 -5
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +8 -15
- package/src/vite/resolveResponse.ts +93 -0
- package/src/vite/{headers.native.ts → server.native.ts} +1 -1
- package/src/vite/{headers.ts → server.ts} +1 -1
- package/src/vite/types.ts +12 -6
- package/src/vite.ts +1 -1
- package/types/Route.d.ts +2 -0
- package/types/Route.d.ts.map +1 -1
- package/types/cli/build.d.ts.map +1 -1
- package/types/cli/{run.d.ts → dev.d.ts} +2 -2
- package/types/cli/{run.d.ts.map → dev.d.ts.map} +1 -1
- package/types/constants.d.ts +1 -0
- package/types/constants.d.ts.map +1 -1
- package/types/createHandleRequest.d.ts +19 -6
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/createMiddleware.d.ts +12 -0
- package/types/createMiddleware.d.ts.map +1 -0
- package/types/getRoutes.d.ts +0 -3
- package/types/getRoutes.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/layouts/Drawer.d.ts +2 -2
- package/types/layouts/Stack.d.ts +2 -2
- package/types/layouts/Tabs.d.ts +2 -2
- package/types/router/router.d.ts.map +1 -1
- package/types/serve-worker.d.ts +2 -1
- package/types/serve-worker.d.ts.map +1 -1
- package/types/serve.d.ts.map +1 -1
- package/types/server/createRoutesManifest.d.ts +6 -0
- package/types/server/createRoutesManifest.d.ts.map +1 -1
- package/types/server/getServerManifest.d.ts +2 -0
- package/types/server/getServerManifest.d.ts.map +1 -1
- package/types/server/oneServe.d.ts +1 -2
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/types.d.ts +0 -2
- package/types/types.d.ts.map +1 -1
- package/types/utils/getHonoPath.d.ts +2 -0
- package/types/utils/getHonoPath.d.ts.map +1 -0
- package/types/utils/toAbsolute.d.ts +2 -0
- package/types/utils/toAbsolute.d.ts.map +1 -0
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/vite/resolveResponse.d.ts +3 -0
- package/types/vite/resolveResponse.d.ts.map +1 -0
- package/types/vite/{headers.d.ts → server.d.ts} +2 -2
- package/types/vite/server.d.ts.map +1 -0
- package/types/vite/{headers.native.d.ts → server.native.d.ts} +2 -2
- package/types/vite/server.native.d.ts.map +1 -0
- package/types/vite/types.d.ts +11 -5
- package/types/vite/types.d.ts.map +1 -1
- package/types/vite.d.ts +1 -1
- package/types/vite.d.ts.map +1 -1
- package/dist/cjs/cli/run.js.map +0 -6
- package/dist/cjs/cli/run.native.js.map +0 -6
- package/dist/cjs/vite/resolveAPIRequest.cjs +0 -90
- package/dist/cjs/vite/resolveAPIRequest.js +0 -71
- package/dist/cjs/vite/resolveAPIRequest.js.map +0 -6
- package/dist/cjs/vite/resolveAPIRequest.native.js +0 -84
- package/dist/cjs/vite/resolveAPIRequest.native.js.map +0 -6
- package/dist/esm/cli/run.js.map +0 -6
- package/dist/esm/cli/run.mjs.map +0 -1
- package/dist/esm/cli/run.native.js.map +0 -6
- package/dist/esm/vite/headers.mjs.map +0 -1
- package/dist/esm/vite/resolveAPIRequest.js +0 -56
- package/dist/esm/vite/resolveAPIRequest.js.map +0 -6
- package/dist/esm/vite/resolveAPIRequest.mjs +0 -67
- package/dist/esm/vite/resolveAPIRequest.mjs.map +0 -1
- package/dist/esm/vite/resolveAPIRequest.native.js +0 -64
- package/dist/esm/vite/resolveAPIRequest.native.js.map +0 -6
- package/src/vite/resolveAPIRequest.ts +0 -86
- package/types/vite/headers.d.ts.map +0 -1
- package/types/vite/headers.native.d.ts.map +0 -1
- package/types/vite/resolveAPIRequest.d.ts +0 -2
- package/types/vite/resolveAPIRequest.d.ts.map +0 -1
@@ -55,14 +55,32 @@ function getServerManifest(route) {
|
|
55
55
|
throw _iteratorError;
|
56
56
|
}
|
57
57
|
}
|
58
|
-
var apiRoutes = [], pageRoutes = [], _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
|
58
|
+
var apiRoutes = [], middlewareRoutes = [], pageRoutes = [], addedMiddlewares = {}, _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
|
59
59
|
try {
|
60
60
|
for (var _iterator1 = flat[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
61
|
-
var [path1, node] = _step1.value;
|
61
|
+
var [path1, node] = _step1.value, _node_middlewares;
|
62
62
|
if (node.type === "api") {
|
63
63
|
apiRoutes.push(getGeneratedNamedRouteRegex(path1, node));
|
64
64
|
continue;
|
65
65
|
}
|
66
|
+
if (!((_node_middlewares = node.middlewares) === null || _node_middlewares === void 0) && _node_middlewares.length) {
|
67
|
+
var _iteratorNormalCompletion2 = !0, _didIteratorError2 = !1, _iteratorError2 = void 0;
|
68
|
+
try {
|
69
|
+
for (var _iterator2 = node.middlewares[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
70
|
+
var middleware = _step2.value;
|
71
|
+
addedMiddlewares[middleware.contextKey] || (addedMiddlewares[middleware.contextKey] = !0, middlewareRoutes.push(getGeneratedNamedRouteRegex(path1, middleware)));
|
72
|
+
}
|
73
|
+
} catch (err) {
|
74
|
+
_didIteratorError2 = !0, _iteratorError2 = err;
|
75
|
+
} finally {
|
76
|
+
try {
|
77
|
+
!_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
|
78
|
+
} finally {
|
79
|
+
if (_didIteratorError2)
|
80
|
+
throw _iteratorError2;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
66
84
|
pageRoutes.push(getGeneratedNamedRouteRegex(path1, node));
|
67
85
|
}
|
68
86
|
} catch (err) {
|
@@ -77,6 +95,7 @@ function getServerManifest(route) {
|
|
77
95
|
}
|
78
96
|
return {
|
79
97
|
apiRoutes,
|
98
|
+
middlewareRoutes,
|
80
99
|
pageRoutes
|
81
100
|
};
|
82
101
|
}
|
@@ -95,7 +114,8 @@ function getNamedRouteRegex(normalizedRoute, node) {
|
|
95
114
|
type: node.type,
|
96
115
|
namedRegex: result.namedRegex,
|
97
116
|
routeKeys: result.routeKeys,
|
98
|
-
layouts: node.layouts
|
117
|
+
layouts: node.layouts,
|
118
|
+
middlewares: node.middlewares
|
99
119
|
};
|
100
120
|
}
|
101
121
|
function buildGetSafeRouteKey() {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../src/server/Users/n8/one/packages/one/src/server/getServerManifest.ts"],
|
4
|
-
"mappings": "AAWA,SAASA,eAAeC,sBAAsB;AAC9C,SAASC,kBAAkB;
|
5
|
-
"names": ["getContextKey", "matchGroupName", "sortRoutes", "isNotFoundRoute", "route", "Boolean", "dynamic", "length", "notFound", "getServerManifest", "getFlatNodes", "layouts", "children", "flatMap", "child", "key", "type", "contextKey", "replace", "parentSegments", "startsWith", "flat", "sort", "a", "b", "reverse", "pathToRoute", "path", "console", "warn", "apiRoutes", "pageRoutes", "node", "push", "getGeneratedNamedRouteRegex", "normalizedRoute", "getNamedRouteRegex", "generated", "isNotFound", "result", "getNamedRegex", "file", "page", "namedRegex", "routeKeys", "buildGetSafeRouteKey", "currentCharCode", "currentLength", "incrementNext", "i", "String", "fromCharCode", "removeTrailingSlash", "segments", "slice", "split", "getSafeRouteKey", "routeSegments", "map", "segment", "index", "test", "name", "optional", "repeat", "parseParam", "cleanedKey", "invalidKey", "Number", "isNaN", "parseInt", "insideParensRegex", "groupName", "group", "trim", "filter", "optionalSegment", "escapeStringRegexp", "join", "insideBracketsRegex", "tripleDotRegex", "replaceRegex", "hasRegExpRegex", "str", "param"]
|
4
|
+
"mappings": "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",
|
5
|
+
"names": ["getContextKey", "matchGroupName", "sortRoutes", "isNotFoundRoute", "route", "Boolean", "dynamic", "length", "notFound", "getServerManifest", "getFlatNodes", "layouts", "children", "flatMap", "child", "key", "type", "contextKey", "replace", "parentSegments", "startsWith", "flat", "sort", "a", "b", "reverse", "pathToRoute", "path", "console", "warn", "apiRoutes", "middlewareRoutes", "pageRoutes", "addedMiddlewares", "node", "push", "getGeneratedNamedRouteRegex", "middlewares", "middleware", "normalizedRoute", "getNamedRouteRegex", "generated", "isNotFound", "result", "getNamedRegex", "file", "page", "namedRegex", "routeKeys", "buildGetSafeRouteKey", "currentCharCode", "currentLength", "incrementNext", "i", "String", "fromCharCode", "removeTrailingSlash", "segments", "slice", "split", "getSafeRouteKey", "routeSegments", "map", "segment", "index", "test", "name", "optional", "repeat", "parseParam", "cleanedKey", "invalidKey", "Number", "isNaN", "parseInt", "insideParensRegex", "groupName", "group", "trim", "filter", "optionalSegment", "escapeStringRegexp", "join", "insideBracketsRegex", "tripleDotRegex", "replaceRegex", "hasRegExpRegex", "str", "param"]
|
6
6
|
}
|
@@ -1,7 +1,12 @@
|
|
1
|
-
import { join } from "node:path";
|
1
|
+
import { extname, join } from "node:path";
|
2
2
|
import { getServerEntry } from "vxrn/serve";
|
3
|
-
|
4
|
-
|
3
|
+
import { getPathFromLoaderPath } from "../cleanUrl";
|
4
|
+
import { LOADER_JS_POSTFIX_UNCACHED } from "../constants";
|
5
|
+
import { compileManifest, getURLfromRequestURL } from "../createHandleRequest";
|
6
|
+
import { toAbsolute } from "../utils/toAbsolute";
|
7
|
+
import { default as FSExtra } from "fs-extra";
|
8
|
+
async function oneServe(oneOptions, buildInfo, app, serveStatic = !0) {
|
9
|
+
const { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } = await import("../createHandleRequest"), { isResponse } = await import("../utils/isResponse"), { isStatusRedirect } = await import("../utils/isStatus"), isAPIRequest = /* @__PURE__ */ new WeakMap(), redirects = oneOptions.web?.redirects;
|
5
10
|
if (redirects)
|
6
11
|
for (const redirect of redirects)
|
7
12
|
app.get(redirect.source, (context) => {
|
@@ -13,123 +18,108 @@ async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !
|
|
13
18
|
});
|
14
19
|
if (!buildInfo)
|
15
20
|
throw new Error("No build info found, have you run build?");
|
16
|
-
const {
|
17
|
-
for (const route of builtRoutes) {
|
18
|
-
routeToBuildInfo[route.cleanPath] = route;
|
19
|
-
const bracketRoutePath = route.cleanPath.split("/").map((part) => part[0] === ":" ? `[${part.slice(1)}]` : part).join("/");
|
20
|
-
routeToBuildInfo[bracketRoutePath] = route;
|
21
|
-
}
|
22
|
-
const serverOptions = {
|
21
|
+
const { routeToBuildInfo, routeMap } = buildInfo, serverOptions = {
|
23
22
|
...oneOptions,
|
24
|
-
root
|
25
|
-
}, render = (await import(getServerEntry(serverOptions))).default.render, apiCJS = oneOptions.build?.api?.outputFormat === "cjs",
|
26
|
-
{}
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
)
|
58
|
-
|
59
|
-
async handleSSR({ route, url, loaderProps }) {
|
60
|
-
if (route.type === "ssr") {
|
61
|
-
const buildInfo2 = routeToBuildInfo[route.page];
|
62
|
-
if (!buildInfo2)
|
63
|
-
throw new Error(
|
64
|
-
`No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`
|
65
|
-
);
|
66
|
-
try {
|
67
|
-
const loaderData = await (await import(buildInfo2.serverJsPath)).loader?.(loaderProps), preloads = buildInfo2.preloads, headers = new Headers();
|
68
|
-
return headers.set("content-type", "text/html"), new Response(
|
69
|
-
await render({
|
70
|
-
loaderData,
|
71
|
-
loaderProps,
|
72
|
-
path: loaderProps?.path || "/",
|
73
|
-
preloads
|
74
|
-
}),
|
75
|
-
{
|
76
|
-
headers
|
77
|
-
}
|
78
|
-
);
|
79
|
-
} catch (err) {
|
80
|
-
console.error(`[one] Error rendering SSR route ${route.page}
|
23
|
+
root: "."
|
24
|
+
}, render = (await import(getServerEntry(serverOptions))).default.render, apiCJS = oneOptions.build?.api?.outputFormat === "cjs", requestHandlers = {
|
25
|
+
async handleAPI({ route }) {
|
26
|
+
return await import(join(
|
27
|
+
process.cwd(),
|
28
|
+
"dist",
|
29
|
+
"api",
|
30
|
+
route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js")
|
31
|
+
));
|
32
|
+
},
|
33
|
+
async loadMiddleware(route) {
|
34
|
+
return await import(toAbsolute(route.contextKey));
|
35
|
+
},
|
36
|
+
async handlePage({ route, url, loaderProps }) {
|
37
|
+
const buildInfo2 = routeToBuildInfo[route.file];
|
38
|
+
if (route.type === "ssr") {
|
39
|
+
if (!buildInfo2)
|
40
|
+
throw new Error(
|
41
|
+
`No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`
|
42
|
+
);
|
43
|
+
try {
|
44
|
+
const loaderData = await (await import(toAbsolute(buildInfo2.serverJsPath))).loader?.(loaderProps), preloads = buildInfo2.preloads, headers = new Headers();
|
45
|
+
headers.set("content-type", "text/html");
|
46
|
+
const rendered = await render({
|
47
|
+
loaderData,
|
48
|
+
loaderProps,
|
49
|
+
path: loaderProps?.path || "/",
|
50
|
+
preloads
|
51
|
+
});
|
52
|
+
return new Response(rendered, {
|
53
|
+
headers,
|
54
|
+
status: route.isNotFound ? 404 : 200
|
55
|
+
});
|
56
|
+
} catch (err) {
|
57
|
+
console.error(`[one] Error rendering SSR route ${route.page}
|
81
58
|
|
82
|
-
|
59
|
+
${err?.stack ?? err}
|
83
60
|
|
84
|
-
|
85
|
-
|
61
|
+
url: ${url}`);
|
62
|
+
}
|
63
|
+
} else {
|
64
|
+
const htmlPath = routeMap[url.pathname] || routeMap[buildInfo2.cleanPath];
|
65
|
+
if (htmlPath) {
|
66
|
+
const html = await FSExtra.readFile(join("dist/client", htmlPath), "utf-8"), headers = new Headers();
|
67
|
+
return headers.set("content-type", "text/html"), new Response(html, { headers, status: route.isNotFound ? 404 : 200 });
|
86
68
|
}
|
87
69
|
}
|
88
70
|
}
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
}), context.redirect(location, response.status);
|
71
|
+
};
|
72
|
+
function createHonoHandler(route) {
|
73
|
+
return async (context, next) => {
|
74
|
+
if (extname(context.req.path))
|
75
|
+
return await next();
|
76
|
+
try {
|
77
|
+
const request = context.req.raw, url = getURLfromRequestURL(request), response = await (() => {
|
78
|
+
if (url.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {
|
79
|
+
const originalUrl = getPathFromLoaderPath(url.pathname), finalUrl = new URL(originalUrl, url.origin);
|
80
|
+
return resolveLoaderRoute(requestHandlers, request, finalUrl, route);
|
81
|
+
}
|
82
|
+
switch (route.type) {
|
83
|
+
case "api":
|
84
|
+
return resolveAPIRoute(requestHandlers, request, url, route);
|
85
|
+
case "ssg":
|
86
|
+
case "spa":
|
87
|
+
case "ssr":
|
88
|
+
return resolvePageRoute(requestHandlers, request, url, route);
|
108
89
|
}
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
);
|
90
|
+
})();
|
91
|
+
if (response) {
|
92
|
+
if (isResponse(response)) {
|
93
|
+
if (isStatusRedirect(response.status)) {
|
94
|
+
const location = `${response.headers.get("location") || ""}`;
|
95
|
+
return response.headers.forEach((value, key) => {
|
96
|
+
context.header(key, value);
|
97
|
+
}), context.redirect(location, response.status);
|
117
98
|
}
|
118
|
-
|
99
|
+
if (isAPIRequest.get(request))
|
100
|
+
try {
|
101
|
+
return response.headers.set("Cache-Control", "no-store"), response;
|
102
|
+
} catch (err) {
|
103
|
+
console.info(
|
104
|
+
`Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`,
|
105
|
+
err
|
106
|
+
);
|
107
|
+
}
|
108
|
+
return response;
|
109
|
+
}
|
110
|
+
return await next();
|
119
111
|
}
|
120
|
-
|
121
|
-
|
122
|
-
200,
|
123
|
-
isAPIRequest.get(request) ? {
|
124
|
-
"Cache-Control": "no-store"
|
125
|
-
} : void 0
|
126
|
-
);
|
112
|
+
} catch (err) {
|
113
|
+
console.error(` [one] Error handling request: ${err.stack}`);
|
127
114
|
}
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
115
|
+
return await next();
|
116
|
+
};
|
117
|
+
}
|
118
|
+
const compiledManifest = compileManifest(buildInfo.manifest);
|
119
|
+
for (const route of compiledManifest.apiRoutes)
|
120
|
+
app.get(route.honoPath, createHonoHandler(route)), app.put(route.honoPath, createHonoHandler(route)), app.post(route.honoPath, createHonoHandler(route)), app.delete(route.honoPath, createHonoHandler(route)), app.patch(route.honoPath, createHonoHandler(route));
|
121
|
+
for (const route of compiledManifest.pageRoutes)
|
122
|
+
app.get(route.honoPath, createHonoHandler(route));
|
133
123
|
}
|
134
124
|
export {
|
135
125
|
oneServe
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../src/server/oneServe.ts"],
|
4
|
-
"mappings": "
|
4
|
+
"mappings": "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",
|
5
5
|
"names": ["buildInfo"]
|
6
6
|
}
|
@@ -1,8 +1,15 @@
|
|
1
|
-
import { join } from "node:path";
|
1
|
+
import { extname, join } from "node:path";
|
2
2
|
import { getServerEntry } from "vxrn/serve";
|
3
|
-
|
3
|
+
import { getPathFromLoaderPath } from "../cleanUrl.mjs";
|
4
|
+
import { LOADER_JS_POSTFIX_UNCACHED } from "../constants.mjs";
|
5
|
+
import { compileManifest, getURLfromRequestURL } from "../createHandleRequest.mjs";
|
6
|
+
import { toAbsolute } from "../utils/toAbsolute.mjs";
|
7
|
+
import { default as FSExtra } from "fs-extra";
|
8
|
+
async function oneServe(oneOptions, buildInfo, app, serveStatic = !0) {
|
4
9
|
const {
|
5
|
-
|
10
|
+
resolveAPIRoute,
|
11
|
+
resolveLoaderRoute,
|
12
|
+
resolvePageRoute
|
6
13
|
} = await import("../createHandleRequest.mjs"),
|
7
14
|
{
|
8
15
|
isResponse
|
@@ -10,11 +17,7 @@ async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !
|
|
10
17
|
{
|
11
18
|
isStatusRedirect
|
12
19
|
} = await import("../utils/isStatus.mjs"),
|
13
|
-
{
|
14
|
-
resolveAPIRequest
|
15
|
-
} = await import("../vite/resolveAPIRequest.mjs"),
|
16
20
|
isAPIRequest = /* @__PURE__ */new WeakMap(),
|
17
|
-
root = vxrnOptions.root || ".",
|
18
21
|
redirects = oneOptions.web?.redirects;
|
19
22
|
if (redirects) for (const redirect of redirects) app.get(redirect.source, context => {
|
20
23
|
const destinationUrl = redirect.destination.replace(/:\w+/g, param => {
|
@@ -25,115 +28,114 @@ async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !
|
|
25
28
|
});
|
26
29
|
if (!buildInfo) throw new Error("No build info found, have you run build?");
|
27
30
|
const {
|
28
|
-
|
29
|
-
|
31
|
+
routeToBuildInfo,
|
32
|
+
routeMap
|
30
33
|
} = buildInfo,
|
31
|
-
|
32
|
-
for (const route of builtRoutes) {
|
33
|
-
routeToBuildInfo[route.cleanPath] = route;
|
34
|
-
const bracketRoutePath = route.cleanPath.split("/").map(part => part[0] === ":" ? `[${part.slice(1)}]` : part).join("/");
|
35
|
-
routeToBuildInfo[bracketRoutePath] = route;
|
36
|
-
}
|
37
|
-
const serverOptions = {
|
34
|
+
serverOptions = {
|
38
35
|
...oneOptions,
|
39
|
-
root
|
36
|
+
root: "."
|
40
37
|
},
|
41
38
|
render = (await import(getServerEntry(serverOptions))).default.render,
|
42
39
|
apiCJS = oneOptions.build?.api?.outputFormat === "cjs",
|
43
|
-
|
40
|
+
requestHandlers = {
|
44
41
|
async handleAPI({
|
45
|
-
route
|
46
|
-
request,
|
47
|
-
loaderProps
|
42
|
+
route
|
48
43
|
}) {
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
} catch (err) {
|
54
|
-
return console.error(`
|
55
|
-
[one] Error importing API route at ${apiFile}:
|
56
|
-
|
57
|
-
${err}
|
58
|
-
|
59
|
-
If this is an import error, you can likely fix this by adding this dependency to
|
60
|
-
the "optimizeDeps.include" array in your vite.config.ts.
|
61
|
-
|
62
|
-
\u{1F41E} For a better error message run "node" and enter:
|
63
|
-
|
64
|
-
import('${apiFile}')
|
65
|
-
|
66
|
-
`), {};
|
67
|
-
}
|
68
|
-
}, request, loaderProps?.params || {});
|
44
|
+
return await import(join(process.cwd(), "dist", "api", route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js")));
|
45
|
+
},
|
46
|
+
async loadMiddleware(route) {
|
47
|
+
return await import(toAbsolute(route.contextKey));
|
69
48
|
},
|
70
|
-
async
|
49
|
+
async handlePage({
|
71
50
|
route,
|
72
51
|
url,
|
73
52
|
loaderProps
|
74
53
|
}) {
|
54
|
+
const buildInfo2 = routeToBuildInfo[route.file];
|
75
55
|
if (route.type === "ssr") {
|
76
|
-
const buildInfo2 = routeToBuildInfo[route.page];
|
77
56
|
if (!buildInfo2) throw new Error(`No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`);
|
78
57
|
try {
|
79
|
-
const loaderData = await (await import(buildInfo2.serverJsPath)).loader?.(loaderProps),
|
58
|
+
const loaderData = await (await import(toAbsolute(buildInfo2.serverJsPath))).loader?.(loaderProps),
|
80
59
|
preloads = buildInfo2.preloads,
|
81
60
|
headers = new Headers();
|
82
|
-
|
61
|
+
headers.set("content-type", "text/html");
|
62
|
+
const rendered = await render({
|
83
63
|
loaderData,
|
84
64
|
loaderProps,
|
85
65
|
path: loaderProps?.path || "/",
|
86
66
|
preloads
|
87
|
-
})
|
88
|
-
|
67
|
+
});
|
68
|
+
return new Response(rendered, {
|
69
|
+
headers,
|
70
|
+
status: route.isNotFound ? 404 : 200
|
89
71
|
});
|
90
72
|
} catch (err) {
|
91
73
|
console.error(`[one] Error rendering SSR route ${route.page}
|
92
74
|
|
93
|
-
|
75
|
+
${err?.stack ?? err}
|
94
76
|
|
95
|
-
|
77
|
+
url: ${url}`);
|
78
|
+
}
|
79
|
+
} else {
|
80
|
+
const htmlPath = routeMap[url.pathname] || routeMap[buildInfo2.cleanPath];
|
81
|
+
if (htmlPath) {
|
82
|
+
const html = await FSExtra.readFile(join("dist/client", htmlPath), "utf-8"),
|
83
|
+
headers = new Headers();
|
84
|
+
return headers.set("content-type", "text/html"), new Response(html, {
|
85
|
+
headers,
|
86
|
+
status: route.isNotFound ? 404 : 200
|
87
|
+
});
|
96
88
|
}
|
97
89
|
}
|
98
90
|
}
|
99
|
-
}
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
}
|
120
|
-
}
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
91
|
+
};
|
92
|
+
function createHonoHandler(route) {
|
93
|
+
return async (context, next) => {
|
94
|
+
if (extname(context.req.path)) return await next();
|
95
|
+
try {
|
96
|
+
const request = context.req.raw,
|
97
|
+
url = getURLfromRequestURL(request),
|
98
|
+
response = await (() => {
|
99
|
+
if (url.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {
|
100
|
+
const originalUrl = getPathFromLoaderPath(url.pathname),
|
101
|
+
finalUrl = new URL(originalUrl, url.origin);
|
102
|
+
return resolveLoaderRoute(requestHandlers, request, finalUrl, route);
|
103
|
+
}
|
104
|
+
switch (route.type) {
|
105
|
+
case "api":
|
106
|
+
return resolveAPIRoute(requestHandlers, request, url, route);
|
107
|
+
case "ssg":
|
108
|
+
case "spa":
|
109
|
+
case "ssr":
|
110
|
+
return resolvePageRoute(requestHandlers, request, url, route);
|
111
|
+
}
|
112
|
+
})();
|
113
|
+
if (response) {
|
114
|
+
if (isResponse(response)) {
|
115
|
+
if (isStatusRedirect(response.status)) {
|
116
|
+
const location = `${response.headers.get("location") || ""}`;
|
117
|
+
return response.headers.forEach((value, key) => {
|
118
|
+
context.header(key, value);
|
119
|
+
}), context.redirect(location, response.status);
|
120
|
+
}
|
121
|
+
if (isAPIRequest.get(request)) try {
|
122
|
+
return response.headers.set("Cache-Control", "no-store"), response;
|
123
|
+
} catch (err) {
|
124
|
+
console.info(`Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`, err);
|
125
|
+
}
|
126
|
+
return response;
|
125
127
|
}
|
126
|
-
return
|
128
|
+
return await next();
|
127
129
|
}
|
128
|
-
|
129
|
-
|
130
|
-
} : void 0);
|
130
|
+
} catch (err) {
|
131
|
+
console.error(` [one] Error handling request: ${err.stack}`);
|
131
132
|
}
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
133
|
+
return await next();
|
134
|
+
};
|
135
|
+
}
|
136
|
+
const compiledManifest = compileManifest(buildInfo.manifest);
|
137
|
+
for (const route of compiledManifest.apiRoutes) app.get(route.honoPath, createHonoHandler(route)), app.put(route.honoPath, createHonoHandler(route)), app.post(route.honoPath, createHonoHandler(route)), app.delete(route.honoPath, createHonoHandler(route)), app.patch(route.honoPath, createHonoHandler(route));
|
138
|
+
for (const route of compiledManifest.pageRoutes) app.get(route.honoPath, createHonoHandler(route));
|
137
139
|
}
|
138
140
|
export { oneServe };
|
139
141
|
//# sourceMappingURL=oneServe.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["join","getServerEntry","
|
1
|
+
{"version":3,"names":["extname","join","getServerEntry","getPathFromLoaderPath","LOADER_JS_POSTFIX_UNCACHED","compileManifest","getURLfromRequestURL","toAbsolute","default","FSExtra","oneServe","oneOptions","buildInfo","app","serveStatic","resolveAPIRoute","resolveLoaderRoute","resolvePageRoute","isResponse","isStatusRedirect","isAPIRequest","WeakMap","redirects","web","redirect","get","source","context","destinationUrl","destination","replace","param","paramName","substring","req","permanent","Error","routeToBuildInfo","routeMap","serverOptions","root","render","apiCJS","build","api","outputFormat","requestHandlers","handleAPI","route","process","cwd","page","loadMiddleware","contextKey","handlePage","url","loaderProps","buildInfo2","file","type","Object","keys","loaderData","serverJsPath","loader","preloads","headers","Headers","set","rendered","path","Response","status","isNotFound","err","console","error","stack","htmlPath","pathname","cleanPath","html","readFile","createHonoHandler","next","request","raw","response","endsWith","originalUrl","finalUrl","URL","origin","location","forEach","value","key","header","info","compiledManifest","manifest","apiRoutes","honoPath","put","post","delete","patch","pageRoutes"],"sources":["../../../src/server/oneServe.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|