ugly-app 0.1.33 → 0.1.35

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 (52) hide show
  1. package/dist/cli/dev.d.ts.map +1 -1
  2. package/dist/cli/dev.js +12 -9
  3. package/dist/cli/dev.js.map +1 -1
  4. package/dist/client/AppProvider.d.ts.map +1 -1
  5. package/dist/client/AppProvider.js +4 -1
  6. package/dist/client/AppProvider.js.map +1 -1
  7. package/dist/client/Router.d.ts +44 -11
  8. package/dist/client/Router.d.ts.map +1 -1
  9. package/dist/client/Router.js +114 -28
  10. package/dist/client/Router.js.map +1 -1
  11. package/dist/client/index.d.ts +2 -2
  12. package/dist/client/index.d.ts.map +1 -1
  13. package/dist/client/index.js +1 -1
  14. package/dist/client/index.js.map +1 -1
  15. package/dist/server/App.d.ts +2 -2
  16. package/dist/server/App.d.ts.map +1 -1
  17. package/dist/server/App.js +100 -50
  18. package/dist/server/App.js.map +1 -1
  19. package/dist/server/FeedbackReport.d.ts +8 -3
  20. package/dist/server/FeedbackReport.d.ts.map +1 -1
  21. package/dist/server/FeedbackReport.js +18 -28
  22. package/dist/server/FeedbackReport.js.map +1 -1
  23. package/dist/server/Router.d.ts +10 -4
  24. package/dist/server/Router.d.ts.map +1 -1
  25. package/dist/server/Router.js +4 -13
  26. package/dist/server/Router.js.map +1 -1
  27. package/dist/server/index.d.ts +2 -2
  28. package/dist/server/index.d.ts.map +1 -1
  29. package/dist/server/index.js +1 -1
  30. package/dist/server/index.js.map +1 -1
  31. package/dist/shared/ImageGen.d.ts +1 -0
  32. package/dist/shared/ImageGen.d.ts.map +1 -1
  33. package/dist/shared/Router.d.ts +14 -3
  34. package/dist/shared/Router.d.ts.map +1 -1
  35. package/dist/shared/Router.js.map +1 -1
  36. package/dist/shared/TextGen.d.ts +2 -0
  37. package/dist/shared/TextGen.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/templates/CLAUDE.md +1 -1
  40. package/templates/client/App.tsx +1 -22
  41. package/templates/client/allPages.ts +11 -0
  42. package/templates/client/index.html +1 -0
  43. package/templates/client/pages/AITestPage.tsx +1 -1
  44. package/templates/client/pages/AuthDemoPage.tsx +1 -1
  45. package/templates/client/pages/HomePage.tsx +1 -1
  46. package/templates/client/pages/SearchPage.tsx +1 -1
  47. package/templates/client/pages/UserPage.tsx +1 -1
  48. package/templates/client/router.ts +2 -0
  49. package/templates/docker-compose.yml +8 -4
  50. package/templates/package.json +1 -0
  51. package/templates/server/index.ts +37 -19
  52. package/templates/vite.config.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AA8CA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAyH5C"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAiDA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAwH5C"}
package/dist/cli/dev.js CHANGED
@@ -8,16 +8,20 @@ import { computeEnvVars, readUglyAppConfig, validatePortStart, } from './uglyapp
8
8
  async function waitForMongo(uri, opts) {
9
9
  for (let i = 0; i < opts.retries; i++) {
10
10
  try {
11
- const client = new MongoClient(uri);
11
+ const client = new MongoClient(uri, { serverSelectionTimeoutMS: 2000 });
12
12
  await client.connect();
13
+ const status = await client.db('admin').command({ isMaster: 1 });
13
14
  await client.close();
14
- return;
15
+ // Wait until a primary is elected (replica sets take a moment)
16
+ if (status.ismaster === true || status.isMaster === true)
17
+ return;
15
18
  }
16
19
  catch {
17
- if (i === opts.retries - 1)
18
- throw new Error('[ugly-app] MongoDB not ready after 30s — is Docker running?');
19
- await new Promise((r) => setTimeout(r, opts.intervalMs));
20
+ // fall through to retry
20
21
  }
22
+ if (i === opts.retries - 1)
23
+ throw new Error('[ugly-app] MongoDB not ready after 90s — is Docker running?');
24
+ await new Promise((r) => setTimeout(r, opts.intervalMs));
21
25
  }
22
26
  }
23
27
  async function isDbUninitialized(uri) {
@@ -100,7 +104,7 @@ export async function runDev() {
100
104
  });
101
105
  // ── 2. Wait for MongoDB to be reachable ────────────────────────────────────
