@demiurgejs/core 0.0.0 → 0.1.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/LICENSE +21 -0
- package/README.md +75 -2
- package/dist/adapter/index.d.ts +20 -0
- package/dist/adapter/index.d.ts.map +1 -0
- package/dist/browser/file-router.d.ts +30 -0
- package/dist/browser/file-router.d.ts.map +1 -0
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/chunks/index-BnX9Qxbm.js +44 -0
- package/dist/chunks/index-BnX9Qxbm.js.map +1 -0
- package/dist/chunks/ssr-O3d7Q73U.js +273 -0
- package/dist/chunks/ssr-O3d7Q73U.js.map +1 -0
- package/dist/chunks/streaming-27pwhjGC.js +343 -0
- package/dist/chunks/streaming-27pwhjGC.js.map +1 -0
- package/dist/chunks/testing-BBnJ5WUR.js +2871 -0
- package/dist/chunks/testing-BBnJ5WUR.js.map +1 -0
- package/dist/data/cache.d.ts +95 -0
- package/dist/data/cache.d.ts.map +1 -0
- package/dist/data/idempotency.d.ts +24 -0
- package/dist/data/idempotency.d.ts.map +1 -0
- package/dist/data/index.d.ts +5 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/testing.d.ts +7 -0
- package/dist/data/testing.d.ts.map +1 -0
- package/dist/data/testing.js +134 -0
- package/dist/data/testing.js.map +1 -0
- package/dist/document/hydration.d.ts +13 -0
- package/dist/document/hydration.d.ts.map +1 -0
- package/dist/document/index.d.ts +13 -0
- package/dist/document/index.d.ts.map +1 -0
- package/dist/document/links.d.ts +17 -0
- package/dist/document/links.d.ts.map +1 -0
- package/dist/document/metadata.d.ts +62 -0
- package/dist/document/metadata.d.ts.map +1 -0
- package/dist/document/render.d.ts +28 -0
- package/dist/document/render.d.ts.map +1 -0
- package/dist/document/scripts.d.ts +24 -0
- package/dist/document/scripts.d.ts.map +1 -0
- package/dist/document/seo.d.ts +42 -0
- package/dist/document/seo.d.ts.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1318 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/testing.d.ts +3 -0
- package/dist/internal/testing.d.ts.map +1 -0
- package/dist/internal/testing.js +22 -0
- package/dist/internal/testing.js.map +1 -0
- package/dist/node/http.d.ts +28 -0
- package/dist/node/http.d.ts.map +1 -0
- package/dist/node/index.d.ts +45 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +385 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/static.d.ts +9 -0
- package/dist/node/static.d.ts.map +1 -0
- package/dist/node/streaming.d.ts +5 -0
- package/dist/node/streaming.d.ts.map +1 -0
- package/dist/package-name.d.ts +2 -0
- package/dist/package-name.d.ts.map +1 -0
- package/dist/platform/analytics.d.ts +20 -0
- package/dist/platform/analytics.d.ts.map +1 -0
- package/dist/platform/fonts.d.ts +35 -0
- package/dist/platform/fonts.d.ts.map +1 -0
- package/dist/platform/images.d.ts +49 -0
- package/dist/platform/images.d.ts.map +1 -0
- package/dist/platform/index.d.ts +9 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/platform/observability.d.ts +60 -0
- package/dist/platform/observability.d.ts.map +1 -0
- package/dist/route/action.d.ts +33 -0
- package/dist/route/action.d.ts.map +1 -0
- package/dist/route/http-error.d.ts +24 -0
- package/dist/route/http-error.d.ts.map +1 -0
- package/dist/route/index.d.ts +10 -0
- package/dist/route/index.d.ts.map +1 -0
- package/dist/route/page.d.ts +5 -0
- package/dist/route/page.d.ts.map +1 -0
- package/dist/route/response.d.ts +100 -0
- package/dist/route/response.d.ts.map +1 -0
- package/dist/route/types.d.ts +186 -0
- package/dist/route/types.d.ts.map +1 -0
- package/dist/route/webhook.d.ts +25 -0
- package/dist/route/webhook.d.ts.map +1 -0
- package/dist/router/index.d.ts +5 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/manifest.d.ts +117 -0
- package/dist/router/manifest.d.ts.map +1 -0
- package/dist/router/navigation-data.d.ts +9 -0
- package/dist/router/navigation-data.d.ts.map +1 -0
- package/dist/routing/generate.d.ts +14 -0
- package/dist/routing/generate.d.ts.map +1 -0
- package/dist/routing/index.d.ts +3 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/types.d.ts +38 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/security/audit.d.ts +16 -0
- package/dist/security/audit.d.ts.map +1 -0
- package/dist/security/cors.d.ts +7 -0
- package/dist/security/cors.d.ts.map +1 -0
- package/dist/security/csrf.d.ts +15 -0
- package/dist/security/csrf.d.ts.map +1 -0
- package/dist/security/env.d.ts +69 -0
- package/dist/security/env.d.ts.map +1 -0
- package/dist/security/index.d.ts +17 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/policy.d.ts +18 -0
- package/dist/security/policy.d.ts.map +1 -0
- package/dist/security/rate-limit.d.ts +6 -0
- package/dist/security/rate-limit.d.ts.map +1 -0
- package/dist/security/report.d.ts +13 -0
- package/dist/security/report.d.ts.map +1 -0
- package/dist/security/request.d.ts +11 -0
- package/dist/security/request.d.ts.map +1 -0
- package/dist/security/types.d.ts +137 -0
- package/dist/security/types.d.ts.map +1 -0
- package/dist/security/upload.d.ts +23 -0
- package/dist/security/upload.d.ts.map +1 -0
- package/dist/security/websocket.d.ts +13 -0
- package/dist/security/websocket.d.ts.map +1 -0
- package/dist/server/errors.d.ts +13 -0
- package/dist/server/errors.d.ts.map +1 -0
- package/dist/server/failure-site.d.ts +2 -0
- package/dist/server/failure-site.d.ts.map +1 -0
- package/dist/server/fallbacks.d.ts +10 -0
- package/dist/server/fallbacks.d.ts.map +1 -0
- package/dist/server/index.d.ts +14 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/negotiate.d.ts +3 -0
- package/dist/server/negotiate.d.ts.map +1 -0
- package/dist/server/not-found.d.ts +11 -0
- package/dist/server/not-found.d.ts.map +1 -0
- package/dist/server/problem.d.ts +18 -0
- package/dist/server/problem.d.ts.map +1 -0
- package/dist/server/render-tree.d.ts +4 -0
- package/dist/server/render-tree.d.ts.map +1 -0
- package/dist/server/request-handler.d.ts +40 -0
- package/dist/server/request-handler.d.ts.map +1 -0
- package/dist/server/request-metadata.d.ts +7 -0
- package/dist/server/request-metadata.d.ts.map +1 -0
- package/dist/server/ssr.d.ts +17 -0
- package/dist/server/ssr.d.ts.map +1 -0
- package/dist/static/index.d.ts +23 -0
- package/dist/static/index.d.ts.map +1 -0
- package/dist/static/index.js +256 -0
- package/dist/static/index.js.map +1 -0
- package/dist/vite/index.d.ts +4 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/index.js +580 -0
- package/dist/vite/index.js.map +1 -0
- package/dist/vite/plugin.d.ts +37 -0
- package/dist/vite/plugin.d.ts.map +1 -0
- package/package.json +90 -4
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export type ObservabilityValue = boolean | null | number | string | readonly ObservabilityValue[] | {
|
|
2
|
+
readonly [key: string]: ObservabilityValue;
|
|
3
|
+
};
|
|
4
|
+
export type RequestSignal = {
|
|
5
|
+
duration?: number;
|
|
6
|
+
method: string;
|
|
7
|
+
pathname: string;
|
|
8
|
+
status?: number;
|
|
9
|
+
attributes?: Readonly<Record<string, ObservabilityValue>>;
|
|
10
|
+
};
|
|
11
|
+
export type ServerStartSignal = {
|
|
12
|
+
adapter?: string;
|
|
13
|
+
attributes?: Readonly<Record<string, ObservabilityValue>>;
|
|
14
|
+
timestamp?: number;
|
|
15
|
+
};
|
|
16
|
+
export type TraceSignal = {
|
|
17
|
+
attributes?: Readonly<Record<string, ObservabilityValue>>;
|
|
18
|
+
duration?: number;
|
|
19
|
+
name: string;
|
|
20
|
+
status?: "error" | "ok" | "unset";
|
|
21
|
+
traceId?: string;
|
|
22
|
+
};
|
|
23
|
+
export type WebVitalName = "CLS" | "FCP" | "FID" | "INP" | "LCP" | "TTFB";
|
|
24
|
+
export type WebVitalSignal = {
|
|
25
|
+
id?: string;
|
|
26
|
+
name: WebVitalName;
|
|
27
|
+
navigationType?: string;
|
|
28
|
+
rating?: "good" | "needs-improvement" | "poor";
|
|
29
|
+
value: number;
|
|
30
|
+
attributes?: Readonly<Record<string, ObservabilityValue>>;
|
|
31
|
+
};
|
|
32
|
+
export type InstrumentationEvent = {
|
|
33
|
+
kind: "request";
|
|
34
|
+
signal: RequestSignal;
|
|
35
|
+
} | {
|
|
36
|
+
kind: "server-start";
|
|
37
|
+
signal: ServerStartSignal;
|
|
38
|
+
} | {
|
|
39
|
+
kind: "trace";
|
|
40
|
+
signal: TraceSignal;
|
|
41
|
+
} | {
|
|
42
|
+
kind: "web-vital";
|
|
43
|
+
signal: WebVitalSignal;
|
|
44
|
+
};
|
|
45
|
+
export type InstrumentationHandler<T> = (signal: T) => void | Promise<void>;
|
|
46
|
+
export type InstrumentationOptions = {
|
|
47
|
+
onEvent?: InstrumentationHandler<InstrumentationEvent>;
|
|
48
|
+
request?: InstrumentationHandler<RequestSignal>;
|
|
49
|
+
serverStart?: InstrumentationHandler<ServerStartSignal>;
|
|
50
|
+
trace?: InstrumentationHandler<TraceSignal>;
|
|
51
|
+
webVitals?: InstrumentationHandler<WebVitalSignal>;
|
|
52
|
+
};
|
|
53
|
+
export type Instrumentation = {
|
|
54
|
+
request: (signal: RequestSignal) => Promise<void>;
|
|
55
|
+
serverStart: (signal?: ServerStartSignal) => Promise<void>;
|
|
56
|
+
trace: (signal: TraceSignal) => Promise<void>;
|
|
57
|
+
reportWebVitals: (signal: WebVitalSignal) => Promise<void>;
|
|
58
|
+
};
|
|
59
|
+
export declare function defineInstrumentation(options?: InstrumentationOptions): Instrumentation;
|
|
60
|
+
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/platform/observability.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { CacheDuration, CacheKey, IdempotencyStore } from "../data";
|
|
2
|
+
import type { CorsPolicy, RouteSecurityPolicy } from "../security";
|
|
3
|
+
import type { HttpRouteContext, MaybePromise, ResponseCapability, ServerTimingInput } from "./types";
|
|
4
|
+
export type ActionInput<TInput> = (context: HttpRouteContext) => MaybePromise<TInput>;
|
|
5
|
+
export type ActionContext<TInput> = HttpRouteContext & {
|
|
6
|
+
input: TInput;
|
|
7
|
+
};
|
|
8
|
+
export type ActionIdempotency<TInput> = {
|
|
9
|
+
key: CacheKey | ((context: ActionContext<TInput>) => CacheKey);
|
|
10
|
+
store: IdempotencyStore;
|
|
11
|
+
ttl?: CacheDuration;
|
|
12
|
+
};
|
|
13
|
+
export type ActionOptions<TInput> = {
|
|
14
|
+
cors?: CorsPolicy;
|
|
15
|
+
handler: (context: ActionContext<TInput>) => MaybePromise<Response | ResponseCapability>;
|
|
16
|
+
idempotency?: ActionIdempotency<TInput>;
|
|
17
|
+
input?: ActionInput<TInput>;
|
|
18
|
+
security?: RouteSecurityPolicy;
|
|
19
|
+
timing?: ServerTimingInput;
|
|
20
|
+
};
|
|
21
|
+
export declare function action<TInput = undefined>(options: ActionOptions<TInput>): {
|
|
22
|
+
cors: CorsPolicy | undefined;
|
|
23
|
+
kind: "response";
|
|
24
|
+
response: import("./types").RouteValue<Response>;
|
|
25
|
+
security: RouteSecurityPolicy | undefined;
|
|
26
|
+
timing: any[] | undefined;
|
|
27
|
+
};
|
|
28
|
+
export declare const actionInput: {
|
|
29
|
+
formData({ request }: HttpRouteContext): Promise<FormData>;
|
|
30
|
+
json({ request }: HttpRouteContext): Promise<unknown>;
|
|
31
|
+
text({ request }: HttpRouteContext): Promise<string>;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/route/action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,WAAW,CAAC,MAAM,IAAI,CAChC,OAAO,EAAE,gBAAgB,KACtB,YAAY,CAAC,MAAM,CAAC,CAAC;AAE1B,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI,gBAAgB,GAAG;IACrD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,MAAM,IAAI;IACtC,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC/D,KAAK,EAAE,gBAAgB,CAAC;IACxB,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI;IAClC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,CACP,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAC3B,YAAY,CAAC,QAAQ,GAAG,kBAAkB,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,MAAM,CAAC,MAAM,GAAG,SAAS,EACvC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;;;;;;EAqC/B;AAED,eAAO,MAAM,WAAW;0BACM,gBAAgB;sBAGpB,gBAAgB;sBAGhB,gBAAgB;CAGzC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const HTTP_ERROR_STATUSES: readonly [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 421, 422, 423, 424, 425, 426, 428, 429, 431, 451, 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511];
|
|
2
|
+
export type HttpErrorStatus = (typeof HTTP_ERROR_STATUSES)[number];
|
|
3
|
+
export type HttpErrorDetails = {
|
|
4
|
+
detail?: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
type?: string;
|
|
7
|
+
[extension: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
export type HttpErrorInit = {
|
|
10
|
+
cause?: unknown;
|
|
11
|
+
headers?: HeadersInit;
|
|
12
|
+
};
|
|
13
|
+
export declare class HttpError extends Error {
|
|
14
|
+
readonly detail?: string;
|
|
15
|
+
readonly extensions: Readonly<Record<string, unknown>>;
|
|
16
|
+
readonly headers: Headers;
|
|
17
|
+
readonly status: HttpErrorStatus;
|
|
18
|
+
readonly title: string;
|
|
19
|
+
readonly type: string;
|
|
20
|
+
constructor(status: HttpErrorStatus, details?: string | HttpErrorDetails, init?: HttpErrorInit);
|
|
21
|
+
}
|
|
22
|
+
export declare function httpError(status: HttpErrorStatus, details?: string | HttpErrorDetails, init?: HttpErrorInit): HttpError;
|
|
23
|
+
export declare function isHttpError(error: unknown): error is HttpError;
|
|
24
|
+
//# sourceMappingURL=http-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-error.d.ts","sourceRoot":"","sources":["../../src/route/http-error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,mNAyCtB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AA+CF,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAGpB,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,MAAM,GAAG,gBAAqB,EACvC,IAAI,GAAE,aAAkB;CAuB3B;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,EACnC,IAAI,CAAC,EAAE,aAAa,aAGrB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { action, actionInput, } from "./action";
|
|
2
|
+
export { page } from "./page";
|
|
3
|
+
export { HTTP_ERROR_STATUSES, HttpError, httpError, isHttpError, } from "./http-error";
|
|
4
|
+
export { html, json, jsonl, notFound, redirect, response, serverTiming, sse, stream, text, toResponse, } from "./response";
|
|
5
|
+
export { webhook } from "./webhook";
|
|
6
|
+
export type { ActionContext, ActionIdempotency, ActionInput, ActionOptions, } from "./action";
|
|
7
|
+
export type { HttpErrorDetails, HttpErrorInit, HttpErrorStatus, } from "./http-error";
|
|
8
|
+
export type { WebhookHmacAlgorithm, WebhookHmacContext, WebhookHmacEncoding, WebhookHmacOptions, } from "./webhook";
|
|
9
|
+
export type { HtmlCapability, HttpRouteContext, HttpMethod, JsonCapability, JsonLinesCapability, JsonLinesSource, LayoutProps, MaybePromise, NotFoundCapability, NotFoundProps, PageDataContext, PageDataFunction, PageCapability, PageOptions, PageRenderMode, PageRenderOptions, PathVars, RawResponseCapability, RedirectCapability, ResponseOptions, ResponseCapability, RouteCapability, RouteContext, RouteErrorProps, RouteImporter, RouteDefaultComponent, RouteMiddleware, RouteMiddlewareNext, RouteModule, RoutePolicy, RouteProps, RouteValue, ServerTimingInput, ServerTimingMetric, ServerSentEvent, ServerSentEventSource, ServerSentEventsCapability, StaticPath, StaticPathsContext, StaticPathsFunction, StreamCapability, StreamChunk, StreamSource, TextCapability, } from "./types";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/route/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,GAAG,EACH,MAAM,EACN,IAAI,EACJ,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ComponentType } from "react";
|
|
2
|
+
import type { PageCapability, PageOptions, RouteProps } from "./types";
|
|
3
|
+
export declare function page<const TPath extends string = string>(options: ComponentType<RouteProps<TPath>>): PageCapability<TPath>;
|
|
4
|
+
export declare function page<const TPath extends string = string, TData = undefined>(options: PageOptions<TPath, TData>): PageCapability<TPath, TData>;
|
|
5
|
+
//# sourceMappingURL=page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/route/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEvE,wBAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACtD,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GACxC,cAAc,CAAC,KAAK,CAAC,CAAC;AACzB,wBAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,GAAG,SAAS,EACzE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GACjC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { HttpRouteContext, JsonCapability, JsonLinesSource, RedirectCapability, ResponseOptions, ResponseCapability, RouteValue, ServerTimingMetric, ServerSentEventSource, StreamSource } from "./types";
|
|
2
|
+
import { type AppHref, type LinkTarget } from "../routing";
|
|
3
|
+
export declare function json<T>(value: JsonCapability<T>["value"], init?: ResponseOptions): {
|
|
4
|
+
cors: import("..").CorsPolicy | undefined;
|
|
5
|
+
kind: "json";
|
|
6
|
+
security: import("..").RouteSecurityPolicy | undefined;
|
|
7
|
+
timing: any[] | undefined;
|
|
8
|
+
value: RouteValue<T>;
|
|
9
|
+
init: {
|
|
10
|
+
headers?: HeadersInit;
|
|
11
|
+
status?: number;
|
|
12
|
+
statusText?: string;
|
|
13
|
+
} | undefined;
|
|
14
|
+
};
|
|
15
|
+
export declare function jsonl(lines: RouteValue<JsonLinesSource>, init?: ResponseOptions): {
|
|
16
|
+
cors: import("..").CorsPolicy | undefined;
|
|
17
|
+
init: {
|
|
18
|
+
headers?: HeadersInit;
|
|
19
|
+
status?: number;
|
|
20
|
+
statusText?: string;
|
|
21
|
+
} | undefined;
|
|
22
|
+
kind: "jsonl";
|
|
23
|
+
lines: RouteValue<JsonLinesSource>;
|
|
24
|
+
security: import("..").RouteSecurityPolicy | undefined;
|
|
25
|
+
timing: any[] | undefined;
|
|
26
|
+
};
|
|
27
|
+
export declare function text(value: RouteValue<string>, init?: ResponseOptions): {
|
|
28
|
+
cors: import("..").CorsPolicy | undefined;
|
|
29
|
+
kind: "text";
|
|
30
|
+
security: import("..").RouteSecurityPolicy | undefined;
|
|
31
|
+
timing: any[] | undefined;
|
|
32
|
+
value: RouteValue<string>;
|
|
33
|
+
init: {
|
|
34
|
+
headers?: HeadersInit;
|
|
35
|
+
status?: number;
|
|
36
|
+
statusText?: string;
|
|
37
|
+
} | undefined;
|
|
38
|
+
};
|
|
39
|
+
export declare function html(value: RouteValue<string>, init?: ResponseOptions): {
|
|
40
|
+
cors: import("..").CorsPolicy | undefined;
|
|
41
|
+
kind: "html";
|
|
42
|
+
security: import("..").RouteSecurityPolicy | undefined;
|
|
43
|
+
timing: any[] | undefined;
|
|
44
|
+
value: RouteValue<string>;
|
|
45
|
+
init: {
|
|
46
|
+
headers?: HeadersInit;
|
|
47
|
+
status?: number;
|
|
48
|
+
statusText?: string;
|
|
49
|
+
} | undefined;
|
|
50
|
+
};
|
|
51
|
+
export declare function redirect<const TTo extends AppHref>(to: LinkTarget<TTo>, init?: ResponseOptions | number): RedirectCapability;
|
|
52
|
+
export declare function redirect(to: RouteValue<string | URL>, init?: ResponseOptions | number): RedirectCapability;
|
|
53
|
+
export declare function notFound(body?: RouteValue<string>, init?: ResponseOptions): {
|
|
54
|
+
cors: import("..").CorsPolicy | undefined;
|
|
55
|
+
kind: "not-found";
|
|
56
|
+
security: import("..").RouteSecurityPolicy | undefined;
|
|
57
|
+
timing: any[] | undefined;
|
|
58
|
+
body: RouteValue<string> | undefined;
|
|
59
|
+
init: {
|
|
60
|
+
headers?: HeadersInit;
|
|
61
|
+
status?: number;
|
|
62
|
+
statusText?: string;
|
|
63
|
+
} | undefined;
|
|
64
|
+
};
|
|
65
|
+
export declare function response(response: RouteValue<Response>, init?: Pick<ResponseOptions, "cors" | "security" | "timing">): {
|
|
66
|
+
cors: import("..").CorsPolicy | undefined;
|
|
67
|
+
kind: "response";
|
|
68
|
+
response: RouteValue<Response>;
|
|
69
|
+
security: import("..").RouteSecurityPolicy | undefined;
|
|
70
|
+
timing: any[] | undefined;
|
|
71
|
+
};
|
|
72
|
+
export declare function stream(body: RouteValue<StreamSource>, init?: ResponseOptions): {
|
|
73
|
+
body: RouteValue<StreamSource>;
|
|
74
|
+
cors: import("..").CorsPolicy | undefined;
|
|
75
|
+
init: {
|
|
76
|
+
headers?: HeadersInit;
|
|
77
|
+
status?: number;
|
|
78
|
+
statusText?: string;
|
|
79
|
+
} | undefined;
|
|
80
|
+
kind: "stream";
|
|
81
|
+
security: import("..").RouteSecurityPolicy | undefined;
|
|
82
|
+
timing: any[] | undefined;
|
|
83
|
+
};
|
|
84
|
+
export declare function sse(events: RouteValue<ServerSentEventSource>, init?: ResponseOptions): {
|
|
85
|
+
cors: import("..").CorsPolicy | undefined;
|
|
86
|
+
events: RouteValue<ServerSentEventSource>;
|
|
87
|
+
init: {
|
|
88
|
+
headers?: HeadersInit;
|
|
89
|
+
status?: number;
|
|
90
|
+
statusText?: string;
|
|
91
|
+
} | undefined;
|
|
92
|
+
kind: "sse";
|
|
93
|
+
security: import("..").RouteSecurityPolicy | undefined;
|
|
94
|
+
timing: any[] | undefined;
|
|
95
|
+
};
|
|
96
|
+
export declare function serverTiming(...metrics: readonly ServerTimingMetric[]): readonly ServerTimingMetric[];
|
|
97
|
+
export declare function toResponse(capability: ResponseCapability, context: HttpRouteContext): Promise<Response>;
|
|
98
|
+
export declare function applyServerTimingHeader(response: Response, timing: readonly ServerTimingMetric[] | undefined): Response;
|
|
99
|
+
export declare function renderServerTimingHeader(timing: readonly ServerTimingMetric[]): string;
|
|
100
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/route/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EAEd,eAAe,EAIf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,UAAU,EAEV,kBAAkB,EAGlB,qBAAqB,EAIrB,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAQ,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EACjC,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EAUvB;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,EAClC,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EAUvB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EASrE;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EASrE;AAED,wBAAgB,QAAQ,CAAC,KAAK,CAAC,GAAG,SAAS,OAAO,EAChD,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EACnB,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,GAC9B,kBAAkB,CAAC;AACtB,wBAAgB,QAAQ,CACtB,EAAE,EAAE,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,EAC5B,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,GAC9B,kBAAkB,CAAC;AAiBtB,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EASzE;AAED,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;;;;;;EAS7D;AAED,wBAAgB,MAAM,CACpB,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,EAC9B,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EAUvB;AAED,wBAAgB,GAAG,CACjB,MAAM,EAAE,UAAU,CAAC,qBAAqB,CAAC,EACzC,IAAI,CAAC,EAAE,eAAe;;;;;;;;;;;EAUvB;AAED,wBAAgB,YAAY,CAC1B,GAAG,OAAO,EAAE,SAAS,kBAAkB,EAAE,GACxC,SAAS,kBAAkB,EAAE,CAE/B;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,kBAAkB,EAC9B,OAAO,EAAE,gBAAgB,qBA8F1B;AAoND,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,YAsBlD;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,kBAAkB,EAAE,UAGtC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from "react";
|
|
2
|
+
import type { Cache } from "../data";
|
|
3
|
+
import type { LinkContribution, Metadata, ScriptContribution } from "../document";
|
|
4
|
+
import type { PathValue, PathVarsFor, RouteParamsFor, RoutePathVars } from "../routing/types";
|
|
5
|
+
import type { CorsPolicy, RoutePolicy, RouteSecurityPolicy } from "../security/types";
|
|
6
|
+
import type { HttpErrorStatus } from "./http-error";
|
|
7
|
+
export type { RoutePolicy } from "../security/types";
|
|
8
|
+
export type MaybePromise<T> = T | Promise<T>;
|
|
9
|
+
export type PathVars = Record<string, string>;
|
|
10
|
+
export type RouteContext<TPath extends string = string> = {
|
|
11
|
+
path: RouteParamsFor<TPath>;
|
|
12
|
+
pathname: string;
|
|
13
|
+
};
|
|
14
|
+
export type HttpRouteContext<TPath extends string = string> = RouteContext<TPath> & {
|
|
15
|
+
request: Request;
|
|
16
|
+
search: URLSearchParams;
|
|
17
|
+
url: URL;
|
|
18
|
+
};
|
|
19
|
+
export type PageDataContext<TPath extends string = string> = HttpRouteContext<TPath> & {
|
|
20
|
+
cache: Cache;
|
|
21
|
+
};
|
|
22
|
+
export type PageDataFunction<TPath extends string = string, TData = unknown> = (context: PageDataContext<TPath>) => MaybePromise<TData>;
|
|
23
|
+
export type StaticPathsContext = {
|
|
24
|
+
cache: Cache;
|
|
25
|
+
};
|
|
26
|
+
export type StaticPath<TPath extends string = string> = TPath extends keyof RoutePathVars & string ? PathVarsFor<TPath> : Record<string, PathValue>;
|
|
27
|
+
export type StaticPathsFunction<TPath extends string = string> = (context: StaticPathsContext) => MaybePromise<readonly StaticPath<TPath>[]>;
|
|
28
|
+
export type RouteMiddlewareNext = () => MaybePromise<Response>;
|
|
29
|
+
export type RouteMiddleware<TPath extends string = string> = (context: HttpRouteContext<TPath>, next: RouteMiddlewareNext) => MaybePromise<Response>;
|
|
30
|
+
export type RouteValue<T> = T | ((context: HttpRouteContext) => MaybePromise<T>);
|
|
31
|
+
export type RouteProps<TPath extends string = string, TData = undefined> = RouteContext<TPath> & ([TData] extends [undefined] ? {
|
|
32
|
+
data?: undefined;
|
|
33
|
+
} : {
|
|
34
|
+
data: TData;
|
|
35
|
+
});
|
|
36
|
+
export type LayoutProps<TPath extends string = string> = RouteContext<TPath> & {
|
|
37
|
+
children: ReactNode;
|
|
38
|
+
};
|
|
39
|
+
export type NotFoundProps = {
|
|
40
|
+
pathname: string;
|
|
41
|
+
};
|
|
42
|
+
export type RouteErrorProps = {
|
|
43
|
+
error: unknown;
|
|
44
|
+
pathname: string;
|
|
45
|
+
status: HttpErrorStatus;
|
|
46
|
+
};
|
|
47
|
+
export type RouteDefaultComponent = ComponentType | ComponentType<LayoutProps> | ComponentType<NotFoundProps> | ComponentType<RouteErrorProps>;
|
|
48
|
+
export type PageCapability<TPath extends string = string, TData = undefined> = {
|
|
49
|
+
data?: PageDataFunction<TPath, TData>;
|
|
50
|
+
kind: "page";
|
|
51
|
+
layout?: false;
|
|
52
|
+
render: PageRenderOptions;
|
|
53
|
+
view: ComponentType<RouteProps<TPath, TData>>;
|
|
54
|
+
};
|
|
55
|
+
export type PageRenderMode = "ssr" | "static" | "streaming";
|
|
56
|
+
export type PageRenderOptions = {
|
|
57
|
+
mode: PageRenderMode;
|
|
58
|
+
};
|
|
59
|
+
export type AnyPageCapability = {
|
|
60
|
+
data?: PageDataFunction<string, unknown>;
|
|
61
|
+
kind: "page";
|
|
62
|
+
layout?: false;
|
|
63
|
+
render: PageRenderOptions;
|
|
64
|
+
view: unknown;
|
|
65
|
+
};
|
|
66
|
+
export type JsonCapability<T = unknown> = {
|
|
67
|
+
cors?: CorsPolicy;
|
|
68
|
+
kind: "json";
|
|
69
|
+
security?: RouteSecurityPolicy;
|
|
70
|
+
timing?: readonly ServerTimingMetric[];
|
|
71
|
+
value: RouteValue<T>;
|
|
72
|
+
init?: ResponseInit;
|
|
73
|
+
};
|
|
74
|
+
export type JsonLinesSource = Iterable<unknown> | AsyncIterable<unknown> | ReadableStream<unknown>;
|
|
75
|
+
export type JsonLinesCapability = {
|
|
76
|
+
cors?: CorsPolicy;
|
|
77
|
+
init?: ResponseInit;
|
|
78
|
+
kind: "jsonl";
|
|
79
|
+
lines: RouteValue<JsonLinesSource>;
|
|
80
|
+
security?: RouteSecurityPolicy;
|
|
81
|
+
timing?: readonly ServerTimingMetric[];
|
|
82
|
+
};
|
|
83
|
+
export type TextCapability = {
|
|
84
|
+
cors?: CorsPolicy;
|
|
85
|
+
kind: "text";
|
|
86
|
+
security?: RouteSecurityPolicy;
|
|
87
|
+
timing?: readonly ServerTimingMetric[];
|
|
88
|
+
value: RouteValue<string>;
|
|
89
|
+
init?: ResponseInit;
|
|
90
|
+
};
|
|
91
|
+
export type HtmlCapability = {
|
|
92
|
+
cors?: CorsPolicy;
|
|
93
|
+
kind: "html";
|
|
94
|
+
security?: RouteSecurityPolicy;
|
|
95
|
+
timing?: readonly ServerTimingMetric[];
|
|
96
|
+
value: RouteValue<string>;
|
|
97
|
+
init?: ResponseInit;
|
|
98
|
+
};
|
|
99
|
+
export type RedirectCapability = {
|
|
100
|
+
cors?: CorsPolicy;
|
|
101
|
+
kind: "redirect";
|
|
102
|
+
security?: RouteSecurityPolicy;
|
|
103
|
+
timing?: readonly ServerTimingMetric[];
|
|
104
|
+
to: RouteValue<string | URL>;
|
|
105
|
+
init?: ResponseInit;
|
|
106
|
+
};
|
|
107
|
+
export type NotFoundCapability = {
|
|
108
|
+
cors?: CorsPolicy;
|
|
109
|
+
kind: "not-found";
|
|
110
|
+
security?: RouteSecurityPolicy;
|
|
111
|
+
timing?: readonly ServerTimingMetric[];
|
|
112
|
+
body?: RouteValue<string>;
|
|
113
|
+
init?: ResponseInit;
|
|
114
|
+
};
|
|
115
|
+
export type RawResponseCapability = {
|
|
116
|
+
cors?: CorsPolicy;
|
|
117
|
+
kind: "response";
|
|
118
|
+
response: RouteValue<Response>;
|
|
119
|
+
security?: RouteSecurityPolicy;
|
|
120
|
+
timing?: readonly ServerTimingMetric[];
|
|
121
|
+
};
|
|
122
|
+
export type StreamChunk = string | Uint8Array;
|
|
123
|
+
export type StreamSource = Iterable<StreamChunk> | AsyncIterable<StreamChunk> | ReadableStream<StreamChunk>;
|
|
124
|
+
export type StreamCapability = {
|
|
125
|
+
body: RouteValue<StreamSource>;
|
|
126
|
+
cors?: CorsPolicy;
|
|
127
|
+
init?: ResponseInit;
|
|
128
|
+
kind: "stream";
|
|
129
|
+
security?: RouteSecurityPolicy;
|
|
130
|
+
timing?: readonly ServerTimingMetric[];
|
|
131
|
+
};
|
|
132
|
+
export type ServerSentEvent = {
|
|
133
|
+
comment?: string;
|
|
134
|
+
data?: unknown;
|
|
135
|
+
event?: string;
|
|
136
|
+
id?: string;
|
|
137
|
+
retry?: number;
|
|
138
|
+
};
|
|
139
|
+
export type ServerSentEventSource = Iterable<ServerSentEvent | string> | AsyncIterable<ServerSentEvent | string> | ReadableStream<ServerSentEvent | string>;
|
|
140
|
+
export type ServerSentEventsCapability = {
|
|
141
|
+
cors?: CorsPolicy;
|
|
142
|
+
events: RouteValue<ServerSentEventSource>;
|
|
143
|
+
init?: ResponseInit;
|
|
144
|
+
kind: "sse";
|
|
145
|
+
security?: RouteSecurityPolicy;
|
|
146
|
+
timing?: readonly ServerTimingMetric[];
|
|
147
|
+
};
|
|
148
|
+
export type ResponseCapability = JsonCapability | JsonLinesCapability | TextCapability | HtmlCapability | RedirectCapability | NotFoundCapability | RawResponseCapability | StreamCapability | ServerSentEventsCapability;
|
|
149
|
+
export type RouteCapability = AnyPageCapability | ResponseCapability;
|
|
150
|
+
export type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
|
|
151
|
+
export type PageOptions<TPath extends string = string, TData = undefined> = {
|
|
152
|
+
data?: PageDataFunction<TPath, TData>;
|
|
153
|
+
layout?: false;
|
|
154
|
+
render?: PageRenderOptions;
|
|
155
|
+
view: ComponentType<RouteProps<TPath, TData>>;
|
|
156
|
+
};
|
|
157
|
+
export type ResponseOptions = ResponseInit & {
|
|
158
|
+
cors?: CorsPolicy;
|
|
159
|
+
security?: RouteSecurityPolicy;
|
|
160
|
+
timing?: ServerTimingInput;
|
|
161
|
+
};
|
|
162
|
+
export type ServerTimingMetric = {
|
|
163
|
+
description?: string;
|
|
164
|
+
duration?: number;
|
|
165
|
+
name: string;
|
|
166
|
+
};
|
|
167
|
+
export type ServerTimingInput = ServerTimingMetric | readonly ServerTimingMetric[];
|
|
168
|
+
export type RouteModule = {
|
|
169
|
+
GET?: RouteCapability;
|
|
170
|
+
POST?: ResponseCapability;
|
|
171
|
+
PUT?: ResponseCapability;
|
|
172
|
+
PATCH?: ResponseCapability;
|
|
173
|
+
DELETE?: ResponseCapability;
|
|
174
|
+
OPTIONS?: ResponseCapability;
|
|
175
|
+
HEAD?: ResponseCapability;
|
|
176
|
+
default?: RouteDefaultComponent;
|
|
177
|
+
layout?: false;
|
|
178
|
+
links?: LinkContribution;
|
|
179
|
+
metadata?: Metadata;
|
|
180
|
+
middleware?: RouteMiddleware;
|
|
181
|
+
paths?: StaticPathsFunction;
|
|
182
|
+
policy?: RoutePolicy;
|
|
183
|
+
scripts?: ScriptContribution;
|
|
184
|
+
};
|
|
185
|
+
export type RouteImporter = () => Promise<RouteModule>;
|
|
186
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/route/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { HttpRouteContext, MaybePromise } from "./types";
|
|
2
|
+
export type WebhookHmacEncoding = "base64" | "hex";
|
|
3
|
+
export type WebhookHmacAlgorithm = "SHA-256" | "SHA-384" | "SHA-512";
|
|
4
|
+
export type WebhookHmacContext = HttpRouteContext & {
|
|
5
|
+
rawBody: Uint8Array;
|
|
6
|
+
text: () => string;
|
|
7
|
+
};
|
|
8
|
+
export type WebhookHmacOptions = {
|
|
9
|
+
algorithm?: WebhookHmacAlgorithm;
|
|
10
|
+
encoding?: WebhookHmacEncoding;
|
|
11
|
+
handler: (context: WebhookHmacContext) => MaybePromise<Response>;
|
|
12
|
+
header?: string;
|
|
13
|
+
prefix?: false | string;
|
|
14
|
+
secret: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const webhook: {
|
|
17
|
+
hmac(options: WebhookHmacOptions): {
|
|
18
|
+
kind: "response";
|
|
19
|
+
response: (context: HttpRouteContext<string>) => Promise<Response>;
|
|
20
|
+
security: {
|
|
21
|
+
csrf: false;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=webhook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/route/webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EAEb,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,KAAK,CAAC;AACnD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG;IAClD,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,OAAO;kBACJ,kBAAkB;;;;;;;CAgCjC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { collectStaticRoutePaths, createRouteManifest, findLayoutsForPath, findPoliciesForPath, findPageMatch, findRouteMatch, isAttachedFileForRoute, isLayoutForPage, loadErrorFallback, loadLoadingFallback, loadNotFoundMatch, loadPageRoute, loadRoute, MalformedPathnameError, matchSegments, scoreRoute, splitPathname, toRouteSegments, } from "./manifest";
|
|
2
|
+
export type { InitialRouteData } from "../document";
|
|
3
|
+
export { createNavigationDataResponse, isNavigationDataRequest, markNavigationResponse, NAVIGATION_DATA_HEADER, NAVIGATION_DATA_REQUEST, NAVIGATION_DATA_RESPONSE, NAVIGATION_ERROR_RESPONSE, NAVIGATION_NOT_FOUND_RESPONSE, } from "./navigation-data";
|
|
4
|
+
export type { FallbackRoute, LayoutRoute, LoadedNotFoundMatch, LoadedRouteMatch, MiddlewareRoute, PendingRouteMatch, PolicyRoute, RouteRecord, RouteManifest, StaticRoutePath, } from "./manifest";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { ComponentType } from "react";
|
|
2
|
+
import { type Cache } from "../data";
|
|
3
|
+
import { type InitialRouteData, type LinkTag, type ResolvedMetadata, type ScriptTag } from "../document";
|
|
4
|
+
import type { LayoutProps, NotFoundProps, PageRenderOptions, PathVars, RouteErrorProps, RouteImporter, RouteProps } from "../route";
|
|
5
|
+
export type RouteRecord = {
|
|
6
|
+
file: string;
|
|
7
|
+
fileSegments: string[];
|
|
8
|
+
segments: string[];
|
|
9
|
+
score: number;
|
|
10
|
+
load: RouteImporter;
|
|
11
|
+
};
|
|
12
|
+
export type LayoutRoute = {
|
|
13
|
+
file: string;
|
|
14
|
+
fileSegments: string[];
|
|
15
|
+
segments: string[];
|
|
16
|
+
load: RouteImporter;
|
|
17
|
+
};
|
|
18
|
+
export type PolicyRoute = {
|
|
19
|
+
file: string;
|
|
20
|
+
fileSegments: string[];
|
|
21
|
+
segments: string[];
|
|
22
|
+
load: RouteImporter;
|
|
23
|
+
};
|
|
24
|
+
export type MiddlewareRoute = {
|
|
25
|
+
file: string;
|
|
26
|
+
fileSegments: string[];
|
|
27
|
+
segments: string[];
|
|
28
|
+
load: RouteImporter;
|
|
29
|
+
};
|
|
30
|
+
export type FallbackRoute = {
|
|
31
|
+
file: string;
|
|
32
|
+
fileSegments: string[];
|
|
33
|
+
segments: string[];
|
|
34
|
+
load: RouteImporter;
|
|
35
|
+
};
|
|
36
|
+
export type RouteManifest = {
|
|
37
|
+
fallbacks: {
|
|
38
|
+
error: FallbackRoute[];
|
|
39
|
+
loading: FallbackRoute[];
|
|
40
|
+
notFound: FallbackRoute[];
|
|
41
|
+
};
|
|
42
|
+
routes: RouteRecord[];
|
|
43
|
+
layouts: LayoutRoute[];
|
|
44
|
+
middlewares: MiddlewareRoute[];
|
|
45
|
+
policies: PolicyRoute[];
|
|
46
|
+
};
|
|
47
|
+
export type LoadedRouteMatch = {
|
|
48
|
+
data?: unknown;
|
|
49
|
+
error?: ComponentType<RouteErrorProps>;
|
|
50
|
+
links: LinkTag[];
|
|
51
|
+
page: ComponentType<RouteProps<string, unknown>>;
|
|
52
|
+
layouts: ComponentType<LayoutProps>[];
|
|
53
|
+
metadata: ResolvedMetadata;
|
|
54
|
+
path: PathVars;
|
|
55
|
+
pathname: string;
|
|
56
|
+
render: PageRenderOptions;
|
|
57
|
+
scripts: ScriptTag[];
|
|
58
|
+
};
|
|
59
|
+
export type StaticRoutePath = {
|
|
60
|
+
file: string;
|
|
61
|
+
path: PathVars;
|
|
62
|
+
pattern: string;
|
|
63
|
+
pathname: string;
|
|
64
|
+
};
|
|
65
|
+
export type LoadedNotFoundMatch = {
|
|
66
|
+
layouts: ComponentType<LayoutProps>[];
|
|
67
|
+
metadata: ResolvedMetadata;
|
|
68
|
+
notFound?: ComponentType<NotFoundProps>;
|
|
69
|
+
pathname: string;
|
|
70
|
+
};
|
|
71
|
+
export type PendingRouteMatch = {
|
|
72
|
+
error: unknown;
|
|
73
|
+
Error?: ComponentType<RouteErrorProps>;
|
|
74
|
+
pathname: string;
|
|
75
|
+
status: "error";
|
|
76
|
+
} | {
|
|
77
|
+
loading?: ComponentType;
|
|
78
|
+
status: "loading";
|
|
79
|
+
} | (LoadedNotFoundMatch & {
|
|
80
|
+
status: "not-found";
|
|
81
|
+
}) | {
|
|
82
|
+
status: "ready";
|
|
83
|
+
match: LoadedRouteMatch;
|
|
84
|
+
};
|
|
85
|
+
export declare function createRouteManifest(routes: Record<string, RouteImporter>): RouteManifest;
|
|
86
|
+
export declare function loadPageRoute(manifest: RouteManifest, pathname: string, request?: Request, initialData?: InitialRouteData, cache?: Cache, options?: {
|
|
87
|
+
documentContributions?: boolean;
|
|
88
|
+
}): Promise<PendingRouteMatch>;
|
|
89
|
+
export declare function collectStaticRoutePaths(manifest: RouteManifest): Promise<StaticRoutePath[]>;
|
|
90
|
+
export declare function loadLoadingFallback(manifest: RouteManifest, pathname: string): Promise<ComponentType | undefined>;
|
|
91
|
+
export declare function loadErrorFallback(manifest: RouteManifest, pathname: string): Promise<ComponentType<RouteErrorProps> | undefined>;
|
|
92
|
+
export declare function loadNotFoundMatch(manifest: RouteManifest, pathname: string, options?: {
|
|
93
|
+
documentContributions?: boolean;
|
|
94
|
+
fallback?: FallbackRoute;
|
|
95
|
+
layouts?: LayoutRoute[];
|
|
96
|
+
onLayoutError?: (error: unknown) => void;
|
|
97
|
+
}): Promise<LoadedNotFoundMatch>;
|
|
98
|
+
export declare function findLayoutsForPath(manifest: RouteManifest, pathname: string): LayoutRoute[];
|
|
99
|
+
export declare function findPoliciesForPath(manifest: RouteManifest, pathname: string): PolicyRoute[];
|
|
100
|
+
export declare function findRouteMatch(routes: RouteRecord[], pathname: string): {
|
|
101
|
+
route: RouteRecord;
|
|
102
|
+
path: PathVars;
|
|
103
|
+
} | null;
|
|
104
|
+
export declare const loadRoute: typeof loadPageRoute;
|
|
105
|
+
export declare const findPageMatch: typeof findRouteMatch;
|
|
106
|
+
export declare function matchSegments(routeSegments: string[], pathnameSegments: string[]): PathVars | null;
|
|
107
|
+
export declare function isLayoutForPage(layoutSegments: string[], pageSegments: string[]): boolean;
|
|
108
|
+
export declare function isAttachedFileForRoute(attachedFileSegments: string[], routeFileSegments: string[]): boolean;
|
|
109
|
+
export declare function toRouteSegments(fileSegments: string[]): string[];
|
|
110
|
+
export declare function isRouteGroupSegment(segment: string): boolean;
|
|
111
|
+
export declare function scoreRoute(fileSegments: string[]): number;
|
|
112
|
+
export declare function splitPathname(pathname: string): string[];
|
|
113
|
+
export declare class MalformedPathnameError extends URIError {
|
|
114
|
+
readonly pathname: string;
|
|
115
|
+
constructor(pathname: string, options?: ErrorOptions);
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/router/manifest.ts"],"names":[],"mappings":"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"}
|