tungsten 0.6.1 → 0.6.2

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 (41) hide show
  1. package/dist/.build-complete +1 -1
  2. package/dist/Components.d.ts +12 -8
  3. package/dist/Components.d.ts.map +1 -1
  4. package/dist/Components.js +1 -0
  5. package/dist/Instance/Instance.d.ts +9 -5
  6. package/dist/Instance/Instance.d.ts.map +1 -1
  7. package/dist/Instance/Instance.js +101 -60
  8. package/dist/Servers/DevServer.d.ts.map +1 -1
  9. package/dist/Servers/DevServer.js +4 -0
  10. package/dist/Servers/ProdServer.d.ts.map +1 -1
  11. package/dist/Servers/ProdServer.js +4 -0
  12. package/dist/Store/InternalStoreSchema.d.ts +12 -1
  13. package/dist/Store/InternalStoreSchema.d.ts.map +1 -1
  14. package/dist/Store/InternalStoreSchema.js +2 -0
  15. package/dist/Store/StoreSubscriptions.types.d.ts +2 -2
  16. package/dist/Store/StoreSubscriptions.types.d.ts.map +1 -1
  17. package/dist/Store/getInternalStore.d.ts +3 -3
  18. package/dist/Store/getInternalStore.d.ts.map +1 -1
  19. package/dist/Store/makeStore.d.ts +24 -11
  20. package/dist/Store/makeStore.d.ts.map +1 -1
  21. package/dist/Store/makeStore.js +27 -23
  22. package/dist/assert.d.ts +2 -0
  23. package/dist/assert.d.ts.map +1 -0
  24. package/dist/assert.js +4 -0
  25. package/dist/components/Link.d.ts +0 -1
  26. package/dist/components/Link.d.ts.map +1 -1
  27. package/dist/components/Link.js +4 -6
  28. package/dist/testing/createTestApp.d.ts +12 -0
  29. package/dist/testing/createTestApp.d.ts.map +1 -1
  30. package/dist/testing/createTestApp.js +9 -3
  31. package/dist/testing/host.d.ts.map +1 -1
  32. package/dist/testing/host.js +3 -3
  33. package/dist/testing/hydrateTestApp.d.ts +1 -0
  34. package/dist/testing/hydrateTestApp.d.ts.map +1 -1
  35. package/dist/testing/hydrateTestApp.js +10 -4
  36. package/dist/testing/index.d.ts +1 -1
  37. package/dist/testing/index.d.ts.map +1 -1
  38. package/dist/testing/testingComponentPackage.d.ts +6 -11
  39. package/dist/testing/testingComponentPackage.d.ts.map +1 -1
  40. package/dist/testing/testingComponentPackage.js +20 -23
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- 1789688301572
1
+ 1789702483581
@@ -281,7 +281,7 @@ export declare abstract class TungstenSignalsComponent<Props extends TungstenCom
281
281
  __content: () => ContentNode | Promise<ContentNode>;
282
282
  __styledContent: () => ContentNode | Promise<ContentNode>;
283
283
  }
284
- import type { TrueStore } from './Store/makeStore.js';
284
+ import type { ReadonlyTrueStore } from './Store/makeStore.js';
285
285
  import type { Prettify } from '../types/helpers.js';
286
286
  import type { Key } from './Key.js';
287
287
  import type { GlobalData } from './routing/registerGlobalData.js';