102
106
  process.stdout.write('[ugly-app] Waiting for MongoDB');
103
- await waitForMongo(mongoUri, { retries: 30, intervalMs: 1000 });
107
+ await waitForMongo(mongoUri, { retries: 90, intervalMs: 1000 });
104
108
  process.stdout.write(' ✓\n');
105
109
  // ── 3. Init indexes on first run ───────────────────────────────────────────
106
110
  if (await isDbUninitialized(mongoUri)) {
@@ -122,12 +126,11 @@ export async function runDev() {
122
126
  const q = (s) => `"${s.replace(/"/g, '\\"')}"`;
123
127
  const cmd = [
124
128
  'npx concurrently',
125
- '--names server,client,tsc,eslint',
126
- '--prefix-colors green,cyan,yellow,magenta',
129
+ '--names server,tsc,eslint',
130
+ '--prefix-colors green,yellow,magenta',
127
131
  '--kill-others-on-fail',
128
132
  '--handle-input',
129
133
  q('npx tsx watch --env-file=.env server/index.ts'),
130
- q('npx vite'),
131
134
  q(noFail('npx tsc --watch --noEmit')),
132
135
  q(noFail('npx esw --watch --changed --ext .ts,.tsx server client shared')),
133
136
  ].join(' ');
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppProvider.d.ts","sourceRoot":"","sources":["../../src/client/AppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,SAAS,EAOV,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAYnD,MAAM,WAAW,eAAe,CAAC,aAAa,GAAG,OAAO;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,IAAI,IAAI,CAAC;IACtB,QAAQ,CACN,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CACxD;AAID,wBAAgB,MAAM,CACpB,aAAa,GAAG,OAAO,KACpB,eAAe,CAAC,aAAa,CAAC,CAIlC;AAKD,UAAU,gBAAgB,CAAC,aAAa,GAAG,OAAO;IAChD,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,YAAY,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,aAAa,CAAC;KAC9B,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CACzD;AAED,wBAAgB,WAAW,CAAC,aAAa,GAAG,OAAO,EAAE,EACnD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,SAAS,EAAE,aAAa,GACzB,EAAE,gBAAgB,CAAC,aAAa,CAAC,2CAsIjC;AAED,wBAAgB,YAAY,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAE1E"}
1
+ {"version":3,"file":"AppProvider.d.ts","sourceRoot":"","sources":["../../src/client/AppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,SAAS,EAOV,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAYnD,MAAM,WAAW,eAAe,CAAC,aAAa,GAAG,OAAO;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IACzC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,IAAI,IAAI,CAAC;IACtB,QAAQ,CACN,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CACxD;AAID,wBAAgB,MAAM,CACpB,aAAa,GAAG,OAAO,KACpB,eAAe,CAAC,aAAa,CAAC,CAIlC;AAKD,UAAU,gBAAgB,CAAC,aAAa,GAAG,OAAO;IAChD,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,YAAY,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,aAAa,CAAC;KAC9B,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CACzD;AAED,wBAAgB,WAAW,CAAC,aAAa,GAAG,OAAO,EAAE,EACnD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,SAAS,EAAE,aAAa,GACzB,EAAE,gBAAgB,CAAC,aAAa,CAAC,2CAsIjC;AAED,wBAAgB,YAAY,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAI1E"}
@@ -111,7 +111,10 @@ export function AppProvider({ socket, userId, user, children, splashScreen, load
111
111
  : defaultLoadingOverlay), splashVisible && (splashScreen ?? defaultSplash)] }));
112
112
  }
113
113
  export function useLocalizer() {
114
- return useApp().localizer;
114
+ const ctx = useContext(AppContext);
115
+ if (!ctx)
116
+ return (key) => key;
117
+ return ctx.localizer;
115
118
  }
