@vidact/start 0.2.0-beta.0 → 0.2.0-beta.4

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 (57) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/client.d.ts +18 -16
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +137 -165
  5. package/dist/client.js.map +1 -1
  6. package/dist/index-client.d.ts +5 -4
  7. package/dist/index-client.js +4 -4
  8. package/dist/index.d.ts +5 -4
  9. package/dist/index.js +4 -4
  10. package/dist/link-client.d.ts +6 -4
  11. package/dist/link-client.d.ts.map +1 -1
  12. package/dist/link-client.js +8 -4
  13. package/dist/link-client.js.map +1 -1
  14. package/dist/link-contract.d.ts +10 -7
  15. package/dist/link-contract.d.ts.map +1 -1
  16. package/dist/link-contract.js +11 -7
  17. package/dist/link-contract.js.map +1 -1
  18. package/dist/link.d.ts +6 -4
  19. package/dist/link.d.ts.map +1 -1
  20. package/dist/link.js +8 -4
  21. package/dist/link.js.map +1 -1
  22. package/dist/router.d.ts +57 -55
  23. package/dist/router.d.ts.map +1 -1
  24. package/dist/router.js +150 -157
  25. package/dist/router.js.map +1 -1
  26. package/dist/server.d.ts +18 -16
  27. package/dist/server.d.ts.map +1 -1
  28. package/dist/server.js +86 -99
  29. package/dist/server.js.map +1 -1
  30. package/dist/snapshot.d.ts +13 -10
  31. package/dist/snapshot.d.ts.map +1 -1
  32. package/dist/snapshot.js +19 -20
  33. package/dist/snapshot.js.map +1 -1
  34. package/dist/virtual.d.ts +3 -2
  35. package/dist/virtual.js +1 -2
  36. package/dist/vite.d.ts +18 -15
  37. package/dist/vite.d.ts.map +1 -1
  38. package/dist/vite.js +144 -171
  39. package/dist/vite.js.map +1 -1
  40. package/package.json +8 -7
  41. package/src/client.ts +262 -0
  42. package/src/index-client.ts +3 -0
  43. package/src/index.ts +3 -0
  44. package/src/link-client.ts +10 -0
  45. package/src/link-contract.ts +17 -0
  46. package/src/link.ts +10 -0
  47. package/src/router.ts +282 -0
  48. package/src/server.ts +200 -0
  49. package/src/snapshot.ts +40 -0
  50. package/src/virtual.ts +5 -0
  51. package/src/vite.ts +256 -0
  52. package/dist/index-client.d.ts.map +0 -1
  53. package/dist/index-client.js.map +0 -1
  54. package/dist/index.d.ts.map +0 -1
  55. package/dist/index.js.map +0 -1
  56. package/dist/virtual.d.ts.map +0 -1
  57. package/dist/virtual.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"link-contract.js","sourceRoot":"","sources":["../src/link-contract.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,MAAM,EAAE,cAAc,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;IACxE,OAAO;QACL,GAAG,UAAU;QACb,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,2BAA2B,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"link-contract.js","names":[],"sources":["../src/link-contract.ts"],"mappings":";AASA,SAAgB,YAAY,OAA2C;CACrE,MAAM,EAAE,iBAAiB,OAAO,UAAU,OAAO,GAAG,eAAe;CACnE,OAAO;EACL,GAAG;EACH,GAAI,iBAAiB,CAAC,IAAI,EAAE,0BAA0B,GAAG;EACzD,GAAI,UAAU,EAAE,6BAA6B,GAAG,IAAI,CAAC;CACvD;AACF"}
package/dist/link.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- import type { CompiledRenderValue } from '@vidact/runtime';
2
- import { type LinkProps } from './link-contract.js';
3
- export declare function Link(props: LinkProps): CompiledRenderValue;
4
- export type { LinkProps };
1
+ import { LinkProps } from "./link-contract.js";
2
+ import { CompiledRenderValue } from "@vidact/runtime";
3
+ //#region src/link.d.ts
4
+ declare function Link(props: LinkProps): CompiledRenderValue;
5
+ //#endregion
6
+ export { Link, type LinkProps };
5
7
  //# sourceMappingURL=link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAG1D,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEhE,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB,CAE1D;AAED,YAAY,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"link.d.ts","names":[],"sources":["../src/link.ts"],"mappings":";;;iBAKgB,KAAK,OAAO,YAAY"}
package/dist/link.js CHANGED
@@ -1,6 +1,10 @@
1
- import { createElement } from '@vidact/runtime/server';
2
- import { anchorProps } from './link-contract.js';
3
- export function Link(props) {
4
- return createElement('a', anchorProps(props));
1
+ import { anchorProps } from "./link-contract.js";
2
+ import { createElement } from "@vidact/runtime/server";
3
+ //#region src/link.ts
4
+ function Link(props) {
5
+ return createElement("a", anchorProps(props));
5
6
  }
7
+ //#endregion
8
+ export { Link };
9
+
6
10
  //# sourceMappingURL=link.js.map
package/dist/link.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAoB,MAAM,wBAAwB,CAAA;AAExE,OAAO,EAAE,WAAW,EAAkB,MAAM,oBAAoB,CAAA;AAEhE,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAkD,CAAA;AAChG,CAAC"}
1
+ {"version":3,"file":"link.js","names":[],"sources":["../src/link.ts"],"mappings":";;;AAKA,SAAgB,KAAK,OAAuC;CAC1D,OAAO,cAAc,KAAK,YAAY,KAAK,CAAC;AAC9C"}
package/dist/router.d.ts CHANGED
@@ -1,69 +1,71 @@
1
- import type { CompiledRenderValue } from '@vidact/runtime';
2
- import type { FrameworkValue } from '@vidact/runtime/framework/protocol';
1
+ import { CompiledRenderValue } from "@vidact/runtime";
2
+ import { FrameworkValue } from "@vidact/runtime/framework/protocol";
3
+ //#region src/router.d.ts
3
4
  declare const FILE_ROUTE: unique symbol;
4
- export type RouteParameters = Readonly<Record<string, string>>;
5
- export type StartComponent<LoaderData extends FrameworkValue = FrameworkValue> = {
6
- bivarianceHack(props: RouteComponentProps<LoaderData>): unknown;
5
+ type RouteParameters = Readonly<Record<string, string>>;
6
+ type StartComponent<LoaderData extends FrameworkValue = FrameworkValue> = {
7
+ bivarianceHack(props: RouteComponentProps<LoaderData>): unknown;
7
8
  }['bivarianceHack'];
8
- export interface RouteComponentProps<LoaderData extends FrameworkValue = FrameworkValue> extends Readonly<Record<string, unknown>> {
9
- readonly children?: CompiledRenderValue;
10
- readonly loaderData: LoaderData;
11
- readonly params: RouteParameters;
12
- readonly requestUrl: string;
9
+ interface RouteComponentProps<LoaderData extends FrameworkValue = FrameworkValue> extends Readonly<Record<string, unknown>> {
10
+ readonly children?: CompiledRenderValue;
11
+ readonly loaderData: LoaderData;
12
+ readonly params: RouteParameters;
13
+ readonly requestUrl: string;
13
14
  }
14
- export interface RouteLoaderContext {
15
- readonly parentData: Readonly<Record<string, FrameworkValue>>;
16
- readonly params: RouteParameters;
17
- readonly request: Request;
15
+ interface RouteLoaderContext {
16
+ readonly parentData: Readonly<Record<string, FrameworkValue>>;
17
+ readonly params: RouteParameters;
18
+ readonly request: Request;
18
19
  }
19
- export interface RouteServerContext {
20
- readonly params: RouteParameters;
21
- readonly request: Request;
20
+ interface RouteServerContext {
21
+ readonly params: RouteParameters;
22
+ readonly request: Request;
22
23
  }
23
- export type RouteServerHandler = (context: RouteServerContext) => Response | Promise<Response>;
24
- export interface FileRouteOptions<LoaderData extends FrameworkValue = FrameworkValue> {
25
- readonly component?: StartComponent<LoaderData>;
26
- readonly loader?: (context: RouteLoaderContext) => LoaderData | Promise<LoaderData>;
27
- readonly server?: {
28
- readonly handlers: Readonly<Partial<Record<string, RouteServerHandler>>>;
29
- };
24
+ type RouteServerHandler = (context: RouteServerContext) => Response | Promise<Response>;
25
+ interface FileRouteOptions<LoaderData extends FrameworkValue = FrameworkValue> {
26
+ readonly component?: StartComponent<LoaderData>;
27
+ readonly loader?: (context: RouteLoaderContext) => LoaderData | Promise<LoaderData>;
28
+ readonly server?: {
29
+ readonly handlers: Readonly<Partial<Record<string, RouteServerHandler>>>;
30
+ };
30
31
  }
31
- export interface FileRouteDefinition<LoaderData extends FrameworkValue = FrameworkValue> {
32
- readonly [FILE_ROUTE]: true;
33
- readonly options: FileRouteOptions<LoaderData>;
32
+ interface FileRouteDefinition<LoaderData extends FrameworkValue = FrameworkValue> {
33
+ readonly [FILE_ROUTE]: true;
34
+ readonly options: FileRouteOptions<LoaderData>;
34
35
  }
35
- export interface RouteModule {
36
- readonly Route?: FileRouteDefinition;
37
- readonly default?: FileRouteDefinition;
36
+ interface RouteModule {
37
+ readonly Route?: FileRouteDefinition;
38
+ readonly default?: FileRouteDefinition;
38
39
  }
39
- export interface RouteManifestEntry {
40
- readonly id: string;
41
- readonly parentId: string | null;
42
- readonly path: string;
43
- readonly load: () => PromiseLike<RouteModule>;
40
+ interface RouteManifestEntry {
41
+ readonly id: string;
42
+ readonly parentId: string | null;
43
+ readonly path: string;
44
+ readonly load: () => PromiseLike<RouteModule>;
44
45
  }
45
- export interface RouteManifest {
46
- readonly entries: readonly RouteManifestEntry[];
47
- readonly byId: ReadonlyMap<string, RouteManifestEntry>;
46
+ interface RouteManifest {
47
+ readonly entries: readonly RouteManifestEntry[];
48
+ readonly byId: ReadonlyMap<string, RouteManifestEntry>;
48
49
  }
49
- export interface RouteMatch {
50
- readonly entry: RouteManifestEntry;
51
- readonly params: RouteParameters;
50
+ interface RouteMatch {
51
+ readonly entry: RouteManifestEntry;
52
+ readonly params: RouteParameters;
52
53
  }
53
- export interface ResolvedRouteMatch extends RouteMatch {
54
- readonly definition: FileRouteDefinition;
54
+ interface ResolvedRouteMatch extends RouteMatch {
55
+ readonly definition: FileRouteDefinition;
55
56
  }
56
- export interface LoadedRouteMatch extends ResolvedRouteMatch {
57
- readonly loaderData: FrameworkValue;
57
+ interface LoadedRouteMatch extends ResolvedRouteMatch {
58
+ readonly loaderData: FrameworkValue;
58
59
  }
59
- export declare function defineFileRoute<const LoaderData extends FrameworkValue = undefined>(options: FileRouteOptions<LoaderData>): FileRouteDefinition<LoaderData>;
60
- export declare function isFileRouteDefinition(value: unknown): value is FileRouteDefinition;
61
- export declare function createRouteManifest(entries: readonly RouteManifestEntry[]): RouteManifest;
62
- export declare function matchRoutes(manifest: RouteManifest, pathname: string): readonly RouteMatch[];
63
- export declare function loadRouteMatches(matches: readonly RouteMatch[], request: Request, suppliedData?: Readonly<Record<string, FrameworkValue>>): Promise<readonly LoadedRouteMatch[]>;
64
- export declare function resolveRouteMatches(matches: readonly RouteMatch[]): Promise<readonly ResolvedRouteMatch[]>;
65
- export declare function runRouteLoaders(matches: readonly ResolvedRouteMatch[], request: Request, suppliedData?: Readonly<Record<string, FrameworkValue>>): Promise<readonly LoadedRouteMatch[]>;
66
- export declare function composeRouteMatches(matches: readonly LoadedRouteMatch[], createElement: (component: StartComponent, props: RouteComponentProps) => unknown, requestUrl: string): unknown;
67
- export declare function routeLoaderData(matches: readonly LoadedRouteMatch[]): Readonly<Record<string, FrameworkValue>>;
68
- export {};
60
+ declare function defineFileRoute<const LoaderData extends FrameworkValue = undefined>(options: FileRouteOptions<LoaderData>): FileRouteDefinition<LoaderData>;
61
+ declare function isFileRouteDefinition(value: unknown): value is FileRouteDefinition;
62
+ declare function createRouteManifest(entries: readonly RouteManifestEntry[]): RouteManifest;
63
+ declare function matchRoutes(manifest: RouteManifest, pathname: string): readonly RouteMatch[];
64
+ declare function loadRouteMatches(matches: readonly RouteMatch[], request: Request, suppliedData?: Readonly<Record<string, FrameworkValue>>): Promise<readonly LoadedRouteMatch[]>;
65
+ declare function resolveRouteMatches(matches: readonly RouteMatch[]): Promise<readonly ResolvedRouteMatch[]>;
66
+ declare function runRouteLoaders(matches: readonly ResolvedRouteMatch[], request: Request, suppliedData?: Readonly<Record<string, FrameworkValue>>): Promise<readonly LoadedRouteMatch[]>;
67
+ declare function composeRouteMatches(matches: readonly LoadedRouteMatch[], createElement: (component: StartComponent, props: RouteComponentProps) => unknown, requestUrl: string): unknown;
68
+ declare function routeLoaderData(matches: readonly LoadedRouteMatch[]): Readonly<Record<string, FrameworkValue>>;
69
+ //#endregion
70
+ export { FileRouteDefinition, FileRouteOptions, LoadedRouteMatch, ResolvedRouteMatch, RouteComponentProps, RouteLoaderContext, RouteManifest, RouteManifestEntry, RouteMatch, RouteModule, RouteParameters, RouteServerContext, RouteServerHandler, StartComponent, composeRouteMatches, createRouteManifest, defineFileRoute, isFileRouteDefinition, loadRouteMatches, matchRoutes, resolveRouteMatches, routeLoaderData, runRouteLoaders };
69
71
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAExE,QAAA,MAAM,UAAU,eAAmC,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAC9D,MAAM,MAAM,cAAc,CAAC,UAAU,SAAS,cAAc,GAAG,cAAc,IAAI;IAC/E,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA;CAChE,CAAC,gBAAgB,CAAC,CAAA;AAEnB,MAAM,WAAW,mBAAmB,CAClC,UAAU,SAAS,cAAc,GAAG,cAAc,CAClD,SAAQ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,kBAAkB,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE9F,MAAM,WAAW,gBAAgB,CAAC,UAAU,SAAS,cAAc,GAAG,cAAc;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACnF,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;KACzE,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB,CAAC,UAAU,SAAS,cAAc,GAAG,cAAc;IACrF,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAA;CAC/C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAA;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,WAAW,CAAC,WAAW,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CACjC;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAA;CACzC;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAA;CACpC;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,UAAU,SAAS,cAAc,GAAG,SAAS,EACjF,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,GACpC,mBAAmB,CAAC,UAAU,CAAC,CAEjC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,GAAG,aAAa,CAgBzF;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,UAAU,EAAE,CAwB5F;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,OAAO,EAAE,OAAO,EAChB,YAAY,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAM,GAC1D,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAEtC;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,SAAS,UAAU,EAAE,GAC7B,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAYxC;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,SAAS,kBAAkB,EAAE,EACtC,OAAO,EAAE,OAAO,EAChB,YAAY,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAM,GAC1D,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAkBtC;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,aAAa,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,mBAAmB,KAAK,OAAO,EACjF,UAAU,EAAE,MAAM,GACjB,OAAO,CAcT;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,gBAAgB,EAAE,GACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAO1C"}
1
+ {"version":3,"file":"router.d.ts","names":[],"sources":["../src/router.ts"],"mappings":";;;cAGM;KAEM,kBAAkB,SAAS;KAC3B,eAAe,mBAAmB,iBAAiB;EAC7D,eAAe,OAAO,oBAAoB;;UAG3B,oBACf,mBAAmB,iBAAiB,wBAC5B,SAAS;WACR,WAAW;WACX,YAAY;WACZ,QAAQ;WACR;;UAGM;WACN,YAAY,SAAS,eAAe;WACpC,QAAQ;WACR,SAAS;;UAGH;WACN,QAAQ;WACR,SAAS;;KAGR,sBAAsB,SAAS,uBAAuB,WAAW,QAAQ;UAEpE,iBAAiB,mBAAmB,iBAAiB;WAC3D,YAAY,eAAe;WAC3B,UAAU,SAAS,uBAAuB,aAAa,QAAQ;WAC/D;aACE,UAAU,SAAS,QAAQ,eAAe;;;UAItC,oBAAoB,mBAAmB,iBAAiB;YAC7D;WACD,SAAS,iBAAiB;;UAGpB;WACN,QAAQ;WACR,UAAU;;UAGJ;WACN;WACA;WACA;WACA,YAAY,YAAY;;UAGlB;WACN,kBAAkB;WAClB,MAAM,oBAAoB;;UAGpB;WACN,OAAO;WACP,QAAQ;;UAGF,2BAA2B;WACjC,YAAY;;UAGN,yBAAyB;WAC/B,YAAY;;iBAGP,sBAAsB,mBAAmB,4BACvD,SAAS,iBAAiB,cACzB,oBAAoB;iBAIP,sBAAsB,iBAAiB,SAAS;iBAIhD,oBAAoB,kBAAkB,uBAAuB;iBAkB7D,YAAY,UAAU,eAAe,4BAA4B;iBA0B3D,iBACpB,kBAAkB,cAClB,SAAS,SACT,eAAc,SAAS,eAAe,mBACrC,iBAAiB;iBAIE,oBACpB,kBAAkB,eACjB,iBAAiB;iBAcE,gBACpB,kBAAkB,sBAClB,SAAS,SACT,eAAc,SAAS,eAAe,mBACrC,iBAAiB;iBAoBJ,oBACd,kBAAkB,oBAClB,gBAAgB,WAAW,gBAAgB,OAAO,iCAClD;iBAiBc,gBACd,kBAAkB,qBACjB,SAAS,eAAe"}
package/dist/router.js CHANGED
@@ -1,172 +1,165 @@
1
- const FILE_ROUTE = Symbol('Vidact.Start.FileRoute');
2
- export function defineFileRoute(options) {
3
- return Object.freeze({ [FILE_ROUTE]: true, options: Object.freeze({ ...options }) });
4
- }
5
- export function isFileRouteDefinition(value) {
6
- return typeof value === 'object' && value !== null && FILE_ROUTE in value;
7
- }
8
- export function createRouteManifest(entries) {
9
- const byId = new Map();
10
- for (const entry of entries) {
11
- if (entry.id.length === 0)
12
- throw new TypeError('route id must be non-empty');
13
- if (!entry.path.startsWith('/'))
14
- throw new TypeError(`route ${entry.id} path must start with /`);
15
- if (byId.has(entry.id))
16
- throw new TypeError(`duplicate route id ${entry.id}`);
17
- byId.set(entry.id, Object.freeze({ ...entry }));
18
- }
19
- for (const entry of byId.values()) {
20
- if (entry.parentId !== null && !byId.has(entry.parentId)) {
21
- throw new TypeError(`route ${entry.id} has unknown parent ${entry.parentId}`);
22
- }
23
- assertAcyclicParentChain(entry, byId);
24
- }
25
- const frozenEntries = Object.freeze([...byId.values()]);
26
- return Object.freeze({ entries: frozenEntries, byId });
27
- }
28
- export function matchRoutes(manifest, pathname) {
29
- const normalized = normalizePathname(pathname);
30
- let selected;
31
- for (const entry of manifest.entries) {
32
- const match = matchPath(entry.path, normalized);
33
- if (match === undefined)
34
- continue;
35
- const score = routeScore(entry, manifest);
36
- if (selected === undefined || score > selected.score)
37
- selected = { entry, params: match, score };
38
- }
39
- if (selected === undefined)
40
- return [];
41
- const chain = [];
42
- let entry = selected.entry;
43
- while (entry !== undefined) {
44
- chain.push(entry);
45
- entry = entry.parentId === null ? undefined : manifest.byId.get(entry.parentId);
46
- }
47
- return Object.freeze(chain.toReversed().map((matchedEntry) => Object.freeze({
48
- entry: matchedEntry,
49
- params: Object.freeze({ ...selected.params }),
50
- })));
51
- }
52
- export async function loadRouteMatches(matches, request, suppliedData = {}) {
53
- return runRouteLoaders(await resolveRouteMatches(matches), request, suppliedData);
54
- }
55
- export async function resolveRouteMatches(matches) {
56
- return Object.freeze(await Promise.all(matches.map(async (match) => {
57
- const module = await match.entry.load();
58
- return Object.freeze({
59
- ...match,
60
- definition: readRouteDefinition(match.entry.id, module),
61
- });
62
- })));
63
- }
64
- export async function runRouteLoaders(matches, request, suppliedData = {}) {
65
- const loaded = [];
66
- const parentData = { ...suppliedData };
67
- for (const match of matches) {
68
- const loaderData = Object.hasOwn(suppliedData, match.entry.id)
69
- ? suppliedData[match.entry.id]
70
- : match.definition.options.loader === undefined
71
- ? undefined
72
- : // oxlint-disable-next-line no-await-in-loop -- Descendants receive settled parent data.
73
- await match.definition.options.loader({
74
- parentData: Object.freeze({ ...parentData }),
75
- params: match.params,
76
- request,
77
- });
78
- parentData[match.entry.id] = loaderData;
79
- loaded.push(Object.freeze({ ...match, loaderData }));
80
- }
81
- return Object.freeze(loaded);
82
- }
83
- export function composeRouteMatches(matches, createElement, requestUrl) {
84
- let children;
85
- for (let index = matches.length - 1; index >= 0; index -= 1) {
86
- const match = matches[index];
87
- const component = match.definition.options.component;
88
- if (component === undefined)
89
- continue;
90
- children = createElement(component, {
91
- children,
92
- loaderData: match.loaderData,
93
- params: match.params,
94
- requestUrl,
95
- });
96
- }
97
- return children;
98
- }
99
- export function routeLoaderData(matches) {
100
- return Object.freeze(Object.fromEntries(matches.map((match) => [match.entry.id, match.loaderData])));
1
+ //#region src/router.ts
2
+ const FILE_ROUTE = Symbol("Vidact.Start.FileRoute");
3
+ function defineFileRoute(options) {
4
+ return Object.freeze({
5
+ [FILE_ROUTE]: true,
6
+ options: Object.freeze({ ...options })
7
+ });
8
+ }
9
+ function isFileRouteDefinition(value) {
10
+ return typeof value === "object" && value !== null && FILE_ROUTE in value;
11
+ }
12
+ function createRouteManifest(entries) {
13
+ const byId = /* @__PURE__ */ new Map();
14
+ for (const entry of entries) {
15
+ if (entry.id.length === 0) throw new TypeError("route id must be non-empty");
16
+ if (!entry.path.startsWith("/")) throw new TypeError(`route ${entry.id} path must start with /`);
17
+ if (byId.has(entry.id)) throw new TypeError(`duplicate route id ${entry.id}`);
18
+ byId.set(entry.id, Object.freeze({ ...entry }));
19
+ }
20
+ for (const entry of byId.values()) {
21
+ if (entry.parentId !== null && !byId.has(entry.parentId)) throw new TypeError(`route ${entry.id} has unknown parent ${entry.parentId}`);
22
+ assertAcyclicParentChain(entry, byId);
23
+ }
24
+ const frozenEntries = Object.freeze([...byId.values()]);
25
+ return Object.freeze({
26
+ entries: frozenEntries,
27
+ byId
28
+ });
29
+ }
30
+ function matchRoutes(manifest, pathname) {
31
+ const normalized = normalizePathname(pathname);
32
+ let selected;
33
+ for (const entry of manifest.entries) {
34
+ const match = matchPath(entry.path, normalized);
35
+ if (match === void 0) continue;
36
+ const score = routeScore(entry, manifest);
37
+ if (selected === void 0 || score > selected.score) selected = {
38
+ entry,
39
+ params: match,
40
+ score
41
+ };
42
+ }
43
+ if (selected === void 0) return [];
44
+ const chain = [];
45
+ let entry = selected.entry;
46
+ while (entry !== void 0) {
47
+ chain.push(entry);
48
+ entry = entry.parentId === null ? void 0 : manifest.byId.get(entry.parentId);
49
+ }
50
+ return Object.freeze(chain.toReversed().map((matchedEntry) => Object.freeze({
51
+ entry: matchedEntry,
52
+ params: Object.freeze({ ...selected.params })
53
+ })));
54
+ }
55
+ async function loadRouteMatches(matches, request, suppliedData = {}) {
56
+ return runRouteLoaders(await resolveRouteMatches(matches), request, suppliedData);
57
+ }
58
+ async function resolveRouteMatches(matches) {
59
+ return Object.freeze(await Promise.all(matches.map(async (match) => {
60
+ const module = await match.entry.load();
61
+ return Object.freeze({
62
+ ...match,
63
+ definition: readRouteDefinition(match.entry.id, module)
64
+ });
65
+ })));
66
+ }
67
+ async function runRouteLoaders(matches, request, suppliedData = {}) {
68
+ const loaded = [];
69
+ const parentData = { ...suppliedData };
70
+ for (const match of matches) {
71
+ const loaderData = Object.hasOwn(suppliedData, match.entry.id) ? suppliedData[match.entry.id] : match.definition.options.loader === void 0 ? void 0 : await match.definition.options.loader({
72
+ parentData: Object.freeze({ ...parentData }),
73
+ params: match.params,
74
+ request
75
+ });
76
+ parentData[match.entry.id] = loaderData;
77
+ loaded.push(Object.freeze({
78
+ ...match,
79
+ loaderData
80
+ }));
81
+ }
82
+ return Object.freeze(loaded);
83
+ }
84
+ function composeRouteMatches(matches, createElement, requestUrl) {
85
+ let children;
86
+ for (let index = matches.length - 1; index >= 0; index -= 1) {
87
+ const match = matches[index];
88
+ const component = match.definition.options.component;
89
+ if (component === void 0) continue;
90
+ children = createElement(component, {
91
+ children,
92
+ loaderData: match.loaderData,
93
+ params: match.params,
94
+ requestUrl
95
+ });
96
+ }
97
+ return children;
98
+ }
99
+ function routeLoaderData(matches) {
100
+ return Object.freeze(Object.fromEntries(matches.map((match) => [match.entry.id, match.loaderData])));
101
101
  }
102
102
  function readRouteDefinition(id, module) {
103
- const definition = module.Route ?? module.default;
104
- if (!isFileRouteDefinition(definition)) {
105
- throw new TypeError(`route module ${id} must export a Route created by defineFileRoute`);
106
- }
107
- return definition;
103
+ const definition = module.Route ?? module.default;
104
+ if (!isFileRouteDefinition(definition)) throw new TypeError(`route module ${id} must export a Route created by defineFileRoute`);
105
+ return definition;
108
106
  }
109
107
  function matchPath(pattern, pathname) {
110
- if (pattern === '/')
111
- return pathname === '/' ? Object.freeze({}) : undefined;
112
- const patternSegments = segments(pattern);
113
- const pathSegments = segments(pathname);
114
- const parameters = {};
115
- let pathIndex = 0;
116
- for (const segment of patternSegments) {
117
- if (segment === '*') {
118
- if (pathIndex >= pathSegments.length)
119
- return undefined;
120
- parameters['*'] = decodeSegment(pathSegments.slice(pathIndex).join('/'));
121
- pathIndex = pathSegments.length;
122
- break;
123
- }
124
- const value = pathSegments[pathIndex];
125
- if (value === undefined)
126
- return undefined;
127
- if (segment.startsWith(':'))
128
- parameters[segment.slice(1)] = decodeSegment(value);
129
- else if (segment !== value)
130
- return undefined;
131
- pathIndex += 1;
132
- }
133
- return pathIndex === pathSegments.length ? Object.freeze(parameters) : undefined;
108
+ if (pattern === "/") return pathname === "/" ? Object.freeze({}) : void 0;
109
+ const patternSegments = segments(pattern);
110
+ const pathSegments = segments(pathname);
111
+ const parameters = {};
112
+ let pathIndex = 0;
113
+ for (const segment of patternSegments) {
114
+ if (segment === "*") {
115
+ if (pathIndex >= pathSegments.length) return void 0;
116
+ parameters["*"] = decodeSegment(pathSegments.slice(pathIndex).join("/"));
117
+ pathIndex = pathSegments.length;
118
+ break;
119
+ }
120
+ const value = pathSegments[pathIndex];
121
+ if (value === void 0) return void 0;
122
+ if (segment.startsWith(":")) parameters[segment.slice(1)] = decodeSegment(value);
123
+ else if (segment !== value) return void 0;
124
+ pathIndex += 1;
125
+ }
126
+ return pathIndex === pathSegments.length ? Object.freeze(parameters) : void 0;
134
127
  }
135
128
  function normalizePathname(pathname) {
136
- const path = pathname.split(/[?#]/u, 1)[0] ?? '/';
137
- if (!path.startsWith('/'))
138
- throw new TypeError('route pathname must start with /');
139
- return path.length > 1 ? path.replace(/\/+$/u, '') : '/';
129
+ const path = pathname.split(/[?#]/u, 1)[0] ?? "/";
130
+ if (!path.startsWith("/")) throw new TypeError("route pathname must start with /");
131
+ return path.length > 1 ? path.replace(/\/+$/u, "") : "/";
140
132
  }
141
133
  function segments(pathname) {
142
- return pathname.split('/').filter(Boolean);
134
+ return pathname.split("/").filter(Boolean);
143
135
  }
144
136
  function decodeSegment(value) {
145
- try {
146
- return decodeURIComponent(value);
147
- }
148
- catch {
149
- throw new TypeError(`invalid encoded route segment ${value}`);
150
- }
137
+ try {
138
+ return decodeURIComponent(value);
139
+ } catch {
140
+ throw new TypeError(`invalid encoded route segment ${value}`);
141
+ }
151
142
  }
152
143
  function routeScore(entry, manifest) {
153
- const specificity = segments(entry.path).reduce((score, segment) => score + (segment === '*' ? 1 : segment.startsWith(':') ? 10 : 100), 0);
154
- let depth = 0;
155
- let current = entry;
156
- while (current !== undefined) {
157
- depth += 1;
158
- current = current.parentId === null ? undefined : manifest.byId.get(current.parentId);
159
- }
160
- return specificity * 1_000 + depth;
144
+ const specificity = segments(entry.path).reduce((score, segment) => score + (segment === "*" ? 1 : segment.startsWith(":") ? 10 : 100), 0);
145
+ let depth = 0;
146
+ let current = entry;
147
+ while (current !== void 0) {
148
+ depth += 1;
149
+ current = current.parentId === null ? void 0 : manifest.byId.get(current.parentId);
150
+ }
151
+ return specificity * 1e3 + depth;
161
152
  }
162
153
  function assertAcyclicParentChain(entry, byId) {
163
- const visited = new Set([entry.id]);
164
- let parentId = entry.parentId;
165
- while (parentId !== null) {
166
- if (visited.has(parentId))
167
- throw new TypeError(`route ${entry.id} has a cyclic parent chain`);
168
- visited.add(parentId);
169
- parentId = byId.get(parentId)?.parentId ?? null;
170
- }
171
- }
154
+ const visited = /* @__PURE__ */ new Set([entry.id]);
155
+ let parentId = entry.parentId;
156
+ while (parentId !== null) {
157
+ if (visited.has(parentId)) throw new TypeError(`route ${entry.id} has a cyclic parent chain`);
158
+ visited.add(parentId);
159
+ parentId = byId.get(parentId)?.parentId ?? null;
160
+ }
161
+ }
162
+ //#endregion
163
+ export { composeRouteMatches, createRouteManifest, defineFileRoute, isFileRouteDefinition, loadRouteMatches, matchRoutes, resolveRouteMatches, routeLoaderData, runRouteLoaders };
164
+
172
165
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAwEnD,MAAM,UAAU,eAAe,CAC7B,OAAqC;IAErC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,IAAa,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AAC/F,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAsC;IACxE,MAAM,IAAI,GAAG,IAAI,GAAG,EAA8B,CAAA;IAClD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAA;QAC5E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,SAAS,KAAK,CAAC,EAAE,yBAAyB,CAAC,CAAA;QAChG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,SAAS,CAAC,SAAS,KAAK,CAAC,EAAE,uBAAuB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/E,CAAC;QACD,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACvC,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAuB,EAAE,QAAgB;IACnE,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC9C,IAAI,QAA2F,CAAA;IAC/F,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACzC,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK;YAAE,QAAQ,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAClG,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IACrC,MAAM,KAAK,GAAyB,EAAE,CAAA;IACtC,IAAI,KAAK,GAAmC,QAAQ,CAAC,KAAK,CAAA;IAC1D,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,KAAK,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAClB,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CACtC,MAAM,CAAC,MAAM,CAAC;QACZ,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC9C,CAAC,CACH,CACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA8B,EAC9B,OAAgB,EAChB,YAAY,GAA6C,EAAE;IAE3D,OAAO,eAAe,CAAC,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA8B;IAE9B,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACvC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,GAAG,KAAK;YACR,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAsC,EACtC,OAAgB,EAChB,YAAY,GAA6C,EAAE;IAE3D,MAAM,MAAM,GAAuB,EAAE,CAAA;IACrC,MAAM,UAAU,GAAmC,EAAE,GAAG,YAAY,EAAE,CAAA;IACtE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC7C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,wFAAwF;oBACxF,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;wBACpC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;wBAC5C,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,OAAO;qBACR,CAAC,CAAA;QACR,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAoC,EACpC,aAAiF,EACjF,UAAkB;IAElB,IAAI,QAAyC,CAAA;IAC7C,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAE,CAAA;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAA;QACpD,IAAI,SAAS,KAAK,SAAS;YAAE,SAAQ;QACrC,QAAQ,GAAG,aAAa,CAAC,SAAS,EAAE;YAClC,QAAQ;YACR,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU;SACX,CAAwB,CAAA;IAC3B,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAoC;IAEpC,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAG5E,CACF,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAU,EAAE,MAAmB;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAA;IACjD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE,iDAAiD,CAAC,CAAA;IAC1F,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,QAAgB;IAClD,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5E,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACvC,MAAM,UAAU,GAA2B,EAAE,CAAA;IAC7C,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,IAAI,SAAS,IAAI,YAAY,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAA;YACtD,UAAU,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACxE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAA;YAC/B,MAAK;QACP,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACzC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;aAC3E,IAAI,OAAO,KAAK,KAAK;YAAE,OAAO,SAAS,CAAA;QAC5C,SAAS,IAAI,CAAC,CAAA;IAChB,CAAC;IACD,OAAO,SAAS,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAClF,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;IACjD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAA;IAClF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AAC1D,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB;IAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAA;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB,EAAE,QAAuB;IACpE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAC7C,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EACtF,CAAC,CACF,CAAA;IACD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,OAAO,GAAmC,KAAK,CAAA;IACnD,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,CAAA;QACV,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACvF,CAAC;IACD,OAAO,WAAW,GAAG,KAAK,GAAG,KAAK,CAAA;AACpC,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAyB,EACzB,IAA6C;IAE7C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3C,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;IAC7B,OAAO,QAAQ,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,SAAS,KAAK,CAAC,EAAE,4BAA4B,CAAC,CAAA;QAC7F,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACrB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAA;IACjD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"router.js","names":[],"sources":["../src/router.ts"],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,19 +1,21 @@
1
- import { type RouteManifest, type StartComponent } from './router.js';
2
- export interface StartDocumentContext {
3
- readonly applicationHtml: string;
4
- readonly clientEntry: string | undefined;
5
- readonly rootId: string;
6
- readonly snapshot: string;
7
- readonly snapshotId: string;
1
+ import { RouteManifest, StartComponent } from "./router.js";
2
+ //#region src/server.d.ts
3
+ interface StartDocumentContext {
4
+ readonly applicationHtml: string;
5
+ readonly clientEntry: string | undefined;
6
+ readonly rootId: string;
7
+ readonly snapshot: string;
8
+ readonly snapshotId: string;
8
9
  }
9
- export interface StartHandlerOptions {
10
- readonly clientEntry?: string;
11
- readonly manifest: RouteManifest;
12
- readonly notFound?: (request: Request) => Response | Promise<Response>;
13
- readonly renderDocument?: (context: StartDocumentContext) => string | Promise<string>;
14
- readonly rootId?: string;
15
- readonly snapshotId?: string;
10
+ interface StartHandlerOptions {
11
+ readonly clientEntry?: string;
12
+ readonly manifest: RouteManifest;
13
+ readonly notFound?: (request: Request) => Response | Promise<Response>;
14
+ readonly renderDocument?: (context: StartDocumentContext) => string | Promise<string>;
15
+ readonly rootId?: string;
16
+ readonly snapshotId?: string;
16
17
  }
17
- export declare function createStartHandler(options: StartHandlerOptions): (request: Request) => Promise<Response>;
18
- export type { StartComponent };
18
+ declare function createStartHandler(options: StartHandlerOptions): (request: Request) => Promise<Response>;
19
+ //#endregion
20
+ export { type StartComponent, StartDocumentContext, StartHandlerOptions, createStartHandler };
19
21
  //# sourceMappingURL=server.d.ts.map