@demiurgejs/core 0.0.0 → 0.1.1

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 (157) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +75 -2
  3. package/dist/adapter/index.d.ts +20 -0
  4. package/dist/adapter/index.d.ts.map +1 -0
  5. package/dist/browser/file-router.d.ts +35 -0
  6. package/dist/browser/file-router.d.ts.map +1 -0
  7. package/dist/browser/index.d.ts +3 -0
  8. package/dist/browser/index.d.ts.map +1 -0
  9. package/dist/chunks/index-BnX9Qxbm.js +44 -0
  10. package/dist/chunks/index-BnX9Qxbm.js.map +1 -0
  11. package/dist/chunks/ssr-BJejKlkZ.js +275 -0
  12. package/dist/chunks/ssr-BJejKlkZ.js.map +1 -0
  13. package/dist/chunks/static-files-DUjHw-4H.js +11 -0
  14. package/dist/chunks/static-files-DUjHw-4H.js.map +1 -0
  15. package/dist/chunks/streaming-DN1DnbRE.js +343 -0
  16. package/dist/chunks/streaming-DN1DnbRE.js.map +1 -0
  17. package/dist/chunks/testing-DR3eQAvY.js +2872 -0
  18. package/dist/chunks/testing-DR3eQAvY.js.map +1 -0
  19. package/dist/data/cache.d.ts +95 -0
  20. package/dist/data/cache.d.ts.map +1 -0
  21. package/dist/data/idempotency.d.ts +24 -0
  22. package/dist/data/idempotency.d.ts.map +1 -0
  23. package/dist/data/index.d.ts +5 -0
  24. package/dist/data/index.d.ts.map +1 -0
  25. package/dist/data/testing.d.ts +7 -0
  26. package/dist/data/testing.d.ts.map +1 -0
  27. package/dist/data/testing.js +134 -0
  28. package/dist/data/testing.js.map +1 -0
  29. package/dist/document/hydration.d.ts +13 -0
  30. package/dist/document/hydration.d.ts.map +1 -0
  31. package/dist/document/index.d.ts +13 -0
  32. package/dist/document/index.d.ts.map +1 -0
  33. package/dist/document/links.d.ts +17 -0
  34. package/dist/document/links.d.ts.map +1 -0
  35. package/dist/document/metadata.d.ts +62 -0
  36. package/dist/document/metadata.d.ts.map +1 -0
  37. package/dist/document/render.d.ts +29 -0
  38. package/dist/document/render.d.ts.map +1 -0
  39. package/dist/document/scripts.d.ts +24 -0
  40. package/dist/document/scripts.d.ts.map +1 -0
  41. package/dist/document/seo.d.ts +42 -0
  42. package/dist/document/seo.d.ts.map +1 -0
  43. package/dist/index.d.ts +23 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +1328 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/internal/testing.d.ts +3 -0
  48. package/dist/internal/testing.d.ts.map +1 -0
  49. package/dist/internal/testing.js +22 -0
  50. package/dist/internal/testing.js.map +1 -0
  51. package/dist/node/http.d.ts +28 -0
  52. package/dist/node/http.d.ts.map +1 -0
  53. package/dist/node/index.d.ts +45 -0
  54. package/dist/node/index.d.ts.map +1 -0
  55. package/dist/node/index.js +386 -0
  56. package/dist/node/index.js.map +1 -0
  57. package/dist/node/static.d.ts +9 -0
  58. package/dist/node/static.d.ts.map +1 -0
  59. package/dist/node/streaming.d.ts +5 -0
  60. package/dist/node/streaming.d.ts.map +1 -0
  61. package/dist/package-name.d.ts +2 -0
  62. package/dist/package-name.d.ts.map +1 -0
  63. package/dist/platform/analytics.d.ts +20 -0
  64. package/dist/platform/analytics.d.ts.map +1 -0
  65. package/dist/platform/fonts.d.ts +35 -0
  66. package/dist/platform/fonts.d.ts.map +1 -0
  67. package/dist/platform/images.d.ts +49 -0
  68. package/dist/platform/images.d.ts.map +1 -0
  69. package/dist/platform/index.d.ts +9 -0
  70. package/dist/platform/index.d.ts.map +1 -0
  71. package/dist/platform/observability.d.ts +60 -0
  72. package/dist/platform/observability.d.ts.map +1 -0
  73. package/dist/route/action.d.ts +33 -0
  74. package/dist/route/action.d.ts.map +1 -0
  75. package/dist/route/http-error.d.ts +24 -0
  76. package/dist/route/http-error.d.ts.map +1 -0
  77. package/dist/route/index.d.ts +10 -0
  78. package/dist/route/index.d.ts.map +1 -0
  79. package/dist/route/page.d.ts +5 -0
  80. package/dist/route/page.d.ts.map +1 -0
  81. package/dist/route/response.d.ts +100 -0
  82. package/dist/route/response.d.ts.map +1 -0
  83. package/dist/route/types.d.ts +186 -0
  84. package/dist/route/types.d.ts.map +1 -0
  85. package/dist/route/webhook.d.ts +25 -0
  86. package/dist/route/webhook.d.ts.map +1 -0
  87. package/dist/router/index.d.ts +5 -0
  88. package/dist/router/index.d.ts.map +1 -0
  89. package/dist/router/manifest.d.ts +119 -0
  90. package/dist/router/manifest.d.ts.map +1 -0
  91. package/dist/router/navigation-data.d.ts +9 -0
  92. package/dist/router/navigation-data.d.ts.map +1 -0
  93. package/dist/routing/generate.d.ts +14 -0
  94. package/dist/routing/generate.d.ts.map +1 -0
  95. package/dist/routing/index.d.ts +3 -0
  96. package/dist/routing/index.d.ts.map +1 -0
  97. package/dist/routing/types.d.ts +38 -0
  98. package/dist/routing/types.d.ts.map +1 -0
  99. package/dist/security/audit.d.ts +16 -0
  100. package/dist/security/audit.d.ts.map +1 -0
  101. package/dist/security/cors.d.ts +7 -0
  102. package/dist/security/cors.d.ts.map +1 -0
  103. package/dist/security/csrf.d.ts +15 -0
  104. package/dist/security/csrf.d.ts.map +1 -0
  105. package/dist/security/env.d.ts +69 -0
  106. package/dist/security/env.d.ts.map +1 -0
  107. package/dist/security/index.d.ts +17 -0
  108. package/dist/security/index.d.ts.map +1 -0
  109. package/dist/security/policy.d.ts +18 -0
  110. package/dist/security/policy.d.ts.map +1 -0
  111. package/dist/security/rate-limit.d.ts +6 -0
  112. package/dist/security/rate-limit.d.ts.map +1 -0
  113. package/dist/security/report.d.ts +13 -0
  114. package/dist/security/report.d.ts.map +1 -0
  115. package/dist/security/request.d.ts +11 -0
  116. package/dist/security/request.d.ts.map +1 -0
  117. package/dist/security/types.d.ts +137 -0
  118. package/dist/security/types.d.ts.map +1 -0
  119. package/dist/security/upload.d.ts +23 -0
  120. package/dist/security/upload.d.ts.map +1 -0
  121. package/dist/security/websocket.d.ts +13 -0
  122. package/dist/security/websocket.d.ts.map +1 -0
  123. package/dist/server/errors.d.ts +13 -0
  124. package/dist/server/errors.d.ts.map +1 -0
  125. package/dist/server/failure-site.d.ts +2 -0
  126. package/dist/server/failure-site.d.ts.map +1 -0
  127. package/dist/server/fallbacks.d.ts +10 -0
  128. package/dist/server/fallbacks.d.ts.map +1 -0
  129. package/dist/server/index.d.ts +14 -0
  130. package/dist/server/index.d.ts.map +1 -0
  131. package/dist/server/negotiate.d.ts +3 -0
  132. package/dist/server/negotiate.d.ts.map +1 -0
  133. package/dist/server/not-found.d.ts +11 -0
  134. package/dist/server/not-found.d.ts.map +1 -0
  135. package/dist/server/problem.d.ts +18 -0
  136. package/dist/server/problem.d.ts.map +1 -0
  137. package/dist/server/render-tree.d.ts +4 -0
  138. package/dist/server/render-tree.d.ts.map +1 -0
  139. package/dist/server/request-handler.d.ts +40 -0
  140. package/dist/server/request-handler.d.ts.map +1 -0
  141. package/dist/server/request-metadata.d.ts +7 -0
  142. package/dist/server/request-metadata.d.ts.map +1 -0
  143. package/dist/server/ssr.d.ts +17 -0
  144. package/dist/server/ssr.d.ts.map +1 -0
  145. package/dist/static/index.d.ts +28 -0
  146. package/dist/static/index.d.ts.map +1 -0
  147. package/dist/static/index.js +377 -0
  148. package/dist/static/index.js.map +1 -0
  149. package/dist/static-files.d.ts +5 -0
  150. package/dist/static-files.d.ts.map +1 -0
  151. package/dist/vite/index.d.ts +4 -0
  152. package/dist/vite/index.d.ts.map +1 -0
  153. package/dist/vite/index.js +746 -0
  154. package/dist/vite/index.js.map +1 -0
  155. package/dist/vite/plugin.d.ts +37 -0
  156. package/dist/vite/plugin.d.ts.map +1 -0
  157. package/package.json +93 -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,119 @@
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, options?: {
90
+ includeResources?: boolean;
91
+ }): Promise<StaticRoutePath[]>;
92
+ export declare function loadLoadingFallback(manifest: RouteManifest, pathname: string): Promise<ComponentType | undefined>;
93
+ export declare function loadErrorFallback(manifest: RouteManifest, pathname: string): Promise<ComponentType<RouteErrorProps> | undefined>;
94
+ export declare function loadNotFoundMatch(manifest: RouteManifest, pathname: string, options?: {
95
+ documentContributions?: boolean;
96
+ fallback?: FallbackRoute;
97
+ layouts?: LayoutRoute[];
98
+ onLayoutError?: (error: unknown) => void;
99
+ }): Promise<LoadedNotFoundMatch>;
100
+ export declare function findLayoutsForPath(manifest: RouteManifest, pathname: string): LayoutRoute[];
101
+ export declare function findPoliciesForPath(manifest: RouteManifest, pathname: string): PolicyRoute[];
102
+ export declare function findRouteMatch(routes: RouteRecord[], pathname: string): {
103
+ route: RouteRecord;
104
+ path: PathVars;
105
+ } | null;
106
+ export declare const loadRoute: typeof loadPageRoute;
107
+ export declare const findPageMatch: typeof findRouteMatch;
108
+ export declare function matchSegments(routeSegments: string[], pathnameSegments: string[]): PathVars | null;
109
+ export declare function isLayoutForPage(layoutSegments: string[], pageSegments: string[]): boolean;
110
+ export declare function isAttachedFileForRoute(attachedFileSegments: string[], routeFileSegments: string[]): boolean;
111
+ export declare function toRouteSegments(fileSegments: string[]): string[];
112
+ export declare function isRouteGroupSegment(segment: string): boolean;
113
+ export declare function scoreRoute(fileSegments: string[]): number;
114
+ export declare function splitPathname(pathname: string): string[];
115
+ export declare class MalformedPathnameError extends URIError {
116
+ readonly pathname: string;
117
+ constructor(pathname: string, options?: ErrorOptions);
118
+ }
119
+ //# 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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"}