@@ -303,32 +303,36 @@ export type ComponentStoreValue<T> = {
303
303
  export type ComponentStore<Schema> = {
304
304
  [Property in keyof Schema]: ComponentStoreValue<Schema[Property]>;
305
305
  };
306
+ export type ReadonlyComponentStore<Schema> = {
307
+ [Property in keyof Schema]: Omit<ComponentStoreValue<Schema[Property]>, 'set'>;
308
+ };
306
309
  export type ComponentStoreWithTrueStore<Schema> = ComponentStore<Schema> & {
307
- __trueStore: TrueStore<Schema>;
310
+ __trueStore: ReadonlyTrueStore<Schema>;
308
311
  };
309
- export declare function __proxyStore<Schema extends object>(this: TungstenBaseStoreComponent<any, any, any>, store: TrueStore<Schema>): Prettify<ComponentStore<Schema>>;
312
+ export declare function __proxyStore<Schema extends object>(this: TungstenBaseStoreComponent<any, any, any>, store: ReadonlyTrueStore<Schema>): Prettify<ComponentStore<Schema>>;
313
+ export type TungstenBaseStoreComponentAny = TungstenBaseStoreComponent<any, any, any>;
310
314
  export declare abstract class TungstenBaseStoreComponent<Props extends TungstenComponentPropsBase, RouteData, StoreSchema extends TungstenComponentStoreConstraint> extends TungstenBaseComponent<Props, RouteData> {
311
- abstract store: ComponentStore<StoreSchema>;
315
+ abstract store: ReadonlyComponentStore<StoreSchema>;
312
316
  constructor(pkg: ConstructPackage<Props, RouteData>);
313
317
  __proxyStore: typeof __proxyStore;
314
318
  __delete: () => void;
315
319
  }
316
320
  export declare abstract class TungstenBaseSimpleStoreComponent<Props extends TungstenComponentPropsBase, RouteData, StoreSchema extends TungstenComponentStoreConstraint> extends TungstenSimpleComponent<Props, RouteData> {
317
- abstract store: ComponentStore<StoreSchema>;
321
+ abstract store: ReadonlyComponentStore<StoreSchema>;
318
322
  constructor(pkg: ConstructPackage<Props, RouteData>);
319
323
  __proxyStore: typeof __proxyStore;
320
324
  __delete: () => void;
321
325
  }
322
326
  export declare abstract class TungstenBaseStatefulStoreComponent<Props extends TungstenComponentPropsBase, State extends TungstenComponentStateConstraint, RouteData, StoreSchema extends TungstenComponentStoreConstraint> extends TungstenStatefulComponent<Props, State, RouteData> {
323
- abstract store: ComponentStore<StoreSchema>;
327
+ abstract store: ReadonlyComponentStore<StoreSchema>;
324
328
  constructor(pkg: ConstructPackage<Props, RouteData>);
325
329
  __proxyStore: typeof __proxyStore;
326
330
  __delete: () => void;
327
331
  }
328
332
  export declare abstract class TungstenSimpleInternalStoreComponent<Props extends TungstenComponentPropsBase = object, RouteData = undefined> extends TungstenBaseSimpleStoreComponent<Props, RouteData, InternalStoreSchema> {
329
- store: ComponentStore<InternalStoreSchema>;
333
+ store: import("./Store/InternalStoreSchema.js").InternalComponentStore;
330
334
  }
331
335
  export declare abstract class TungstenStatefulInternalStoreComponent<Props extends TungstenComponentPropsBase = object, State extends TungstenComponentStateConstraint = object, RouteData = undefined> extends TungstenBaseStatefulStoreComponent<Props, State, RouteData, InternalStoreSchema> {
332
- store: ComponentStore<InternalStoreSchema>;
336
+ store: import("./Store/InternalStoreSchema.js").InternalComponentStore;
333
337
  }
334
338
  //# sourceMappingURL=Components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Components.d.ts","sourceRoot":"","sources":["../src/Components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Components.d.ts","sourceRoot":"","sources":["../src/Components.tsx"],"names":[],"mappings":"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"}
@@ -952,6 +952,7 @@ import { guardedUpdate } from './update/guardedUpdate.js';
952
952
  import { getInternalStore } from './Store/getInternalStore.js';
953
953
  import { isDev } from './isDev.js';
954
954
  import { warn } from './output.js';
955
+ // takes the readable form, so a store whose framework-owned keys drop set() can be proxied too
955
956
  export function __proxyStore(store) {
956
957
  const proxiedStore = objectMap(store, (valueKey, valueObject) => {
957
958
  const handler = {
@@ -3,7 +3,7 @@ import type { InstanceConfig } from './InstanceConfig.js';
3
3
  import type { ReqRes } from '../ReqRes.js';
4
4
  import type { AppRoutes } from '../routing/AppRoutes.js';
5
5
  import type { GlobalData } from '../routing/registerGlobalData.js';
6
- import type { InternalStoreSchema } from '../Store/InternalStoreSchema.js';
6
+ import type { InternalStore } from '../Store/InternalStoreSchema.js';
7
7
  import type { TrueStore } from '../Store/makeStore.js';
8
8
  import type { MatchedRouteInfo } from '../Servers/MatchedRouteInfo.js';
9
9
  import type { Routes } from '../routing/Routes.js';
@@ -20,7 +20,7 @@ export declare class Instance {
20
20
  appRoutes: AppRoutes;
21
21
  routes: Routes;
22
22
  hydrationComplete: boolean;
23
- internalStore: TrueStore<InternalStoreSchema>;
23
+ internalStore: InternalStore;
24
24
  stores: TrueStore<any>[];
25
25
  storeSubscriptions: StoreSubscriptionsMap;
26
26
  serverLoadingData: boolean;
@@ -32,18 +32,22 @@ export declare class Instance {
32
32
  globalData: GlobalData;
33
33
  matchedRouteInfo: MatchedRouteInfo;
34
34
  persistentHeadChildren: HTMLElement[];
35
- navigating: boolean;
36
35
  runtimeContext: ClientRuntimeContext | undefined;
37
36
  registeredComponents: DisposableComponent[];
38
- constructor(location: string, instanceConfig: InstanceConfig, reqRes: ReqRes | null, appRoutes: AppRoutes, routes: Routes, internalStore: TrueStore<InternalStoreSchema>, stores: TrueStore<any>[], storeSubscriptions: StoreSubscriptionsMap, globalData: GlobalData, matchedRouteInfo: MatchedRouteInfo, runtimeContext?: ClientRuntimeContext);
37
+ redirected: {
38
+ url: string;
39
+ code: RedirectCode;
40
+ } | undefined;
41
+ constructor(location: string, instanceConfig: InstanceConfig, reqRes: ReqRes | null, appRoutes: AppRoutes, routes: Routes, internalStore: InternalStore, stores: TrueStore<any>[], storeSubscriptions: StoreSubscriptionsMap, globalData: GlobalData, matchedRouteInfo: MatchedRouteInfo, runtimeContext?: ClientRuntimeContext);
39
42
  routeKeyToUrl: (routeKey: RouteKey) => string;
40
43
  urlToRouteKey: (pathname: string) => RouteKey;
41
44
  getRoutes: () => Routes;
42
45
  updateLocation: (location: string) => void;
43
- goto: (routeKey: RouteKey, { pushHistory }?: {
46
+ goto: (path: RouteKey, { pushHistory }?: {
44
47
  pushHistory?: boolean;
45
48
  }) => Promise<void>;
46
49
  redirect: (url: string, code?: RedirectCode) => void;
50
+ httpTo: (url: string) => void;
47
51
  setDefaultTitle: (defaultTitle: string) => void;
48
52
  setTitle: (title: string) => void;
49
53
  setTitleToDefault: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/Instance/Instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/Instance/Instance.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ import { ContentNodeIsClassComponent } from '../ContentNode.js';
14
14
  import { $props, $type } from '../contentNodeSymbols.js';
15
15
  import { errorOut } from '../appOutput.js';
16
16
  import { makeTungstenErrorInfo } from '../routing/TungstenErrorInfo.js';
17
+ import { tAssert } from '../assert.js';
18
+ import { throwError } from '../throwError.js';
17
19
  export class Instance {
18
20
  constructor(_location, instanceConfig, reqRes, appRoutes, routes,
19
21
  //globalData: GlobalData,
@@ -39,9 +41,13 @@ export class Instance {
39
41
  _defineProperty(this, "globalData", void 0);
40
42
  _defineProperty(this, "matchedRouteInfo", void 0);
41
43
  _defineProperty(this, "persistentHeadChildren", void 0);
42
- _defineProperty(this, "navigating", false);
44
+ //navigationIndex: number = 0
45
+ //lastNavigation: number = 0
46
+ //navigating: boolean = false
43
47
  _defineProperty(this, "runtimeContext", void 0);
44
48
  _defineProperty(this, "registeredComponents", []);
49
+ // set when the server has answered the request with a redirect, so it sends nothing more
50
+ _defineProperty(this, "redirected", undefined);
45
51
  _defineProperty(this, "routeKeyToUrl", routeKey => {
46
52
  return routeKeyToUrl(routeKey, this.config.siteBasePath, isProd && this.config.staticSite);
47
53
  });
@@ -60,72 +66,93 @@ export class Instance {
60
66
  this.location = location;
61
67
  this.internalStore.location.set(location);
62
68
  });
63
- _defineProperty(this, "goto", async (routeKey, {
69
+ _defineProperty(this, "goto", async (path, {
64
70
  pushHistory = true
65
71
  } = {}) => {
66
- // get route data
67
- this.navigating = true;
68
- let matchedRouteInfo;
69
- try {
70
- matchedRouteInfo = await routing(routeKey, this.getRoutes());
71
- } catch (error) {
72
- errorOut(`Tungsten client navigation to '${routeKey}' failed while loading route data:`, error);
73
- const errorRoute = this.routes.error;
74
- // Without an app-defined error route there's nothing better to show; at
75
- // least this is now a logged, caught rejection rather than a silent
76
- // unhandled one that left the previous page frozen with no feedback.
77
- if (errorRoute === undefined) return;
78
- matchedRouteInfo = {
79
- key: 'error',
80
- params: {},
81
- content: errorRoute.content,
82
- data: makeTungstenErrorInfo(error)
83
- };
84
- }
85
- //console.log('matchedRouteInfo', location, matchedRouteInfo)
86
- //console.log('matched route info', this.matchedRouteInfo)
87
- // data here is the result of the route data function
88
- if (matchedRouteInfo.data instanceof RoutingRedirect) {
89
- const redirect = matchedRouteInfo.data;
90
- this.goto(redirect.to);
72
+ if (isServer) {
73
+ this.redirect(this.routeKeyToUrl(path));
91
74
  return;
92
- } else if (matchedRouteInfo.data instanceof WebRedirect) {
93
- // A WebRedirect names a URL rather than a route, so it leaves the
94
- // application — exactly as a WebRedirectComponent returned as
95
- // content does below. On the server redirect() writes an HTTP
96
- // redirect; in the browser it replaces the location.
97
- const redirect = matchedRouteInfo.data;
98
- this.redirect(redirect.to, redirect.code);
75
+ }
76
+ // immediate redirect
77
+ //
78
+ if (!this.config.clientSideNav) {
79
+ // if clientSideNav is off, these navs should turn into requests to the server
80
+ this.httpTo(this.routeKeyToUrl(path));
99
81
  return;
100
82
  }
101
- // handle Redirect components
102
- // if (
103
- // matchedRouteInfo.content instanceof RedirectComponent
104
- // //&& matchedRouteInfo.content.__tungstenComponentType === 'redirect'
105
- // ) {
106
- if (typeof matchedRouteInfo.content !== 'function' && ContentNodeIsClassComponent(matchedRouteInfo.content)) {
107
- if (matchedRouteInfo.content[$type] === RouteRedirectComponent || matchedRouteInfo.content[$type].prototype instanceof RouteRedirectComponent) {
108
- this.goto(matchedRouteInfo.content[$props].to);
83
+ // the store types these two readonly for everyone else; goto() is what owns them
84
+ const navigationIndex = this.internalStore.navigationIndex; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
85
+ const navigating = this.internalStore.navigating; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
86
+ const i = navigationIndex.get() + 1;
87
+ navigationIndex.set(i);
88
+ navigating.set(true);
89
+ // get route data
90
+ try {
91
+ let matchedRouteInfo;
92
+ try {
93
+ matchedRouteInfo = await routing(path, this.getRoutes());
94
+ } catch (error) {
95
+ errorOut(`Tungsten client navigation to '${path}' failed while loading route data:`, error);
96
+ const errorRoute = this.routes.error;
97
+ // Without an app-defined error route there's nothing better to show; at
98
+ // least this is now a logged, caught rejection rather than a silent
99
+ // unhandled one that left the previous page frozen with no feedback.
100
+ if (errorRoute === undefined) return;
101
+ matchedRouteInfo = {
102
+ key: 'error',
103
+ params: {},
104
+ content: errorRoute.content,
105
+ data: makeTungstenErrorInfo(error)
106
+ };
107
+ }
108
+ //console.log('matchedRouteInfo', location, matchedRouteInfo)
109
+ //console.log('matched route info', this.matchedRouteInfo)
110
+ if (i !== navigationIndex.get()) return; // another nav has taken over
111
+ // data here is the result of the route data function
112
+ if (matchedRouteInfo.data instanceof RoutingRedirect) {
113
+ const redirect = matchedRouteInfo.data;
114
+ this.goto(redirect.to);
109
115
  return;
110
- } else if (matchedRouteInfo.content[$type] === WebRedirectComponent || matchedRouteInfo.content[$type].prototype instanceof WebRedirectComponent) {
111
- console.log('Content is a WebRedirectComponent - perform a hard redirect');
112
- this.redirect(matchedRouteInfo.content[$props].to);
116
+ } else if (matchedRouteInfo.data instanceof WebRedirect) {
117
+ // A WebRedirect names a URL rather than a route, so it leaves the
118
+ // application — exactly as a WebRedirectComponent returned as
119
+ // content does below. On the server redirect() writes an HTTP
120
+ // redirect; in the browser it replaces the location.
121
+ const redirect = matchedRouteInfo.data;
122
+ this.redirect(redirect.to, redirect.code);
113
123
  return;
114
124
  }
125
+ // handle Redirect components
126
+ // if (
127
+ // matchedRouteInfo.content instanceof RedirectComponent
128
+ // //&& matchedRouteInfo.content.__tungstenComponentType === 'redirect'
129
+ // ) {
130
+ if (typeof matchedRouteInfo.content !== 'function' && ContentNodeIsClassComponent(matchedRouteInfo.content)) {
131
+ if (matchedRouteInfo.content[$type] === RouteRedirectComponent || matchedRouteInfo.content[$type].prototype instanceof RouteRedirectComponent) {
132
+ this.goto(matchedRouteInfo.content[$props].to);
133
+ return;
134
+ } else if (matchedRouteInfo.content[$type] === WebRedirectComponent || matchedRouteInfo.content[$type].prototype instanceof WebRedirectComponent) {
135
+ console.log('Content is a WebRedirectComponent - perform a hard redirect');
136
+ this.redirect(matchedRouteInfo.content[$props].to);
137
+ return;
138
+ }
139
+ }
140
+ //console.log('updating route info to', matchedRouteInfo)
141
+ //console.log('instance goto')
142
+ //console.log('siteBasePath', this.config.siteBasePath)
143
+ //console.log('location', location)
144
+ //console.log('final dest', this.config.siteBasePath + location)
145
+ this.matchedRouteInfo = matchedRouteInfo;
146
+ if (isClient && pushHistory) {
147
+ const runtimeWindow = this.runtimeContext?.window ?? window;
148
+ runtimeWindow.history.pushState(null, '', this.routeKeyToUrl(path));
149
+ }
150
+ this.setTitleToDefault();
151
+ this.updateLocation(path); // this.internalStore.set('location', to)
152
+ //this.finishedNavigating()
153
+ } finally {
154
+ if (i === navigationIndex.get()) navigating.set(false);
115
155
  }
116
- //console.log('updating route info to', matchedRouteInfo)
117
- //console.log('instance goto')
118
- //console.log('siteBasePath', this.config.siteBasePath)
119
- //console.log('location', location)
120
- //console.log('final dest', this.config.siteBasePath + location)
121
- this.matchedRouteInfo = matchedRouteInfo;
122
- if (isClient && pushHistory) {
123
- const runtimeWindow = this.runtimeContext?.window ?? window;
124
- runtimeWindow.history.pushState(null, '', this.routeKeyToUrl(routeKey));
125
- }
126
- this.setTitleToDefault();
127
- this.updateLocation(routeKey); // this.internalStore.set('location', to)
128
- //this.finishedNavigating()
129
156
  });
130
157
  // postNavigationQueue: (() => void)[] = []
131
158
  // finishedNavigating = () => {
@@ -137,14 +164,28 @@ export class Instance {
137
164
  // }
138
165
  _defineProperty(this, "redirect", (url, code = 302) => {
139
166
  if (this.reqRes) {
140
- console.assert(isServer, 'reqRes is set, expected isServer to be truthy');
167
+ tAssert(isServer, 'reqRes is set, expected isServer to be truthy');
168
+ // a render can ask more than once (two <GoTo>s, a goto() and a WebRedirect): the
169
+ // first answers the request, and a second res.redirect() would throw
170
+ if (this.redirected !== undefined) return;
171
+ this.redirected = {
172
+ url,
173
+ code
174
+ };
141
175
  this.reqRes.res.redirect(code, url);
142
176
  } else {
143
- console.assert(isClient, 'reqRes is not set, expected isClient to be truthy');
177
+ tAssert(isClient, 'reqRes is not set, expected isClient to be truthy');
144
178
  const runtimeWindow = this.runtimeContext?.window ?? window;
145
179
  runtimeWindow.location.replace(url);
146
180
  }
147
181
  });
182
+ _defineProperty(this, "httpTo", url => {
183
+ if (!isClient) {
184
+ throwError('gotoHttp', 'Cannot modify window location on the server');
185
+ }
186
+ const runtimeWindow = this.runtimeContext?.window ?? window;
187
+ runtimeWindow.location.assign(url);
188
+ });
148
189
  _defineProperty(this, "setDefaultTitle", defaultTitle => {
149
190
  this.defaultTitle = defaultTitle;
150
191
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DevServer.d.ts","sourceRoot":"","sources":["../../src/Servers/DevServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,OAAgF,MAAM,SAAS,CAAA;AAOtG,OAAO,KAAK,EAAE,uBAAuB,EAAwB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AA0B1C,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAsBrD,qBAAa,SAAU,SAAQ,cAAc;IACzC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,uBAAuB,CAAA;IAC/B,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IAGrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAGlC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAClC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAA;IAExB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAO;IAC3B,cAAc,EAAE,MAAM,CAAI;IAC1B,oBAAoB,EAAE,MAAM,CAAI;IAChC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,iBAAiB,CAA4B;IAIrD,OAAO,CAAC,MAAM,CAA2C;gBAErD,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,eAAe,EACvF,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAoIlD,OAAO,CAAC,mBAAmB,CA2E1B;IAKD,OAAO,CAAC,sBAAsB,CAQ7B;IACD,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAC9C,OAAO,CAAC,oBAAoB,CAwB3B;IACD,OAAO,CAAC,mBAAmB,CAK1B;IACD,OAAO,CAAC,gBAAgB,CAcvB;IAED,OAAO,CAAC,aAAa,CAiOpB;IAaD,OAAO,CAAC,mBAAmB,CAsC1B;IAID,aAAa,GAAU,MAAM,kBAAkB,EAAE,QAAQ,MAAM,yBAQ9D;IACD,QAAQ,GAAI,OAAO,OAAO,UAIzB;IACD,SAAS,GAAI,OAAO,OAAO,EAAE,YAAY,MAAM,EAAE,YAiBhD;IAGD,KAAK;;;;OA+BJ;IACD,IAAI,aAMH;CAGJ"}
1
+ {"version":3,"file":"DevServer.d.ts","sourceRoot":"","sources":["../../src/Servers/DevServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,OAAgF,MAAM,SAAS,CAAA;AAOtG,OAAO,KAAK,EAAE,uBAAuB,EAAwB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AA0B1C,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAsBrD,qBAAa,SAAU,SAAQ,cAAc;IACzC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,uBAAuB,CAAA;IAC/B,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IAGrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAGlC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAClC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAA;IAExB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAO;IAC3B,cAAc,EAAE,MAAM,CAAI;IAC1B,oBAAoB,EAAE,MAAM,CAAI;IAChC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,iBAAiB,CAA4B;IAIrD,OAAO,CAAC,MAAM,CAA2C;gBAErD,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,eAAe,EACvF,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAoIlD,OAAO,CAAC,mBAAmB,CA2E1B;IAKD,OAAO,CAAC,sBAAsB,CAQ7B;IACD,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAC9C,OAAO,CAAC,oBAAoB,CAwB3B;IACD,OAAO,CAAC,mBAAmB,CAK1B;IACD,OAAO,CAAC,gBAAgB,CAcvB;IAED,OAAO,CAAC,aAAa,CAsOpB;IAaD,OAAO,CAAC,mBAAmB,CAsC1B;IAID,aAAa,GAAU,MAAM,kBAAkB,EAAE,QAAQ,MAAM,yBAQ9D;IACD,QAAQ,GAAI,OAAO,OAAO,UAIzB;IACD,SAAS,GAAI,OAAO,OAAO,EAAE,YAAY,MAAM,EAAE,YAiBhD;IAGD,KAAK;;;;OA+BJ;IACD,IAAI,aAMH;CAGJ"}
@@ -379,6 +379,8 @@ export class DevServer extends TungstenServer {
379
379
  // '' // siteBasePathOverride
380
380
  // )
381
381
  }
382
+ // a goto() during the render has already answered with a redirect
383
+ if (instance.redirected !== undefined) return;
382
384
  //debug('html', html)
383
385
  res.setHeader('Content-Type', 'text/html');
384
386
  res.status(instance.matchedRouteInfo.key === '404' ? 404 : 200);
@@ -387,6 +389,8 @@ export class DevServer extends TungstenServer {
387
389
  cliLog('error in TungstenServer handleRequest', e);
388
390
  this.errorLog(e);
389
391
  cliLog('');
392
+ // too late for an error page once a redirect has gone out
393
+ if (res.headersSent) return;
390
394
  const errorRouteHtml = await this.tryRenderErrorRoute(req, res, capturedRoutes, capturedRootComponentClass, capturedGlobalData, e);
391
395
  res.setHeader('Content-Type', 'text/html');
392
396
  res.status(500);
@@ -1 +1 @@
1
- {"version":3,"file":"ProdServer.d.ts","sourceRoot":"","sources":["../../src/Servers/ProdServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAiB7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAWrD,qBAAa,UAAW,SAAQ,cAAc;IAC1C,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,uBAAuB,CAAA;IAC/B,eAAe,EAAE,eAAe,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAO5C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAGlC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAClC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACrC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,MAAM,CAAc;gBAExB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,uBAAuB,EAC/B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,EAC5C,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAqJ7C,OAAO,CAAC,gBAAgB,CAgBvB;IACD,aAAa,GAAU,KAAK,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CA2HjF;IASD,OAAO,CAAC,mBAAmB,CA+C1B;IACD,SAAS,eASR;IAOK,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BlE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAa9B"}
1
+ {"version":3,"file":"ProdServer.d.ts","sourceRoot":"","sources":["../../src/Servers/ProdServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAiB7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAWrD,qBAAa,UAAW,SAAQ,cAAc;IAC1C,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,uBAAuB,CAAA;IAC/B,eAAe,EAAE,eAAe,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAO5C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAGlC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAClC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACrC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,MAAM,CAAc;gBAExB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,uBAAuB,EAC/B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,EAC5C,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAqJ7C,OAAO,CAAC,gBAAgB,CAgBvB;IACD,aAAa,GAAU,KAAK,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CAgIjF;IASD,OAAO,CAAC,mBAAmB,CA+C1B;IACD,SAAS,eASR;IAOK,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BlE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAa9B"}
@@ -178,12 +178,16 @@ export class ProdServer extends TungstenServer {
178
178
  }
179
179
  html = await renderContentToHtml(this.compilationInfo, this.framework.clientImportAliases, content, instance, config, this.config.siteBasePath);
180
180
  }
181
+ // a goto() during the render has already answered with a redirect
182
+ if (instance.redirected !== undefined) return;
181
183
  //debug('html', html)
182
184
  res.setHeader('Content-Type', 'text/html');
183
185
  res.status(instance.matchedRouteInfo.key === '404' ? 404 : 200);
184
186
  res.send(html);
185
187
  } catch (e) {
186
188
  cliLog('handleRequest() error', e);
189
+ // too late for an error page once a redirect has gone out
190
+ if (res.headersSent) return;
187
191
  const errorRouteHtml = await this.tryRenderErrorRoute(req, res, capturedGlobalData, e);
188
192
  res.setHeader('Content-Type', 'text/html');
189
193
  res.status(500);
@@ -1,10 +1,21 @@
1
1
  import type { MatchedRouteInfo } from '../Servers/MatchedRouteInfo.js';
2
2
  import type { PopMessage } from '../PopMessage.type.js';
3
+ import type { ComponentStoreValue } from '../Components.jsx';
4
+ import type { ReadonlyTrueStoreValue, StoreValue } from './makeStore.js';
3
5
  export declare class InternalStoreSchema {
4
6
  location: string;
7
+ navigationIndex: number;
8
+ navigating: boolean;
5
9
  matchedRouteInfo: MatchedRouteInfo;
6
10
  popMessages: PopMessage[];
7
11
  constructor(location: string, matchedRouteInfo: MatchedRouteInfo);
8
12
  }
9
- export type PartialInternalStoreSchema = Pick<InternalStoreSchema, 'popMessages'> & Partial<Omit<InternalStoreSchema, 'popMessages'>>;
13
+ export type FrameworkOwnedInternalKeys = 'navigating' | 'navigationIndex';
14
+ export type InternalStore = {
15
+ [Key in keyof InternalStoreSchema]: Key extends FrameworkOwnedInternalKeys ? ReadonlyTrueStoreValue<InternalStoreSchema[Key]> : StoreValue<InternalStoreSchema[Key]>;
16
+ };
17
+ export type InternalComponentStore = {
18
+ [Key in keyof InternalStoreSchema]: Key extends FrameworkOwnedInternalKeys ? Omit<ComponentStoreValue<InternalStoreSchema[Key]>, 'set'> : ComponentStoreValue<InternalStoreSchema[Key]>;
19
+ };
20
+ export type PartialInternalStoreSchema = Pick<InternalStoreSchema, 'popMessages'> & Partial<Omit<InternalStoreSchema, 'popMessages' | FrameworkOwnedInternalKeys>>;
10
21
  //# sourceMappingURL=InternalStoreSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InternalStoreSchema.d.ts","sourceRoot":"","sources":["../../src/Store/InternalStoreSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGvD,qBAAa,mBAAmB;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,WAAW,EAAE,UAAU,EAAE,CAAK;gBAClB,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB;CAInE;AAGD,MAAM,MAAM,0BAA0B,GAChC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"InternalStoreSchema.d.ts","sourceRoot":"","sources":["../../src/Store/InternalStoreSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGxE,qBAAa,mBAAmB;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAI;IAC3B,UAAU,EAAE,OAAO,CAAQ;IAC3B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,WAAW,EAAE,UAAU,EAAE,CAAK;gBAClB,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB;CAInE;AAID,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,iBAAiB,CAAA;AAGzE,MAAM,MAAM,aAAa,GAAG;KACvB,GAAG,IAAI,MAAM,mBAAmB,GAAG,GAAG,SAAS,0BAA0B,GACpE,sBAAsB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAChD,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;CAC7C,CAAA;AAGD,MAAM,MAAM,sBAAsB,GAAG;KAChC,GAAG,IAAI,MAAM,mBAAmB,GAAG,GAAG,SAAS,0BAA0B,GACpE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAC1D,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;CACtD,CAAA;AAGD,MAAM,MAAM,0BAA0B,GAChC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,0BAA0B,CAAC,CAAC,CAAA"}
@@ -4,6 +4,8 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
4
4
  export class InternalStoreSchema {
5
5
  constructor(location, matchedRouteInfo) {
6
6
  _defineProperty(this, "location", void 0);
7
+ _defineProperty(this, "navigationIndex", 0);
8
+ _defineProperty(this, "navigating", false);
7
9
  _defineProperty(this, "matchedRouteInfo", void 0);
8
10
  _defineProperty(this, "popMessages", []);
9
11
  this.location = location;
@@ -1,6 +1,6 @@
1
1
  import type { TungstenBaseComponent } from '../Components.jsx';
2
- import type { TrueStore } from './makeStore.js';
2
+ import type { ReadonlyTrueStore } from './makeStore.js';
3
3
  import type { Key } from '../Key.js';
4
4
  export type SubscribedElements = Map<TungstenBaseComponent<any, any>, Set<Key>>;
5
- export type StoreSubscriptionsMap = Map<TrueStore<any>, SubscribedElements>;
5
+ export type StoreSubscriptionsMap = Map<ReadonlyTrueStore<any>, SubscribedElements>;
6
6
  //# sourceMappingURL=StoreSubscriptions.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StoreSubscriptions.types.d.ts","sourceRoot":"","sources":["../../src/Store/StoreSubscriptions.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAGpC,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAC/E,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAA"}
1
+ {"version":3,"file":"StoreSubscriptions.types.d.ts","sourceRoot":"","sources":["../../src/Store/StoreSubscriptions.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAGpC,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAE/E,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { ComponentStore, TungstenBaseStoreComponent } from '../Components.jsx';
2
- import type { InternalStoreSchema } from './InternalStoreSchema.js';
3
- export declare function getInternalStore(element: TungstenBaseStoreComponent<any, any, any>): ComponentStore<InternalStoreSchema>;
1
+ import type { TungstenBaseStoreComponent } from '../Components.jsx';
2
+ import type { InternalComponentStore } from './InternalStoreSchema.js';
3
+ export declare function getInternalStore(element: TungstenBaseStoreComponent<any, any, any>): InternalComponentStore;
4
4
  //# sourceMappingURL=getInternalStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getInternalStore.d.ts","sourceRoot":"","sources":["../../src/Store/getInternalStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAKnE,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACnD,cAAc,CAAC,mBAAmB,CAAC,CAIrC"}
1
+ {"version":3,"file":"getInternalStore.d.ts","sourceRoot":"","sources":["../../src/Store/getInternalStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,0BAA0B,CAAA;AAM3F,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACnD,sBAAsB,CAIxB"}
@@ -2,38 +2,51 @@ import type { Key } from '../Key.js';
2
2
  import type { TungstenBaseStoreComponent } from '../Components.jsx';
3
3
  import type { ServerDataLoading } from './ServerDataLoading.js';
4
4
  import type { SubscribedElements } from './StoreSubscriptions.types.js';
5
- export declare const $trueStoreCell: unique symbol;
6
- export declare class StoreValueServer<T> {
5
+ export declare const $trueStoreValue: unique symbol;
6
+ export declare class StoreValueServer<T> implements TrueStoreValueInterface<T> {
7
7
  #private;
8
- readonly [$trueStoreCell] = true;
8
+ readonly [$trueStoreValue] = true;
9
9
  constructor(value: T, serverDataLoading: ServerDataLoading);
10
10
  readonly get: () => T;
11
11
  readonly sync: () => T;
12
12
  readonly set: (newValue: T) => void;
13
13
  readonly subscribe: () => void;
14
14
  readonly unsubscribe: () => void;
15
- readonly notify: <Fn extends ((value: T) => void)>(fn: Fn) => Fn;
16
- readonly stopNotify: <Fn extends ((value: T) => void)>(fn: Fn) => Fn;
15
+ readonly notify: <Fn extends ((value: T) => void)>(fn: Fn, element: TungstenBaseStoreComponent<any, any, any>) => Fn;
16
+ readonly stopNotify: <Fn extends ((value: T) => void)>(fn: Fn, element: TungstenBaseStoreComponent<any, any, any>) => Fn;
17
17
  readonly stopNotifyAll: () => void;
18
18
  }
19
19
  export type NotifyFn<T> = (value: T) => void;
20
- export type StoreValueSubscribe = (element: TungstenBaseStoreComponent<any, any, any>) => void;
21
- export type StoreValueUnsubscribe = StoreValueSubscribe;
22
- export declare class StoreValue<T> {
20
+ export interface TrueStoreValueInterface<T> {
21
+ readonly [$trueStoreValue]: true;
22
+ readonly get: () => T;
23
+ readonly sync: (element: TungstenBaseStoreComponent<any, any, any>) => T;
24
+ readonly set: (value: T) => void;
25
+ readonly subscribe: (element: TungstenBaseStoreComponent<any, any, any>) => void;
26
+ readonly unsubscribe: (element: TungstenBaseStoreComponent<any, any, any>) => void;
27
+ readonly notify: <Fn extends NotifyFn<T>>(fn: Fn, element: TungstenBaseStoreComponent<any, any, any>) => Fn;
28
+ readonly stopNotify: <Fn extends NotifyFn<T>>(fn: Fn, element: TungstenBaseStoreComponent<any, any, any>) => Fn;
29
+ readonly stopNotifyAll: (element: TungstenBaseStoreComponent<any, any, any>) => void;
30
+ }
31
+ export type ReadonlyTrueStoreValue<T> = Omit<TrueStoreValueInterface<T>, 'set'>;
32
+ export declare class StoreValue<T> implements TrueStoreValueInterface<T> {
23
33
  #private;
24
- readonly [$trueStoreCell] = true;
34
+ readonly [$trueStoreValue] = true;
25
35
  constructor(key: Key, value: T, subscribedElements: SubscribedElements);
26
36
  readonly get: () => T;
27
37
  readonly sync: (element: TungstenBaseStoreComponent<any, any, any>) => T;
28
38
  readonly set: (newValue: T) => void;
29
39
  readonly subscribe: (element: TungstenBaseStoreComponent<any, any, any>) => void;
30
40
  readonly unsubscribe: (element: TungstenBaseStoreComponent<any, any, any>) => void;
31
- readonly notify: <Fn extends ((value: T) => void)>(fn: Fn, element?: TungstenBaseStoreComponent<any, any, any>) => Fn;
32
- readonly stopNotify: <Fn extends ((value: T) => void)>(fn: Fn, element?: TungstenBaseStoreComponent<any, any, any>) => Fn;
41
+ readonly notify: <Fn extends ((value: T) => void)>(fn: Fn, element: TungstenBaseStoreComponent<any, any, any>) => Fn;
42
+ readonly stopNotify: <Fn extends ((value: T) => void)>(fn: Fn, element: TungstenBaseStoreComponent<any, any, any>) => Fn;
33
43
  readonly stopNotifyAll: (element: TungstenBaseStoreComponent<any, any, any>) => void;
34
44
  }
35
45
  export type TrueStore<Schema> = {
36
46
  [Property in keyof Schema]: StoreValue<Schema[Property]>;
37
47
  };
48
+ export type ReadonlyTrueStore<Schema> = {
49
+ [Property in keyof Schema]: ReadonlyTrueStoreValue<Schema[Property]>;
50
+ };
38
51
  export declare function makeStore<Schema extends object>(schema: Schema, subscribedElements: SubscribedElements, serverDataLoading?: ServerDataLoading | null): TrueStore<Schema>;
39
52
  //# sourceMappingURL=makeStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeStore.d.ts","sourceRoot":"","sources":["../../src/Store/makeStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeStore.d.ts","sourceRoot":"","sources":["../../src/Store/makeStore.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,19 @@ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
7
7
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
8
8
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
9
9
  import { objectMap } from '../objectMap.js';
10
+ // type Notify<T> = <Fn extends ((value: T) => void)>(fn: Fn, element: TungstenBaseStoreComponent<any, any, any>) => Fn
11
+ // type StopNotify<T> = Notify<T>
10
12
  // Marks a cell as unbound - subscribe takes the component. A ComponentStore's cells are the
11
13
  // same objects behind a proxy that binds it, and without this their types would be assignable
12
14
  // (a () => void fits an (element) => void), so a bound store could pass for a TrueStore.
13
- export const $trueStoreCell = Symbol('trueStoreCell');
15
+ export const $trueStoreValue = Symbol('trueStoreValue');
14
16
  // the server render is one pass, so nothing re-renders on a write: no subscribers, and subscribe
15
17
  // is a no-op that keeps the cell's shape for the component proxy
16
18
  var _value = /*#__PURE__*/new WeakMap();
17
19
  var _serverDataLoading = /*#__PURE__*/new WeakMap();
18
20
  export class StoreValueServer {
19
21
  constructor(value, serverDataLoading) {
20
- _defineProperty(this, $trueStoreCell, true);
22
+ _defineProperty(this, $trueStoreValue, true);
21
23
  _classPrivateFieldInitSpec(this, _value, void 0);
22
24
  _classPrivateFieldInitSpec(this, _serverDataLoading, void 0);
23
25
  _defineProperty(this, "get", () => _classPrivateFieldGet(_value, this));
@@ -36,8 +38,10 @@ export class StoreValueServer {
36
38
  // do nothing on the server, because nothing continue past first render.
37
39
  });
38
40
  // no-ops, but they return the function as the client cells do, so a caller can keep the handle
39
- _defineProperty(this, "notify", fn => fn);
40
- _defineProperty(this, "stopNotify", fn => fn);
41
+ _defineProperty(this, "notify", (fn, element // eslint-disable-line @typescript-eslint/no-unused-vars
42
+ ) => fn);
43
+ _defineProperty(this, "stopNotify", (fn, element // eslint-disable-line @typescript-eslint/no-unused-vars
44
+ ) => fn);
41
45
  _defineProperty(this, "stopNotifyAll", () => {
42
46
  // do nothing on the server, because nothing continue past first render.
43
47
  });
@@ -54,7 +58,7 @@ var _notifyOwners = /*#__PURE__*/new WeakMap();
54
58
  var _dropOwnerIfDone = /*#__PURE__*/new WeakMap();
55
59
  export class StoreValue {
56
60
  constructor(key, value, subscribedElements) {
57
- _defineProperty(this, $trueStoreCell, true);
61
+ _defineProperty(this, $trueStoreValue, true);
58
62
  /* #store: StoreSchemaClassGeneral */
59
63
  _classPrivateFieldInitSpec(this, _key, void 0);
60
64
  _classPrivateFieldInitSpec(this, _value2, void 0);
@@ -104,29 +108,29 @@ export class StoreValue {
104
108
  });
105
109
  _defineProperty(this, "notify", (fn, element) => {
106
110
  _classPrivateFieldGet(_notifyFunctions, this).add(fn);
107
- if (element !== undefined) {
108
- let owned = _classPrivateFieldGet(_notifyOwners, this).get(element);
109
- if (owned === undefined) {
110
- owned = new Set();
111
- _classPrivateFieldGet(_notifyOwners, this).set(element, owned);
112
- }
113
- owned.add(fn);
114
- // index the key like subscribe does, so teardown visits this cell
115
- let subscriptions = _classPrivateFieldGet(_subscribedElements, this).get(element);
116
- if (subscriptions === undefined) {
117
- subscriptions = new Set();
118
- _classPrivateFieldGet(_subscribedElements, this).set(element, subscriptions);
119
- }
120
- subscriptions.add(_classPrivateFieldGet(_key, this));
111
+ //if (element !== undefined) {
112
+ let owned = _classPrivateFieldGet(_notifyOwners, this).get(element);
113
+ if (owned === undefined) {
114
+ owned = new Set();
115
+ _classPrivateFieldGet(_notifyOwners, this).set(element, owned);
116
+ }
117
+ owned.add(fn);
118
+ // index the key like subscribe does, so teardown visits this cell
119
+ let subscriptions = _classPrivateFieldGet(_subscribedElements, this).get(element);
120
+ if (subscriptions === undefined) {
121
+ subscriptions = new Set();
122
+ _classPrivateFieldGet(_subscribedElements, this).set(element, subscriptions);
121
123
  }
124
+ subscriptions.add(_classPrivateFieldGet(_key, this));
125
+ //}
122
126
  return fn;
123
127
  });
124
128
  _defineProperty(this, "stopNotify", (fn, element) => {
125
129
  _classPrivateFieldGet(_notifyFunctions, this).delete(fn);
126
- if (element !== undefined) {
127
- _classPrivateFieldGet(_notifyOwners, this).get(element)?.delete(fn);
128
- _classPrivateFieldGet(_dropOwnerIfDone, this).call(this, element);
129
- }
130
+ //if (element !== undefined) {
131
+ _classPrivateFieldGet(_notifyOwners, this).get(element)?.delete(fn);
132
+ _classPrivateFieldGet(_dropOwnerIfDone, this).call(this, element);
133
+ //}
130
134
  return fn;
131
135
  });
132
136
  _defineProperty(this, "stopNotifyAll", element => {
@@ -0,0 +1,2 @@
1
+ export declare function tAssert(assertion: unknown, message: string): void;
2
+ //# sourceMappingURL=assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":"AAGA,wBAAgB,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAE1D"}
package/dist/assert.js ADDED
@@ -0,0 +1,4 @@
1
+ /* eslint-disable no-console */
2
+ export function tAssert(assertion, message) {
3
+ console.assert(assertion, message);
4
+ }
@@ -7,7 +7,6 @@ export type LinkProps = {
7
7
  children: ContentNode;
8
8
  };
9
9
  export declare class Link extends TungstenSimpleComponent<LinkProps> {
10
- href: string;
11
10
  click: (event: AnchorMouseEvent) => void;
12
11
  content: () => import("../ContentNode.js").ContentNodeElement;
13
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAG3D,MAAM,MAAM,SAAS,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAA;CACxB,CAAA;AAED,qBAAa,IAAK,SAAQ,uBAAuB,CAAC,SAAS,CAAC;IACxD,IAAI,SAA+C;IACnD,KAAK,GAAI,OAAO,gBAAgB,UAgB/B;IACD,OAAO,uDAUN;CACJ"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAG3D,MAAM,MAAM,SAAS,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAA;CACxB,CAAA;AAED,qBAAa,IAAK,SAAQ,uBAAuB,CAAC,SAAS,CAAC;IACxD,KAAK,GAAI,OAAO,gBAAgB,UAiB/B;IACD,OAAO,uDAUN;CACJ"}
@@ -6,11 +6,9 @@ import { jsx as _jsx } from "tungsten/jsx-runtime";
6
6
  export class Link extends TungstenSimpleComponent {
7
7
  constructor(...args) {
8
8
  super(...args);
9
- _defineProperty(this, "href", this.__instance.routeKeyToUrl(this.props.to));
10
9
  _defineProperty(this, "click", (event /* Event */) => {
11
- // GUARD if control key is pressed, allow the link to be opened in a new tab
12
- // should this only apply on chrome?
13
- if (event.ctrlKey) return;
10
+ // GUARD a modified or non-primary click is the browser's: new tab, new window, download
11
+ if (event.button !== 0 || event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) return;
14
12
  // GUARD don't do anything if clientSideNavigation is disabled
15
13
  if (!this.__instance.config.clientSideNav) return;
16
14
  //if (this.__instance.config.staticSite) return // temporarily disable this on static sites
@@ -21,12 +19,12 @@ export class Link extends TungstenSimpleComponent {
21
19
  // ? '/'
22
20
  // : `${to}.html`
23
21
  //console.log('go to', to)
24
- this.__instance.goto(to);
22
+ void this.__instance.goto(to);
25
23
  });
26
24
  _defineProperty(this, "content", () => {
27
25
  return _jsx("a", {
28
26
  className: this.props.className,
29
- href: this.href,
27
+ href: this.__instance.routeKeyToUrl(this.props.to),
30
28
  onClick: this.click,
31
29
  children: this.props.children
32
30
  });
@@ -1,5 +1,8 @@
1
1
  import type { ConstructPackage, TungstenBaseComponent, TungstenBaseComponentType, TungstenComponentPropsBase } from '../Components.jsx';
2
2
  import type { TrueStore } from '../Store/makeStore.js';
3
+ import type { Endpoint, Path } from '../routing/RouteTypes.js';
4
+ import type { ErrorRouteType } from '../routing/ErrorRouteType.js';
5
+ import type { ReqRes } from '../ReqRes.js';
3
6
  export type ComponentProps<ComponentType extends TungstenBaseComponentType<any, any>> = InstanceType<ComponentType>['props'];
4
7
  export type TestStoreRegistration<Schema extends object> = {
5
8
  getStore: (stores: TrueStore<unknown>[]) => TrueStore<Schema>;
@@ -19,6 +22,14 @@ export type TestAppOptions<Props extends object> = {
19
22
  routeData?: unknown;
20
23
  globalData?: Record<string, unknown>;
21
24
  stores?: readonly TestStoreOverride<any>[];
25
+ routes?: TestRoutes | ((reqRes: ReqRes | null) => TestRoutes);
26
+ };
27
+ export type TestRoutes = {
28
+ [key in Path]: Endpoint<any, any>;
29
+ } & {
30
+ '404'?: Endpoint<any, any>;
31
+ 'default'?: Endpoint<any, any>;
32
+ 'error'?: ErrorRouteType;
22
33
  };
23
34
  export type TestApp<Component extends TungstenBaseComponent> = {
24
35
  readonly document: Document;
@@ -27,6 +38,7 @@ export type TestApp<Component extends TungstenBaseComponent> = {
27
38
  resolved(): Promise<void>;
28
39
  setProps(props: Component['props']): Promise<void>;
29
40
  unmount(): Promise<void>;
41
+ [Symbol.asyncDispose](): Promise<void>;
30
42
  };
31
43
  export type CreateTestAppArgs<Props extends object> = object extends Props ? [options?: TestAppOptions<Props>] : keyof Props extends never ? [options?: TestAppOptions<Props>] : [options: TestAppOptions<Props> & {
32
44
  props: Props;
@@ -1 +1 @@
1
- {"version":3,"file":"createTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/createTestApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/createTestApp.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,9 @@ class TestAppImplementation {
41
41
  _classPrivateFieldGet(_instance, this).queueUpdate(this.component);
42
42
  await this.resolved();
43
43
  });
44
+ _defineProperty(this, Symbol.asyncDispose, async () => {
45
+ await this.unmount();
46
+ });
44
47
  _defineProperty(this, "unmount", async () => {
45
48
  if (_classPrivateFieldGet(_unmounted, this)) return;
46
49
  _classPrivateFieldSet(_unmounted, this, true);
@@ -123,13 +126,16 @@ RootComponent, ...args) {
123
126
  const instanceConfig = {
124
127
  prod: false,
125
128
  useRootComponent: true,
126
- clientSideNav: false,
129
+ clientSideNav: true,
127
130
  siteBasePath: '/',
128
131
  staticSite: false,
129
132
  csr: false
130
133
  };
131
- const emptyRoutes = {};
132
- const instance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
134
+ // routing() falls back to the built-in 404 when neither '404' nor 'default' is given
135
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
136
+ const appRoutes = options?.routes ?? {};
137
+ const routes = typeof appRoutes === 'function' ? appRoutes(null) : appRoutes;
138
+ const instance = new Instance(location, instanceConfig, null, appRoutes, routes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
133
139
  try {
134
140
  for (const override of options?.stores ?? []) {
135
141
  const store = override.registration.getStore(instance.stores);
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/testing/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/testing/host.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TungstenBaseComponent, TungstenBaseSimpleStoreComponent, TungstenBaseStatefulStoreComponent, TungstenBaseStoreComponent, TungstenSimpleComponent } from "../Components.js";
2
- import { objectMap } from '../objectMap.js';
2
+ import { makeStore } from '../Store/makeStore.js';
3
3
  import { routing } from "../Servers/routing.js";
4
- import { missingStoreValue, storeValue, testingComponentPackage } from './testingComponentPackage.js';
4
+ import { missingStoreValue, testingComponentPackage } from './testingComponentPackage.js';
5
5
  const isPromise = value => value instanceof Promise || typeof value === 'object' && value !== null && 'then' in value;
6
6
  // The same list at runtime. Underscore-prefixed members are excluded by rule
7
7
  // (the framework's naming scheme), so only the plain-named ones are listed, and
@@ -52,7 +52,7 @@ export async function host(ComponentType, props,
52
52
  options) {
53
53
  const stored = options ?? {};
54
54
  const storeData = stored.storeData ?? stored.partialStoreData;
55
- const store = stored.store ?? stored.partialStore ?? (storeData === undefined ? undefined : objectMap(storeData, (_, value) => storeValue(value)));
55
+ const store = stored.store ?? stored.partialStore ?? (storeData === undefined ? undefined : makeStore(storeData, new Map()));
56
56
  const partial = stored.partialStore !== undefined || stored.partialStoreData !== undefined;
57
57
  const route = await hostedRouting(stored);
58
58
  const pending = [];
@@ -17,6 +17,7 @@ export type HydrateTestApp<Component extends TungstenBaseComponent> = {
17
17
  resolved(): Promise<void>;
18
18
  setProps(props: Component['props']): Promise<void>;
19
19
  unmount(): Promise<void>;
20
+ [Symbol.asyncDispose](): Promise<void>;
20
21
  };
21
22
  /**
22
23
  * The hydration round trip createTestApp() deliberately doesn't cover: render a component to
@@ -1 +1 @@
1
- {"version":3,"file":"hydrateTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/hydrateTestApp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAA;AAI1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAK1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAaxD,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG;IAM9E,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,GAAG,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC9D,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,MAAM,KAAK,SAAS,KAAK,GACrB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,CAAC,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAEpE,MAAM,MAAM,cAAc,CAAC,SAAS,SAAS,qBAAqB,IAAI;IAClE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAG7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAIrB,QAAQ,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAA;IAEvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B,CAAA;AAkGD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAChC,KAAK,SAAS,0BAA0B,EACxC,SAAS,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,SAAS,GAAG,SAAS,EAErB,aAAa,EAAE,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,EACzE,GAAG,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CA6HpC"}
1
+ {"version":3,"file":"hydrateTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/hydrateTestApp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAA;AAI1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAK1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAaxD,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG;IAM9E,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,GAAG,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC9D,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,MAAM,KAAK,SAAS,KAAK,GACrB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,CAAC,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAEpE,MAAM,MAAM,cAAc,CAAC,SAAS,SAAS,qBAAqB,IAAI;IAClE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAG7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAIrB,QAAQ,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAA;IAEvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAExB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzC,CAAA;AAsGD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAChC,KAAK,SAAS,0BAA0B,EACxC,SAAS,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,SAAS,GAAG,SAAS,EAErB,aAAa,EAAE,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,EACzE,GAAG,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAgIpC"}
@@ -58,6 +58,9 @@ class HydrateTestAppImplementation {
58
58
  _classPrivateFieldGet(_instance, this).queueUpdate(this.component);
59
59
  await this.resolved();
60
60
  });
61
+ _defineProperty(this, Symbol.asyncDispose, async () => {
62
+ await this.unmount();
63
+ });
61
64
  _defineProperty(this, "unmount", async () => {
62
65
  if (_classPrivateFieldGet(_unmounted, this)) return;
63
66
  _classPrivateFieldSet(_unmounted, this, true);
@@ -146,12 +149,15 @@ export async function hydrateTestApp(RootComponent, ...args) {
146
149
  const instanceConfig = {
147
150
  prod: false,
148
151
  useRootComponent: true,
149
- clientSideNav: false,
152
+ clientSideNav: true,
150
153
  siteBasePath: '/',
151
154
  staticSite: false,
152
155
  csr: options?.csr ?? false
153
156
  };
154
- const emptyRoutes = {}; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- not exercised by hydration tests
157
+ // routing() falls back to the built-in 404 when neither '404' nor 'default' is given
158
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
159
+ const appRoutes = options?.routes ?? {};
160
+ const routes = typeof appRoutes === 'function' ? appRoutes(null) : appRoutes;
155
161
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- rootToHtml.ts builds a root content node the same way
156
162
  const componentNode = {
157
163
  [$type]: RootComponent,
@@ -167,7 +173,7 @@ export async function hydrateTestApp(RootComponent, ...args) {
167
173
  stores,
168
174
  storeSubscriptions
169
175
  } = initStores(location, null, globalData, matchedRouteInfo);
170
- const ssrInstance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, {
176
+ const ssrInstance = new Instance(location, instanceConfig, null, appRoutes, routes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, {
171
177
  document,
172
178
  window: document.defaultView,
173
179
  scheduler: ssrScheduler,
@@ -211,7 +217,7 @@ export async function hydrateTestApp(RootComponent, ...args) {
211
217
  scheduler,
212
218
  navigation: false
213
219
  };
214
- const instance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
220
+ const instance = new Instance(location, instanceConfig, null, appRoutes, routes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
215
221
  try {
216
222
  for (const override of options?.stores ?? []) {
217
223
  const store = override.registration.getStore(instance.stores);
@@ -1,7 +1,7 @@
1
1
  export { loadEnv } from './loadEnv.js';
2
2
  export { testEnvVariableName } from './testEnvIsRequested.js';
3
3
  export { hydrateTestApp, type HydrateTestApp, type HydrateTestAppOptions } from './hydrateTestApp.js';
4
- export { createTestApp, testStore, type ComponentProps, type CreateTestAppArgs, type TestApp, type TestAppOptions, type TestStore, type TestStoreOverride, type TestStoreRegistration, } from './createTestApp.js';
4
+ export { createTestApp, testStore, type ComponentProps, type CreateTestAppArgs, type TestApp, type TestAppOptions, type TestStore, type TestStoreOverride, type TestStoreRegistration, type TestRoutes, } from './createTestApp.js';
5
5
  export { host, type HostOptions, type HostStoreOptions, type Hosted } from './host.js';
6
6
  export { testingComponentPackage } from './testingComponentPackage.js';
7
7
  export { contentHtmlElements } from './helpers/contentHtmlElements.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EACH,aAAa,EACb,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC7B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EACH,aAAa,EACb,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,GAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,9 +1,9 @@
1
- import type { ConstructPackage } from '../Components.jsx';
1
+ import type { ConstructPackage, TungstenBaseStoreComponent } from '../Components.jsx';
2
2
  import type { Instance } from '../Instance/Instance.js';
3
3
  import type { InstanceConfig } from '../Instance/InstanceConfig.js';
4
4
  import type { PartialInternalStoreSchema } from '../Store/InternalStoreSchema.js';
5
5
  import type { GlobalData } from '../routing/registerGlobalData.js';
6
- import { $trueStoreCell, type TrueStore } from '../Store/makeStore.js';
6
+ import { $trueStoreValue, type TrueStore } from '../Store/makeStore.js';
7
7
  export type TestingComponentPackageOptions = {
8
8
  store?: Partial<TrueStore<any>>;
9
9
  routes?: object;
@@ -17,21 +17,16 @@ export type TestingComponentPackageOptions = {
17
17
  goto?: Instance['goto'];
18
18
  redirect?: Instance['redirect'];
19
19
  };
20
- export declare const storeValue: <Value>(initialValue: Value) => {
21
- [$trueStoreCell]: true;
22
- get: () => Value;
23
- set: (newValue: Value) => void;
24
- subscribe: () => undefined;
25
- unsubscribe: () => undefined;
26
- sync: () => Value;
27
- };
28
20
  export declare const missingStoreValue: <Value>(key: string) => {
29
- [$trueStoreCell]: true;
21
+ [$trueStoreValue]: true;
30
22
  get: () => Value;
31
23
  set: () => undefined;
32
24
  subscribe: () => undefined;
33
25
  unsubscribe: () => undefined;
34
26
  sync: () => Value;
27
+ notify: <Fn extends ((value: Value) => void)>(fn: Fn, el: TungstenBaseStoreComponent<any, any, any>) => Fn;
28
+ stopNotify: <Fn extends ((value: Value) => void)>(fn: Fn, el: TungstenBaseStoreComponent<any, any, any>) => Fn;
29
+ stopNotifyAll: () => undefined;
35
30
  };
36
31
  export declare const testingComponentPackage: <Props extends object>(props: Props, options?: TestingComponentPackageOptions) => ConstructPackage<Props, undefined>;
37
32
  //# sourceMappingURL=testingComponentPackage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testingComponentPackage.d.ts","sourceRoot":"","sources":["../../src/testing/testingComponentPackage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAuB,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AACtG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAItE,MAAM,MAAM,8BAA8B,GAAG;IAIzC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAG/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,UAAU,CAAA;IAMvB,aAAa,CAAC,EAAE,0BAA0B,CAAA;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAGhC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IAIjC,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAGrC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAG/B,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;CAClC,CAAA;AASD,eAAO,MAAM,UAAU,GAAI,KAAK,EAAE,cAAc,KAAK;;;oBAK7B,KAAK;;;;CAK5B,CAAA;AAID,eAAO,MAAM,iBAAiB,GAAI,KAAK,EAAE,KAAK,MAAM;;eAEvC,KAAK;;;;gBAIJ,KAAK;CACjB,CAAA;AAuBF,eAAO,MAAM,uBAAuB,GAAI,KAAK,SAAS,MAAM,EACxD,OAAO,KAAK,EACZ,UAAS,8BAAmC,KAC7C,gBAAgB,CAAC,KAAK,EAAE,SAAS,CA6ClC,CAAA"}
1
+ {"version":3,"file":"testingComponentPackage.d.ts","sourceRoot":"","sources":["../../src/testing/testingComponentPackage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAuB,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AACtG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAGlE,OAAO,EACH,eAAe,EAAc,KAAK,SAAS,EAC9C,MAAM,uBAAuB,CAAA;AAI9B,MAAM,MAAM,8BAA8B,GAAG;IAIzC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAG/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,UAAU,CAAA;IAMvB,aAAa,CAAC,EAAE,0BAA0B,CAAA;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAGhC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IAIjC,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAGrC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAG/B,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;CAClC,CAAA;AAYD,eAAO,MAAM,iBAAiB,GAAI,KAAK,EAAE,KAAK,MAAM;;eAEvC,KAAK;;;;gBAIJ,KAAK;aACN,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,EAAE;iBAC3F,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,EAAE;;CAErE,CAAA;AAoC3C,eAAO,MAAM,uBAAuB,GAAI,KAAK,SAAS,MAAM,EACxD,OAAO,KAAK,EACZ,UAAS,8BAAmC,KAC7C,gBAAgB,CAAC,KAAK,EAAE,SAAS,CA6ClC,CAAA"}
@@ -1,43 +1,40 @@
1
- import { $trueStoreCell } from '../Store/makeStore.js';
1
+ import { $trueStoreValue, StoreValue } from '../Store/makeStore.js';
2
2
  import { routeKeyToUrl } from '../routing/routeUrl.js';
3
3
  const missing = key => {
4
4
  throw new Error(`testingComponentPackage: no ${key} supplied. Pass one in the options if the value is part` + ` of the test, or use createTestApp() for a component that needs a real app.`);
5
5
  };
6
- export const storeValue = initialValue => {
7
- let value = initialValue;
8
- return {
9
- [$trueStoreCell]: true,
10
- get: () => value,
11
- set: newValue => {
12
- value = newValue;
13
- },
14
- subscribe: () => undefined,
15
- unsubscribe: () => undefined,
16
- sync: () => value
17
- };
18
- };
19
6
  // A store key the test did not supply: subscribing and setting work, reading
20
7
  // names the key.
21
8
  export const missingStoreValue = key => ({
22
- [$trueStoreCell]: true,
9
+ [$trueStoreValue]: true,
23
10
  get: () => missing(key),
24
11
  set: () => undefined,
25
12
  subscribe: () => undefined,
26
13
  unsubscribe: () => undefined,
27
- sync: () => missing(key)
14
+ sync: () => missing(key),
15
+ notify: (fn, el) => fn,
16
+ stopNotify: (fn, el) => fn,
17
+ stopNotifyAll: () => undefined
28
18
  });
29
- const storeField = (key, value) => value === undefined ? missingStoreValue(key) : storeValue(value);
19
+ // A supplied key gets the real cell, so the mock never has to track StoreValue's methods
20
+ const storeField = (key, value, subscribedElements) => value === undefined ? missingStoreValue(key) : new StoreValue(key, value, subscribedElements);
30
21
  // Keyed off the schema, so a new internal store key fails to compile here
31
22
  // rather than turning up as `undefined.sync is not a function` in a test.
32
- const internalStore = supplied => ({
33
- location: storeField('internalStore.location', supplied?.location),
34
- matchedRouteInfo: storeField('internalStore.matchedRouteInfo', supplied?.matchedRouteInfo),
35
- popMessages: storeField('internalStore.popMessages', supplied?.popMessages)
36
- });
23
+ const internalStore = supplied => {
24
+ // the cells of one store share an element index, as a real store's do
25
+ const subscribedElements = new Map();
26
+ return {
27
+ location: storeField('internalStore.location', supplied?.location, subscribedElements),
28
+ navigationIndex: storeField('internalStore.navigationIndex', 0, subscribedElements),
29
+ navigating: storeField('internalStore.navigating', false, subscribedElements),
30
+ matchedRouteInfo: storeField('internalStore.matchedRouteInfo', supplied?.matchedRouteInfo, subscribedElements),
31
+ popMessages: storeField('internalStore.popMessages', supplied?.popMessages, subscribedElements)
32
+ };
33
+ };
37
34
  const defaultConfig = {
38
35
  prod: false,
39
36
  useRootComponent: true,
40
- clientSideNav: false,
37
+ clientSideNav: true,
41
38
  siteBasePath: '',
42
39
  staticSite: false,
43
40
  csr: false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tungsten",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "bin": {