@mokup/runtime 0.1.1 → 1.0.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.
- package/dist/index.cjs +19 -5
- package/dist/index.d.cts +6 -6
- package/dist/index.d.mts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.mjs +19 -5
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -216,7 +216,7 @@ function normalizeRules(value) {
|
|
|
216
216
|
if (typeof value === "function") {
|
|
217
217
|
return [
|
|
218
218
|
{
|
|
219
|
-
|
|
219
|
+
handler: value
|
|
220
220
|
}
|
|
221
221
|
];
|
|
222
222
|
}
|
|
@@ -225,7 +225,7 @@ function normalizeRules(value) {
|
|
|
225
225
|
}
|
|
226
226
|
return [
|
|
227
227
|
{
|
|
228
|
-
|
|
228
|
+
handler: value
|
|
229
229
|
}
|
|
230
230
|
];
|
|
231
231
|
}
|
|
@@ -233,7 +233,7 @@ async function executeRule(rule, context) {
|
|
|
233
233
|
if (!rule) {
|
|
234
234
|
return void 0;
|
|
235
235
|
}
|
|
236
|
-
const value = rule.
|
|
236
|
+
const value = rule.handler;
|
|
237
237
|
if (typeof value === "function") {
|
|
238
238
|
const handler = value;
|
|
239
239
|
return handler(context);
|
|
@@ -474,6 +474,18 @@ function applyRouteOverrides(response, route) {
|
|
|
474
474
|
}
|
|
475
475
|
return new Response(response.body, { status, headers });
|
|
476
476
|
}
|
|
477
|
+
function resolveResponse(value, fallback) {
|
|
478
|
+
if (value instanceof Response) {
|
|
479
|
+
return value;
|
|
480
|
+
}
|
|
481
|
+
if (value && typeof value === "object" && "res" in value) {
|
|
482
|
+
const resolved = value.res;
|
|
483
|
+
if (resolved instanceof Response) {
|
|
484
|
+
return resolved;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
return fallback;
|
|
488
|
+
}
|
|
477
489
|
function normalizeHandlerValue(c, value) {
|
|
478
490
|
if (value instanceof Response) {
|
|
479
491
|
return value;
|
|
@@ -530,11 +542,13 @@ function createRouteHandler(params) {
|
|
|
530
542
|
function createFinalizeMiddleware(route) {
|
|
531
543
|
return async (c, next) => {
|
|
532
544
|
const response = await next();
|
|
533
|
-
const resolved = response
|
|
545
|
+
const resolved = resolveResponse(response, c.res);
|
|
534
546
|
if (route.delay && route.delay > 0) {
|
|
535
547
|
await delay(route.delay);
|
|
536
548
|
}
|
|
537
|
-
|
|
549
|
+
const overridden = applyRouteOverrides(resolved, route);
|
|
550
|
+
c.res = overridden;
|
|
551
|
+
return overridden;
|
|
538
552
|
};
|
|
539
553
|
}
|
|
540
554
|
async function buildApp(params) {
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Context,
|
|
2
|
-
export { handle } from '@mokup/shared/hono';
|
|
1
|
+
import { Context, Hono } from '@mokup/shared/hono';
|
|
2
|
+
export { Context, MiddlewareHandler, handle } from '@mokup/shared/hono';
|
|
3
3
|
|
|
4
4
|
type RouteToken = {
|
|
5
5
|
type: 'static';
|
|
@@ -78,9 +78,9 @@ interface RuntimeResult {
|
|
|
78
78
|
headers: Record<string, string>;
|
|
79
79
|
body: string | Uint8Array | null;
|
|
80
80
|
}
|
|
81
|
-
type
|
|
82
|
-
type
|
|
83
|
-
|
|
81
|
+
type RequestHandler = (context: Context) => Response | Promise<Response> | unknown;
|
|
82
|
+
type RouteResponse = unknown | RequestHandler;
|
|
83
|
+
|
|
84
84
|
interface RuntimeOptions {
|
|
85
85
|
manifest: Manifest | (() => Promise<Manifest>);
|
|
86
86
|
moduleBase?: string | URL;
|
|
@@ -94,4 +94,4 @@ declare function createRuntime(options: RuntimeOptions): {
|
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
export { compareRouteScore, createRuntime, createRuntimeApp, matchRouteTokens, normalizePathname, parseRouteTemplate, scoreRouteTokens };
|
|
97
|
-
export type { HttpMethod, Manifest, ManifestModuleRef, ManifestResponse, ManifestRoute,
|
|
97
|
+
export type { HttpMethod, Manifest, ManifestModuleRef, ManifestResponse, ManifestRoute, ModuleMap, ParsedRouteTemplate, RequestHandler, RouteResponse, RouteToken, RuntimeOptions, RuntimeRequest, RuntimeResult };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Context,
|
|
2
|
-
export { handle } from '@mokup/shared/hono';
|
|
1
|
+
import { Context, Hono } from '@mokup/shared/hono';
|
|
2
|
+
export { Context, MiddlewareHandler, handle } from '@mokup/shared/hono';
|
|
3
3
|
|
|
4
4
|
type RouteToken = {
|
|
5
5
|
type: 'static';
|
|
@@ -78,9 +78,9 @@ interface RuntimeResult {
|
|
|
78
78
|
headers: Record<string, string>;
|
|
79
79
|
body: string | Uint8Array | null;
|
|
80
80
|
}
|
|
81
|
-
type
|
|
82
|
-
type
|
|
83
|
-
|
|
81
|
+
type RequestHandler = (context: Context) => Response | Promise<Response> | unknown;
|
|
82
|
+
type RouteResponse = unknown | RequestHandler;
|
|
83
|
+
|
|
84
84
|
interface RuntimeOptions {
|
|
85
85
|
manifest: Manifest | (() => Promise<Manifest>);
|
|
86
86
|
moduleBase?: string | URL;
|
|
@@ -94,4 +94,4 @@ declare function createRuntime(options: RuntimeOptions): {
|
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
export { compareRouteScore, createRuntime, createRuntimeApp, matchRouteTokens, normalizePathname, parseRouteTemplate, scoreRouteTokens };
|
|
97
|
-
export type { HttpMethod, Manifest, ManifestModuleRef, ManifestResponse, ManifestRoute,
|
|
97
|
+
export type { HttpMethod, Manifest, ManifestModuleRef, ManifestResponse, ManifestRoute, ModuleMap, ParsedRouteTemplate, RequestHandler, RouteResponse, RouteToken, RuntimeOptions, RuntimeRequest, RuntimeResult };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Context,
|
|
2
|
-
export { handle } from '@mokup/shared/hono';
|
|
1
|
+
import { Context, Hono } from '@mokup/shared/hono';
|
|
2
|
+
export { Context, MiddlewareHandler, handle } from '@mokup/shared/hono';
|
|
3
3
|
|
|
4
4
|
type RouteToken = {
|
|
5
5
|
type: 'static';
|
|
@@ -78,9 +78,9 @@ interface RuntimeResult {
|
|
|
78
78
|
headers: Record<string, string>;
|
|
79
79
|
body: string | Uint8Array | null;
|
|
80
80
|
}
|
|
81
|
-
type
|
|
82
|
-
type
|
|
83
|
-
|
|
81
|
+
type RequestHandler = (context: Context) => Response | Promise<Response> | unknown;
|
|
82
|
+
type RouteResponse = unknown | RequestHandler;
|
|
83
|
+
|
|
84
84
|
interface RuntimeOptions {
|
|
85
85
|
manifest: Manifest | (() => Promise<Manifest>);
|
|
86
86
|
moduleBase?: string | URL;
|
|
@@ -94,4 +94,4 @@ declare function createRuntime(options: RuntimeOptions): {
|
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
export { compareRouteScore, createRuntime, createRuntimeApp, matchRouteTokens, normalizePathname, parseRouteTemplate, scoreRouteTokens };
|
|
97
|
-
export type { HttpMethod, Manifest, ManifestModuleRef, ManifestResponse, ManifestRoute,
|
|
97
|
+
export type { HttpMethod, Manifest, ManifestModuleRef, ManifestResponse, ManifestRoute, ModuleMap, ParsedRouteTemplate, RequestHandler, RouteResponse, RouteToken, RuntimeOptions, RuntimeRequest, RuntimeResult };
|
package/dist/index.mjs
CHANGED
|
@@ -215,7 +215,7 @@ function normalizeRules(value) {
|
|
|
215
215
|
if (typeof value === "function") {
|
|
216
216
|
return [
|
|
217
217
|
{
|
|
218
|
-
|
|
218
|
+
handler: value
|
|
219
219
|
}
|
|
220
220
|
];
|
|
221
221
|
}
|
|
@@ -224,7 +224,7 @@ function normalizeRules(value) {
|
|
|
224
224
|
}
|
|
225
225
|
return [
|
|
226
226
|
{
|
|
227
|
-
|
|
227
|
+
handler: value
|
|
228
228
|
}
|
|
229
229
|
];
|
|
230
230
|
}
|
|
@@ -232,7 +232,7 @@ async function executeRule(rule, context) {
|
|
|
232
232
|
if (!rule) {
|
|
233
233
|
return void 0;
|
|
234
234
|
}
|
|
235
|
-
const value = rule.
|
|
235
|
+
const value = rule.handler;
|
|
236
236
|
if (typeof value === "function") {
|
|
237
237
|
const handler = value;
|
|
238
238
|
return handler(context);
|
|
@@ -473,6 +473,18 @@ function applyRouteOverrides(response, route) {
|
|
|
473
473
|
}
|
|
474
474
|
return new Response(response.body, { status, headers });
|
|
475
475
|
}
|
|
476
|
+
function resolveResponse(value, fallback) {
|
|
477
|
+
if (value instanceof Response) {
|
|
478
|
+
return value;
|
|
479
|
+
}
|
|
480
|
+
if (value && typeof value === "object" && "res" in value) {
|
|
481
|
+
const resolved = value.res;
|
|
482
|
+
if (resolved instanceof Response) {
|
|
483
|
+
return resolved;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
return fallback;
|
|
487
|
+
}
|
|
476
488
|
function normalizeHandlerValue(c, value) {
|
|
477
489
|
if (value instanceof Response) {
|
|
478
490
|
return value;
|
|
@@ -529,11 +541,13 @@ function createRouteHandler(params) {
|
|
|
529
541
|
function createFinalizeMiddleware(route) {
|
|
530
542
|
return async (c, next) => {
|
|
531
543
|
const response = await next();
|
|
532
|
-
const resolved = response
|
|
544
|
+
const resolved = resolveResponse(response, c.res);
|
|
533
545
|
if (route.delay && route.delay > 0) {
|
|
534
546
|
await delay(route.delay);
|
|
535
547
|
}
|
|
536
|
-
|
|
548
|
+
const overridden = applyRouteOverrides(resolved, route);
|
|
549
|
+
c.res = overridden;
|
|
550
|
+
return overridden;
|
|
537
551
|
};
|
|
538
552
|
}
|
|
539
553
|
async function buildApp(params) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mokup/runtime",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"description": "Cross-runtime mock matching and response handling for mokup.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://mokup.icebreaker.top",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"dist"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@mokup/shared": "
|
|
30
|
+
"@mokup/shared": "1.0.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"typescript": "^5.9.3",
|