116
119
  function PopupLayer({ popups }) {
117
120
  if (popups.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"AppProvider.js","sourceRoot":"","sources":["../../src/client/AppProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppProvider.js","sourceRoot":"","sources":["../../src/client/AppProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { CSSProperties, ReactElement, ReactNode } from 'react';
2
- import type { AnimConfig, AppRouterBase, PageParams, PopupMode, PopupSlideFrom, RouterState, TransitionType } from '../shared/Router.js';
2
+ import type { AnimConfig, PageEntry, PageMap, PageParams, PageRegistry, PopupMode, PopupSlideFrom, RouterState, TransitionType } from '../shared/Router.js';
3
+ import { RouterTransitionProps } from './ViewFlipper.js';
3
4
  import { createAnimatedValue, EasingFunction } from './animation/animatedValue.js';
4
5
  export interface PopupLayerProps {
5
6
  content: ReactNode;
@@ -20,17 +21,20 @@ export interface PopupHandle {
20
21
  id: string;
21
22
  hide: () => void;
22
23
  }
23
- export interface RouterContextValue<R extends AppRouterBase> {
24
- current: RouterState;
24
+ export interface RouterContextValue<Pages extends PageRegistry> {
25
+ current: RouterState<Pages>;
25
26
  transitionType: TransitionType;
26
- push<K extends keyof R['pages'] & string>(routeName: K, params: PageParams<R['pages'][K]>): void;
27
- replace<K extends keyof R['pages'] & string>(routeName: K, params: PageParams<R['pages'][K]>): void;
27
+ push<K extends keyof Pages & string>(routeName: K, params: PageParams<Pages[K]>): void;
28
+ replace<K extends keyof Pages & string>(routeName: K, params: PageParams<Pages[K]>): void;
28
29
  back(): void;
29
30
  openPopup(content: ReactNode, options?: PopupOptions): PopupHandle;
30
31
  closePopup(id: string): void;
31
32
  closeAllPopups(): void;
32
33
  }
33
- export declare function createRouter<R extends AppRouterBase>(registry: R): {
34
+ export declare function createRouter<Pages extends PageRegistry>(config: {
35
+ pages: Pages;
36
+ allPages: PageMap<Pages>;
37
+ }): {
34
38
  RouterProvider: (props: {
35
39
  children: ReactNode;
36
40
  fallback?: ReactNode;
@@ -38,16 +42,45 @@ export declare function createRouter<R extends AppRouterBase>(registry: R): {
38
42
  isAuthenticated?: () => boolean;
39
43
  }) => ReactElement;
40
44
  RouterView: (props: {
41
- renderPage: (state: RouterState) => ReactNode;
42
45
  durationMs?: number;
43
46
  easing?: EasingFunction;
47
+ /** Fully replace the transition renderer. Must implement RouterTransitionProps. */
48
+ transitionComponent?: React.ComponentType<RouterTransitionProps>;
44
49
  }) => ReactElement;
45
- useRouter: () => RouterContextValue<R>;
50
+ useRouter: () => RouterContextValue<Pages>;
46
51
  };
47
- export declare function Link<R extends AppRouterBase, K extends keyof R['pages'] & string>(props: {
48
- router: RouterContextValue<R>;
52
+ /**
53
+ * Sugar for the common case: lazy-imports a React component and renders it
54
+ * with the route params as props.
55
+ *
56
+ * @example
57
+ * ['user/:userId']: lazyPage(() => import('./pages/UserPage'))
58
+ */
59
+ export declare function lazyPage<Params extends Record<string, unknown>>(factory: () => Promise<{
60
+ default: React.ComponentType<Params>;
61
+ }>): PageEntry<Params>;
62
+ /**
63
+ * For routes that need lazy loading AND server data fetching. Lazy-loads an
64
+ * async loader function (not a component directly). The loader file is the
65
+ * chunk boundary — it can statically import its page component.
66
+ *
67
+ * @example
68
+ * ['slow']: lazyPageLoader(() => import('./pages/SlowPageLoader'))
69
+ *
70
+ * // pages/SlowPageLoader.tsx
71
+ * import SlowPage from './SlowPage'; // static import OK — same chunk
72
+ * export default async function PageLoader({ id }: { id: string }) {
73
+ * const data = await fetchSlowData(id);
74
+ * return <SlowPage {...data} />;
75
+ * }
76
+ */
77
+ export declare function lazyPageLoader<Params extends Record<string, unknown>>(factory: () => Promise<{
78
+ default: PageEntry<Params>;
79
+ }>): PageEntry<Params>;
80
+ export declare function Link<Pages extends PageRegistry, K extends keyof Pages & string>(props: {
81
+ router: RouterContextValue<Pages>;
49
82
  to: K;
50
- params: PageParams<R['pages'][K]>;
83
+ params: PageParams<Pages[K]>;
51
84
  replace?: boolean;
52
85
  children: ReactNode;
53
86
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/client/Router.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/client/Router.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
2
+ import { createContext, Fragment, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
3
  import { buildUrl, parseUrl } from '../shared/Router.js';
4
4
  import { ViewFlipper } from './ViewFlipper.js';
5
5
  import { Animated } from './animation/Animated.js';
6
6
  import { createAnimatedValue, easingFunctions, } from './animation/animatedValue.js';
7
+ import { useApp } from './AppProvider.js';
7
8
  import { Z } from './components/zIndex.js';
8
9
  const RouterContext = createContext(null);
10
+ const ActiveContext = createContext(null);
9
11
  // ─── Helpers ──────────────────────────────────────────────────────────────────
10
12
  function stableParamKey(params) {
11
13
  return Object.keys(params)
@@ -67,31 +69,86 @@ function PopupLayer({ popup, onClose, }) {
67
69
  }, onClick: (e) => e.stopPropagation(), children: popup.content }) }));
68
70
  }
69
71
  // ─── createRouter ─────────────────────────────────────────────────────────────
70
- export function createRouter(registry) {
72
+ export function createRouter(config) {
71
73
  // ── RouterProvider ──────────────────────────────────────────────────────────
72
74
  function RouterProvider(props) {
73
- const [state, setState] = useState(() => parseUrl(registry.pages, window.location.pathname, window.location.search));
74
- // Track transition type in a ref so it's set synchronously before setState
75
+ const { runAsync } = useApp();
76
+ // Pending route updated immediately on navigation for nav highlighting
77
+ const [current, setCurrent] = useState(null);
78
+ // Resolved active element — updated after async entry resolves
79
+ const [active, setActive] = useState(null);
75
80
  const transitionRef = useRef('NONE');
76
- // Flag for detecting history.back() vs browser back button
77
81
  const isPoppingRef = useRef(false);
82
+ const navGenRef = useRef(0);
83
+ // loadPage is called on every navigation. We use a ref so callbacks like
84
+ // push/replace/popstate always call the latest version without being
85
+ // recreated themselves.
86
+ const loadPageRef = useRef(null);
87
+ loadPageRef.current = function loadPage(route, transitionType) {
88
+ const gen = ++navGenRef.current;
89
+ transitionRef.current = transitionType;
90
+ setCurrent(route);
91
+ // Auth guard — synchronously show login fallback without entering runAsync
92
+ const pageMeta = config.pages[route.routeName];
93
+ if (pageMeta?.auth &&
94
+ props.isAuthenticated &&
95
+ !props.isAuthenticated()) {
96
+ setActive({
97
+ element: Fragment({ children: props.loginFallback ?? null }),
98
+ transitionType,
99
+ contentId: route.routeName + '|__auth__',
100
+ });
101
+ return;
102
+ }
103
+ const entry = config.allPages[route.routeName];
104
+ if (!entry) {
105
+ console.error(`[Router] No page entry found for route "${route.routeName}"`);
106
+ return;
107
+ }
108
+ void runAsync('navigate', async () => {
109
+ const element = await entry(route.params);
110
+ if (navGenRef.current !== gen)
111
+ return; // stale navigation — discard
112
+ setActive({
113
+ element,
114
+ transitionType,
115
+ contentId: route.routeName + '|' + stableParamKey(route.params),
116
+ });
117
+ });
118
+ };
119
+ // Initial page load on mount
120
+ useEffect(() => {
121
+ const initial = parseUrl(config.pages, window.location.pathname, window.location.search);
122
+ if (initial) {
123
+ loadPageRef.current(initial, 'NONE');
124
+ }
125
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
126
+ // Browser back/forward
78
127
  useEffect(() => {
79
128
  function handlePopState() {
80
- const next = parseUrl(registry.pages, window.location.pathname, window.location.search);
81
- transitionRef.current = isPoppingRef.current ? 'POP' : 'REPLACE';
129
+ const next = parseUrl(config.pages, window.location.pathname, window.location.search);
130
+ if (!next)
131
+ return;
132
+ const transitionType = isPoppingRef.current
133
+ ? 'POP'
134
+ : 'REPLACE';
82
135
  isPoppingRef.current = false;
83
- setState(next);
136
+ loadPageRef.current(next, transitionType);
84
137
  }
85
138
  window.addEventListener('popstate', handlePopState);
86
139
  return () => window.removeEventListener('popstate', handlePopState);
87
140
  }, []);
141
+ useEffect(() => {
142
+ if (current) {
143
+ console.log(`[Router] ${window.location.pathname}${window.location.search}`, current);
144
+ }
145
+ }, [current]);
88
146
  const push = useCallback(function push(routeName, params) {
89
147
  const url = buildUrl(routeName, params);
90
- transitionRef.current = 'PUSH';
91
148
  window.history.pushState({}, '', url);
92
- const next = parseUrl(registry.pages, window.location.pathname, window.location.search);
149
+ const next = parseUrl(config.pages, window.location.pathname, window.location.search);
93
150
  if (next) {
94
- setState(next);
151
+ loadPageRef.current(next, 'PUSH');
95
152
  }
96
153
  else {
97
154
  console.error(`[Router] Navigation to "${routeName}" produced a URL that did not match any registered route.`);
@@ -99,11 +156,10 @@ export function createRouter(registry) {
99
156
  }, []);
100
157
  const replace = useCallback(function replace(routeName, params) {
101
158
  const url = buildUrl(routeName, params);
102
- transitionRef.current = 'REPLACE';
103
159
  window.history.replaceState({}, '', url);
104
- const next = parseUrl(registry.pages, window.location.pathname, window.location.search);
160
+ const next = parseUrl(config.pages, window.location.pathname, window.location.search);
105
161
  if (next) {
106
- setState(next);
162
+ loadPageRef.current(next, 'REPLACE');
107
163
  }
108
164
  else {
109
165
  console.error(`[Router] Navigation to "${routeName}" produced a URL that did not match any registered route.`);
@@ -164,10 +220,10 @@ export function createRouter(registry) {
164
220
  }, [closePopup]);
165
221
  // ── Context value ──────────────────────────────────────────────────────────
166
222
  const ctx = useMemo(() => {
167
- if (!state)
223
+ if (!current)
168
224
  return null;
169
225
  return {
170
- current: state,
226
+ current: current,
171
227
  transitionType: transitionRef.current,
172
228
  push,
173
229
  replace,
@@ -176,25 +232,19 @@ export function createRouter(registry) {
176
232
  closePopup,
177
233
  closeAllPopups,
178
234
  };
179
- }, [state, push, replace, back, openPopup, closePopup, closeAllPopups]);
235
+ }, [current, push, replace, back, openPopup, closePopup, closeAllPopups]);
180
236
  if (!ctx) {
181
237
  return _jsx(_Fragment, { children: props.fallback ?? null });
182
238
  }
183
- const page = registry.pages[ctx.current.routeName];
184
- if (page?.auth && props.isAuthenticated && !props.isAuthenticated()) {
185
- return _jsx(_Fragment, { children: props.loginFallback ?? null });
186
- }
187
- return (_jsxs(RouterContext.Provider, { value: ctx, children: [props.children, popupsRef.current.map((popup) => (_jsx(PopupLayer, { popup: popup, onClose: () => closePopup(popup.id) }, popup.id)))] }));
239
+ return (_jsx(RouterContext.Provider, { value: ctx, children: _jsxs(ActiveContext.Provider, { value: active, children: [props.children, popupsRef.current.map((popup) => (_jsx(PopupLayer, { popup: popup, onClose: () => closePopup(popup.id) }, popup.id)))] }) }));
188
240
  }
189
241
  // ── RouterView ──────────────────────────────────────────────────────────────
190
242
  function RouterView(props) {
191
- const ctx = useContext(RouterContext);
192
- if (!ctx)
193
- throw new Error('RouterView must be used inside <RouterProvider>');
194
- const typed = ctx;
195
- const contentId = typed.current.routeName + '|' + stableParamKey(typed.current.params);
243
+ const active = useContext(ActiveContext);
244
+ if (!active)
245
+ return _jsx(_Fragment, {});
196
246
  const Transition = props.transitionComponent ?? ViewFlipper;
197
- return (_jsx(Transition, { contentId: contentId, type: typed.transitionType, durationMs: props.durationMs, easing: props.easing, children: props.renderPage(typed.current) }));
247
+ return (_jsx(Transition, { contentId: active.contentId, type: active.transitionType, durationMs: props.durationMs, easing: props.easing, children: active.element }));
198
248
  }
199
249
  // ── useRouter ───────────────────────────────────────────────────────────────
200
250
  function useRouter() {
@@ -205,6 +255,42 @@ export function createRouter(registry) {
205
255
  }
206
256
  return { RouterProvider, RouterView, useRouter };
207
257
  }
258
+ // ─── lazyPage ─────────────────────────────────────────────────────────────────
259
+ /**
260
+ * Sugar for the common case: lazy-imports a React component and renders it
261
+ * with the route params as props.
262
+ *
263
+ * @example
264
+ * ['user/:userId']: lazyPage(() => import('./pages/UserPage'))
265
+ */
266
+ export function lazyPage(factory) {
267
+ return async (params) => {
268
+ const { default: Component } = await factory();
269
+ return _jsx(Component, { ...params });
270
+ };
271
+ }
272
+ // ─── lazyPageLoader ───────────────────────────────────────────────────────────
273
+ /**
274
+ * For routes that need lazy loading AND server data fetching. Lazy-loads an
275
+ * async loader function (not a component directly). The loader file is the
276
+ * chunk boundary — it can statically import its page component.
277
+ *
278
+ * @example
279
+ * ['slow']: lazyPageLoader(() => import('./pages/SlowPageLoader'))
280
+ *
281
+ * // pages/SlowPageLoader.tsx
282
+ * import SlowPage from './SlowPage'; // static import OK — same chunk
283
+ * export default async function PageLoader({ id }: { id: string }) {
284
+ * const data = await fetchSlowData(id);
285
+ * return <SlowPage {...data} />;
286
+ * }
287
+ */
288
+ export function lazyPageLoader(factory) {
289
+ return async (params) => {
290
+ const { default: loader } = await factory();
291
+ return loader(params);
292
+ };
293
+ }
208
294
  // ─── Link ─────────────────────────────────────────────────────────────────────
209
295
  export function Link(props) {
210
296
  const href = buildUrl(props.to, props.params);
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/client/Router.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/client/Router.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAEb,QAAQ,EAGR,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AAaf,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAyB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,mBAAmB,EAEnB,eAAe,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA2D3C,MAAM,aAAa,GAAG,aAAa,CACjC,IAAI,CACL,CAAC;AASF,MAAM,aAAa,GAAG,aAAa,CAAqB,IAAI,CAAC,CAAC;AAE9D,iFAAiF;AAEjF,SAAS,cAAc,CAAC,MAA8B;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvB,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAoB,EAAE,QAAgB;IAC/D,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC5B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC;QAC1C,KAAK,OAAO;YACV,OAAO,cAAc,GAAG,GAAG,MAAM,KAAK,CAAC;QACzC,KAAK,KAAK;YACR,OAAO,cAAc,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,cAAc,GAAG,GAAG,MAAM,KAAK,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,OAAO,GAIR;IACC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,WAAW,CAAC;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;IACvC,MAAM,aAAa,GACjB,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;IAE7D,MAAM,aAAa,GAAkB;QACnC,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC,CAAC,KAAK;QACf,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC7C,GAAG,KAAK,CAAC,eAAe;KACzB,CAAC;IAEF,MAAM,YAAY,GAAkB;QAClC,QAAQ,EAAE,UAAU;QACpB,GAAG,KAAK,CAAC,cAAc;KACxB,CAAC;IAEF,OAAO,CACL,KAAC,QAAQ,CAAC,GAAG,IACX,KAAK,EAAE;YACL,GAAG,aAAa;YAChB,eAAe,EAAE,OAAO;gBACtB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;SACrD,EACD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,YAE5C,KAAC,QAAQ,CAAC,GAAG,IACX,KAAK,EAAE;gBACL,GAAG,YAAY;gBACf,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CACtC;gBACD,OAAO,EACL,KAAK,CAAC,SAAS,KAAK,MAAM;oBACxB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACnC,CAAC,CAAC,SAAS;aAChB,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YAElC,KAAK,CAAC,OAAO,GACD,GACF,CAChB,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,YAAY,CAA6B,MAGxD;IAeC,+EAA+E;IAE/E,SAAS,cAAc,CAAC,KAKvB;QACC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QAE9B,yEAAyE;QACzE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;QAEpE,+DAA+D;QAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG,MAAM,CAAiB,MAAM,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5B,yEAAyE;QACzE,qEAAqE;QACrE,wBAAwB;QACxB,MAAM,WAAW,GAAG,MAAM,CAExB,IAAK,CAAC,CAAC;QAET,WAAW,CAAC,OAAO,GAAG,SAAS,QAAQ,CACrC,KAAqB,EACrB,cAA8B;YAE9B,MAAM,GAAG,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;YAChC,aAAa,CAAC,OAAO,GAAG,cAAc,CAAC;YACvC,UAAU,CAAC,KAAK,CAAC,CAAC;YAElB,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/C,IACE,QAAQ,EAAE,IAAI;gBACd,KAAK,CAAC,eAAe;gBACrB,CAAC,KAAK,CAAC,eAAe,EAAE,EACxB,CAAC;gBACD,SAAS,CAAC;oBACR,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI,EAAE,CAAiB;oBAC5E,cAAc;oBACd,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,WAAW;iBACzC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAC3B,KAAK,CAAC,SAAwB,CACkB,CAAC;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CACX,2CAA2C,KAAK,CAAC,SAAS,GAAG,CAC9D,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,QAAQ,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBACnC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,SAAS,CAAC,OAAO,KAAK,GAAG;oBAAE,OAAO,CAAC,6BAA6B;gBACpE,SAAS,CAAC;oBACR,OAAO;oBACP,cAAc;oBACd,SAAS,EACP,KAAK,CAAC,SAAS,GAAG,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;iBACvD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,6BAA6B;QAC7B,SAAS,CAAC,GAAG,EAAE;YACb,MAAM,OAAO,GAAG,QAAQ,CACtB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kDAAkD;QAE1D,uBAAuB;QACvB,SAAS,CAAC,GAAG,EAAE;YACb,SAAS,cAAc;gBACrB,MAAM,IAAI,GAAG,QAAQ,CACnB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;gBACF,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,MAAM,cAAc,GAAmB,YAAY,CAAC,OAAO;oBACzD,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,SAAS,CAAC;gBACd,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7B,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACpD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACtE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CACT,YAAY,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAC/D,OAAO,CACR,CAAC;YACJ,CAAC;QACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAEd,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,IAAI,CACpC,SAAiB,EACjB,MAA+B;YAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,QAAQ,CACnB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,2BAA2B,SAAS,2DAA2D,CAChG,CAAC;YACJ,CAAC;QACH,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,OAAO,CAC1C,SAAiB,EACjB,MAA+B;YAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CACnB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,2BAA2B,SAAS,2DAA2D,CAChG,CAAC;YACJ,CAAC;QACH,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,IAAI;YACpC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,8EAA8E;QAE9E,MAAM,SAAS,GAAG,MAAM,CAAc,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,WAAW,CAC3B,SAAS,SAAS,CAChB,OAAkB,EAClB,OAAsB;YAEtB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,KAAK,GAAc;gBACvB,EAAE;gBACF,OAAO;gBACP,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,OAAO;gBAC9B,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,MAAM;gBACvC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,MAAM;gBACN,MAAM,EAAE,KAAK;aACd,CAAC;YACF,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,EAAE,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACd,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,GAAG;gBAC9C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,eAAe,CAAC,OAAO;aAC/D,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC,CAAC,kDAAkD;QAErD,MAAM,UAAU,GAAG,WAAW,CAC5B,SAAS,UAAU,CAAC,EAAU;YAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YACnC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAClB,IAAI,EAAE,CAAC;YACP,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACpB,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,IAAI,GAAG;gBAC3C,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM;gBAC1D,MAAM,EAAE,GAAG,EAAE;oBACX,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oBACjE,IAAI,EAAE,CAAC;gBACT,CAAC;aACF,CAAC,CAAC;QACL,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;QAEF,MAAM,cAAc,GAAG,WAAW,CAChC,SAAS,cAAc;YACrB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;QAEF,8EAA8E;QAE9E,MAAM,GAAG,GAAG,OAAO,CAA0C,GAAG,EAAE;YAChE,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAC1B,OAAO;gBACL,OAAO,EAAE,OAAoC;gBAC7C,cAAc,EAAE,aAAa,CAAC,OAAO;gBACrC,IAAI;gBACJ,OAAO;gBACP,IAAI;gBACJ,SAAS;gBACT,UAAU;gBACV,cAAc;aACf,CAAC;QACJ,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,4BAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,GAAI,CAAC;QACvC,CAAC;QAED,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAChC,MAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,aAClC,KAAK,CAAC,QAAQ,EACd,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAChC,KAAC,UAAU,IAET,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,IAF9B,KAAK,CAAC,EAAE,CAGb,CACH,CAAC,IACqB,GACF,CAC1B,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E,SAAS,UAAU,CAAC,KAInB;QACC,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,OAAO,mBAAK,CAAC;QAE1B,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,IAAI,WAAW,CAAC;QAE5D,OAAO,CACL,KAAC,UAAU,IACT,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,IAAI,EAAE,MAAM,CAAC,cAAc,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,YAEnB,MAAM,CAAC,OAAO,GACJ,CACd,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E,SAAS,SAAS;QAChB,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,OAAO,GAA2C,CAAC;IACrD,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnD,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAgE;IAEhE,OAAO,KAAK,EAAE,MAAc,EAAyB,EAAE;QACrD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;QAC/C,OAAO,KAAC,SAAS,OAAK,MAAM,GAAI,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAsD;IAEtD,OAAO,KAAK,EAAE,MAAc,EAAyB,EAAE;QACrD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,IAAI,CAGlB,KAQD;IACC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAiC,CAAC,CAAC;IAEzE,SAAS,WAAW,CAAC,CAAsC;QACzD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;YAAE,OAAO;QACnC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,CACL,YACE,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,YAEjB,KAAK,CAAC,QAAQ,GACb,CACL,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export type { ContentPart, ImageGenCallOptions, ImageGenInput, JsonGenInput, Message, TextGenCallOptions, TextGenInput, } from '../shared/index.js';
2
- export type { AnimConfig, AppRouterBase, PopupMode, PopupSlideFrom, RouterState, TransitionType, } from '../shared/Router.js';
2
+ export type { AnimConfig, AppRouterBase, PageEntry, PageMap, PageParams, PageRegistry, PopupMode, PopupSlideFrom, RouterState, RouterStateRaw, TransitionType, } from '../shared/Router.js';
3
3
  export { Animated } from './animation/Animated.js';
4
4
  export type { AnimatedStyle } from './animation/Animated.js';
5
5
  export { createAnimatedValue, easingFunctions, useAnimatedValue, } from './animation/animatedValue.js';
@@ -22,7 +22,7 @@ export { captureClientError } from './ErrorLog.js';
22
22
  export { clearFeedbackContext, getFeedbackContext, setFeedbackContext, } from './FeedbackContext.js';
23
23
  export { initClientLogger } from './Logger.js';
24
24
  export { LoginPopup } from './LoginPopup.js';
25
- export { Link, createRouter } from './Router.js';
25
+ export { Link, createRouter, lazyPage, lazyPageLoader } from './Router.js';
26
26
  export type { PopupHandle, PopupLayerProps, PopupOptions, RouterContextValue, } from './Router.js';
27
27
  export { captureScreenshot } from './Screenshot.js';
28
28
  export type { RouterTransitionProps } from './ViewFlipper.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,EACX,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,EACT,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -16,6 +16,6 @@ export { captureClientError } from './ErrorLog.js';
16
16
  export { clearFeedbackContext, getFeedbackContext, setFeedbackContext, } from './FeedbackContext.js';
17
17
  export { initClientLogger } from './Logger.js';
18
18
  export { LoginPopup } from './LoginPopup.js';
19
- export { Link, createRouter } from './Router.js';
19
+ export { Link, createRouter, lazyPage, lazyPageLoader } from './Router.js';
20
20
  export { captureScreenshot } from './Screenshot.js';
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -5,7 +5,7 @@ import type { AppRegistryBase } from '../shared/Api.js';
5
5
  import type { CollectionDefRegistry, UserHelper } from '../shared/DB.js';
6
6
  import { PageRegistry } from '../shared/Router.js';
7
7
  import { verifyToken, type AuthProvider, type OnUserCreate } from './Auth.js';
8
- import { AppRouter, HandlerContext } from './Router.js';
8
+ import { AppRouter, CallHandlers, HandlerContext, RequestHandlers } from './Router.js';
9
9
  export { verifyToken };
10
10
  export interface PageServerOptions {
11
11
  pages: PageRegistry;
@@ -39,5 +39,5 @@ export interface App extends AppRouter {
39
39
  registerRoutes(fn: (router: ReturnType<typeof express.Router>) => void): void;
40
40
  httpServer: ReturnType<typeof createServer>;
41
41
  }
42
- export declare function createApp<R extends AppRegistryBase, Defs extends CollectionDefRegistry>(registry: R, appDefs?: Defs, configure?: (configurator: AppConfigurator) => void): App;
42
+ export declare function createApp<R extends AppRegistryBase, Defs extends CollectionDefRegistry>(registry: R, calls: Partial<CallHandlers<R['functions']>>, requests: Partial<RequestHandlers<R['requests']>>, appDefs: Defs, configure?: (configurator: AppConfigurator) => void): App;
43
43
  //# sourceMappingURL=App.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EAGrB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAY,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAKL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAcnB,OAAO,EAAE,SAAS,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,EAAE,WAAW,EAAE,CAAC;AAOvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IAEpB,UAAU,CAAC,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC;;;OAGG;IAEH,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAE7C,kBAAkB,CAChB,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,GAChE,IAAI,CAAC;IAER,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC;IAER,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAEzC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAE9E,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,GAAI,SAAQ,SAAS;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9E,UAAU,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7C;AAED,wBAAgB,SAAS,CACvB,CAAC,SAAS,eAAe,EACzB,IAAI,SAAS,qBAAqB,EAElC,QAAQ,EAAE,CAAC,EACX,OAAO,GAAE,IAAiB,EAC1B,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,GAClD,GAAG,CA0QL"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/server/App.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EAGrB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAY,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAKL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAcnB,OAAO,EACL,SAAS,EACT,YAAY,EAEZ,cAAc,EACd,eAAe,EAChB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,WAAW,EAAE,CAAC;AAOvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IAEpB,UAAU,CAAC,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC;;;OAGG;IAEH,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAE7C,kBAAkB,CAChB,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,GAChE,IAAI,CAAC;IAER,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC;IAER,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAEzC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAE9E,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,GAAI,SAAQ,SAAS;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9E,UAAU,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7C;AAED,wBAAgB,SAAS,CACvB,CAAC,SAAS,eAAe,EACzB,IAAI,SAAS,qBAAqB,EAElC,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAC5C,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACjD,OAAO,EAAE,IAAI,EACb,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,GAClD,GAAG,CA+UL"}