tungsten 0.5.0 → 0.5.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 (200) hide show
  1. package/dist/.build-complete +1 -1
  2. package/dist/Components.d.ts +14 -6
  3. package/dist/Components.d.ts.map +1 -1
  4. package/dist/Components.js +67 -23
  5. package/dist/DomPointer.js +1 -1
  6. package/dist/DomRegion.js +2 -2
  7. package/dist/Framework.d.ts.map +1 -1
  8. package/dist/Framework.js +9 -3
  9. package/dist/FrameworkConfig.d.ts +0 -1
  10. package/dist/FrameworkConfig.d.ts.map +1 -1
  11. package/dist/FunctionComponentStandIn.d.ts +4 -0
  12. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  13. package/dist/FunctionComponentStandIn.js +11 -1
  14. package/dist/Json.type.d.ts.map +1 -1
  15. package/dist/Servers/DevServer.js +1 -1
  16. package/dist/Servers/MatchedRouteInfo.d.ts +1 -1
  17. package/dist/Servers/MatchedRouteInfo.d.ts.map +1 -1
  18. package/dist/Servers/ProdServer.js +2 -3
  19. package/dist/Servers/initStores.d.ts.map +1 -1
  20. package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
  21. package/dist/Servers/loadEnvsDev.js +8 -3
  22. package/dist/Store/makeStore.d.ts.map +1 -1
  23. package/dist/Store/makeStore.js +7 -3
  24. package/dist/api/ApiMethod.type.d.ts +2 -0
  25. package/dist/api/ApiMethod.type.d.ts.map +1 -0
  26. package/dist/api/ApiRoute.d.ts +2 -2
  27. package/dist/api/ApiRoute.d.ts.map +1 -1
  28. package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts +2 -2
  29. package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts.map +1 -1
  30. package/dist/babelPlugins/BabelExtractComponentStylesheet.js +1 -1
  31. package/dist/babelPlugins/BabelTransformBindDirect.d.ts.map +1 -1
  32. package/dist/babelPlugins/BabelTransformBindDirect.js +2 -4
  33. package/dist/babelPlugins/BabelTransformBindVar.js +2 -3
  34. package/dist/babelPlugins/BabelTransformDocInit.js +1 -1
  35. package/dist/babelPlugins/BabelTransformPackageImports.d.ts +1 -0
  36. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  37. package/dist/babelPlugins/BabelTransformPackageImports.js +51 -69
  38. package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
  39. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
  40. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
  41. package/dist/bin/commands/build.js +0 -1
  42. package/dist/build/babel.user.common.config.d.ts +2 -1
  43. package/dist/build/babel.user.common.config.d.ts.map +1 -1
  44. package/dist/build/babel.user.common.config.js +16 -10
  45. package/dist/build/compileJavascript.d.ts.map +1 -1
  46. package/dist/build/compileJavascript.js +3 -4
  47. package/dist/build/compileStyles.d.ts.map +1 -1
  48. package/dist/build/compileStyles.js +7 -3
  49. package/dist/build/createClientFiles.js +2 -3
  50. package/dist/build/createInstanceConfigFile.js +1 -1
  51. package/dist/build/devBundle.rollup.config.js +6 -6
  52. package/dist/build/frameworkDestLocation.d.ts.map +1 -1
  53. package/dist/build/frameworkDestLocation.js +5 -2
  54. package/dist/build/makeBabelRawConfig.js +1 -1
  55. package/dist/build/makeBabelUserProdConfig.js +2 -4
  56. package/dist/build/packageIdentifier.d.ts +6 -0
  57. package/dist/build/packageIdentifier.d.ts.map +1 -0
  58. package/dist/build/packageIdentifier.js +19 -0
  59. package/dist/build/rollup.user.prod.config.js +12 -12
  60. package/dist/build/sassImportParser.js +0 -3
  61. package/dist/clone.js +1 -3
  62. package/dist/compat/types.d.ts.map +1 -1
  63. package/dist/componentProxyHandlers.js +1 -1
  64. package/dist/components/NativeHtml.d.ts +1 -1
  65. package/dist/components/NativeHtml.d.ts.map +1 -1
  66. package/dist/components/Protected.d.ts +1 -1
  67. package/dist/components/Protected.d.ts.map +1 -1
  68. package/dist/components/Stylesheet.js +0 -1
  69. package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
  70. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  71. package/dist/components/library/RichTextEditor/RichTextEditor.js +3 -3
  72. package/dist/createRef.d.ts +1 -1
  73. package/dist/createRef.d.ts.map +1 -1
  74. package/dist/createRef.js +1 -1
  75. package/dist/env/droppedCoreEnvKeys.d.ts +5 -0
  76. package/dist/env/droppedCoreEnvKeys.d.ts.map +1 -0
  77. package/dist/env/droppedCoreEnvKeys.js +9 -0
  78. package/dist/foreach.d.ts.map +1 -1
  79. package/dist/frameworkConfigSchema.d.ts +11 -0
  80. package/dist/frameworkConfigSchema.d.ts.map +1 -1
  81. package/dist/frameworkConfigSchema.js +15 -4
  82. package/dist/getUserConfig.d.ts.map +1 -1
  83. package/dist/getUserConfig.js +7 -2
  84. package/dist/headChildren.d.ts +2 -0
  85. package/dist/headChildren.d.ts.map +1 -0
  86. package/dist/headChildren.js +16 -0
  87. package/dist/helpers/forwardingFetch.d.ts +3 -0
  88. package/dist/helpers/forwardingFetch.d.ts.map +1 -0
  89. package/dist/helpers/forwardingFetch.js +14 -0
  90. package/dist/helpers/index.d.ts +2 -0
  91. package/dist/helpers/index.d.ts.map +1 -1
  92. package/dist/helpers/index.js +3 -1
  93. package/dist/helpers/perRequest.d.ts +3 -0
  94. package/dist/helpers/perRequest.d.ts.map +1 -0
  95. package/dist/helpers/perRequest.js +17 -0
  96. package/dist/hmr/instanceRegistry.js +2 -2
  97. package/dist/hooks/useCallback.d.ts.map +1 -1
  98. package/dist/hydrate/hydrate.d.ts +1 -2
  99. package/dist/hydrate/hydrate.d.ts.map +1 -1
  100. package/dist/hydrate/hydrate.js +13 -20
  101. package/dist/hydrate/reconcileHydratedAttributes.js +1 -1
  102. package/dist/importDevModuleWithRetry.js +1 -1
  103. package/dist/index.d.ts +1 -0
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +4 -0
  106. package/dist/indexInner.d.ts +1 -2
  107. package/dist/indexInner.d.ts.map +1 -1
  108. package/dist/logAndReturn.d.ts.map +1 -1
  109. package/dist/markOptionSelected.js +1 -1
  110. package/dist/mutatingFunctions.js +0 -3
  111. package/dist/postcssPlugins/TransformCssNames.js +2 -2
  112. package/dist/render/addImportMap.d.ts.map +1 -1
  113. package/dist/render/addImportMap.js +1 -1
  114. package/dist/render/processHead.d.ts.map +1 -1
  115. package/dist/render/processHead.js +18 -12
  116. package/dist/requests/fetch/delete.d.ts +2 -1
  117. package/dist/requests/fetch/delete.d.ts.map +1 -1
  118. package/dist/requests/fetch/delete.js +7 -7
  119. package/dist/requests/fetch/get.d.ts.map +1 -1
  120. package/dist/requests/fetch/get.js +4 -6
  121. package/dist/requests/fetch/mergeFetchInit.d.ts +2 -0
  122. package/dist/requests/fetch/mergeFetchInit.d.ts.map +1 -0
  123. package/dist/requests/fetch/mergeFetchInit.js +17 -0
  124. package/dist/requests/fetch/patch.d.ts.map +1 -1
  125. package/dist/requests/fetch/patch.js +4 -6
  126. package/dist/requests/fetch/post.d.ts.map +1 -1
  127. package/dist/requests/fetch/post.js +4 -6
  128. package/dist/requests/fetch/put.d.ts.map +1 -1
  129. package/dist/requests/fetch/put.js +4 -6
  130. package/dist/routing/ParamsFromPath.d.ts.map +1 -1
  131. package/dist/routing/RouteType.d.ts +1 -8
  132. package/dist/routing/RouteType.d.ts.map +1 -1
  133. package/dist/routing/RouteTypes.d.ts +11 -0
  134. package/dist/routing/RouteTypes.d.ts.map +1 -1
  135. package/dist/routing/Routes.d.ts +7 -8
  136. package/dist/routing/Routes.d.ts.map +1 -1
  137. package/dist/routing/__fluentRouteBuilder.d.ts +80 -0
  138. package/dist/routing/__fluentRouteBuilder.d.ts.map +1 -0
  139. package/dist/routing/__fluentRouteBuilder.js +183 -0
  140. package/dist/routing/__fluentRoutes.d.ts +2 -0
  141. package/dist/routing/__fluentRoutes.d.ts.map +1 -0
  142. package/dist/routing/__fluentRoutes.js +59 -0
  143. package/dist/staticGen/staticGen.d.ts.map +1 -1
  144. package/dist/testing/host.d.ts.map +1 -1
  145. package/dist/testing/host.js +1 -2
  146. package/dist/testing/hydrateTestApp.js +5 -9
  147. package/dist/update/guardedUpdate.d.ts +9 -0
  148. package/dist/update/guardedUpdate.d.ts.map +1 -0
  149. package/dist/update/guardedUpdate.js +20 -0
  150. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  151. package/dist/update/integrateUpdateVdom.js +5 -3
  152. package/dist/zones/react.d.ts.map +1 -1
  153. package/dist/zones/react.js +2 -2
  154. package/package.json +7 -10
  155. package/types/env.d.ts +11 -11
  156. package/types/index.d.ts +7 -3
  157. package/types/jsx/html.d.ts +5 -5
  158. package/types/jsx/html.events.d.ts +202 -200
  159. package/types/jsx/html.global.d.ts +150 -150
  160. package/types/jsx/html.values.d.ts +29 -29
  161. package/types/jsx/jsx.d.ts +16 -5
  162. package/vendor/babel-core.js +13 -8
  163. package/vendor/babel-parser.js +5 -1
  164. package/vendor/babel-plugin-syntax-import-assertions.js +5 -1
  165. package/vendor/babel-preset-react.js +13 -8
  166. package/vendor/babel-preset-typescript.js +13 -8
  167. package/vendor/babel-types.js +5 -1
  168. package/vendor/chalk-extensions.js +6 -161
  169. package/vendor/chalk.js +4 -0
  170. package/vendor/chokidar.js +17 -13
  171. package/vendor/{chunk-B_NeooyV.js → chunk-BSJqV47f.js} +4 -0
  172. package/vendor/{chunk-1UuLTU0U.js → chunk-BYvDIO7e.js} +4 -0
  173. package/vendor/chunk-BfcfwwoF.js +15 -0
  174. package/vendor/{chunk-CPArXGxa.js → chunk-BiUcnLhT.js} +4 -0
  175. package/vendor/chunk-Bu8ZRE-c.js +179 -0
  176. package/vendor/chunk-CmnhIuzX.js +167 -0
  177. package/vendor/chunk-Cqrj-Zqr.js +8579 -0
  178. package/vendor/{chunk-1TN2rK3j.js → chunk-D2EnpcLg.js} +7 -3
  179. package/vendor/{chunk-C9FSKeSx.js → chunk-DHmjZ22y.js} +4 -0
  180. package/vendor/{chunk-C3YkUGz5.js → chunk-Hy-cCmu-.js} +4 -0
  181. package/vendor/{chunk-C12hSZn7.js → chunk-Lqa6rV_r.js} +4 -0
  182. package/vendor/{chunk-C3fcZDjl.js → chunk-OUnVY4Wm.js} +24 -191
  183. package/vendor/cjs-module-lexer.js +4 -0
  184. package/vendor/dotenv.js +10 -6
  185. package/vendor/express.js +30 -31
  186. package/vendor/import-meta-resolve.js +4 -0
  187. package/vendor/manifest.json +3 -2
  188. package/vendor/postcss.js +9 -8544
  189. package/vendor/precinct.js +326959 -0
  190. package/vendor/serialize-javascript.js +4 -0
  191. package/vendor/sxy-lib-arrays.js +4 -0
  192. package/vendor/sxy-lib-object-copy.js +5 -1
  193. package/vendor/sxy-lib-objects.js +4 -0
  194. package/vendor/sxy-lib-promises.js +4 -0
  195. package/vendor/sxy-package-investigator.js +7 -3
  196. package/vendor/valibot.js +4 -0
  197. package/dist/.tsbuildinfo +0 -1
  198. package/dist/api/Method.d.ts +0 -2
  199. package/dist/api/Method.d.ts.map +0 -1
  200. /package/dist/api/{Method.js → ApiMethod.type.js} +0 -0
@@ -4,6 +4,7 @@ import { $number, $string, makeRenderedContentNodeNonRendered, makeRenderedConte
4
4
  import { ContentNodeElementIsHtml, ContentNodeIsHtml, ContentNodeIsComponent, ContentNodeComponentIsClassComponent, ContentNodeIsFragment, ContentNodeIsElement } from '../ContentNode.js';
5
5
  import { IsHTMLElement } from '../DomNodes.js';
6
6
  import { DomPointer } from '../DomPointer.js';
7
+ import { appHeadChildrenStart } from '../headChildren.js';
7
8
  import { DomRegion } from '../DomRegion.js';
8
9
  //import { FunctionComponent } from '../FunctionComponent.js'
9
10
  import { FunctionElement } from '../FunctionComponentStandIn.js';
@@ -127,9 +128,7 @@ export async function hydrateRootComponent(instance, RootComponent, domPointer,
127
128
  // Real app hydration (hydrate(), above) always hydrates a root with no props of its own -
128
129
  // route data comes through the store instead - so the default reproduces that. A test
129
130
  // harness hydrating an arbitrary component (see testing/hydrateTestApp.ts) passes its own.
130
- props = {},
131
- // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- default only reached when Props is empty, same as the hardcoded {} this replaces
132
- routeParams, routeData) {
131
+ props = {}, routeParams, routeData) {
133
132
  debug('hydrateRootComponent');
134
133
  // matches createTungstenRootComponent's identical cast, the create-path equivalent of this function
135
134
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
@@ -453,31 +452,25 @@ parentElement, domPointer, instance, meta) {
453
452
  }
454
453
  }
455
454
  debug(node, node[$type], typeof node[$type], node[$type] === 'head');
455
+ // the head hydrates like any element below, its children matched from appHeadChildrenStart
456
+ // (past what the server added). Hydration used to skip the children, and the record with no
457
+ // children then made the first root update re-create them all, duplicating the title and metas
456
458
  if (node[$type] === 'head') {
457
- const node = domPointer.get();
458
- if (node.nodeType !== 1 || node.nodeName.toLocaleLowerCase() !== 'head') {
459
- throwError('hydrateNodeSingle', `expected to find a head node, instead found nodeType ${node.nodeType}, nodeName ${node.nodeName}`);
459
+ const headDomNode = domPointer.get();
460
+ if (headDomNode.nodeType !== 1 || headDomNode.nodeName.toLocaleLowerCase() !== 'head') {
461
+ throwError('hydrateNodeSingle', `expected to find a head node, instead found nodeType ${headDomNode.nodeType}, nodeName ${headDomNode.nodeName}`);
460
462
  }
461
- // collect persistent head nodes
463
+ // collect the head children a head re-created on the client keeps (createHtmlElement)
462
464
  const persistentHeadChildren = [];
463
- const domChildren = node.childNodes;
464
- for (const child of domChildren) {
465
+ for (const child of headDomNode.childNodes) {
465
466
  if (child.nodeType === 1) {
466
- const el = child;
467
+ const el = child; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- nodeType 1 is an element
467
468
  if (el.hasAttribute('data--t-persist')) {
468
- persistentHeadChildren.push(el.cloneNode(true));
469
+ persistentHeadChildren.push(el.cloneNode(true)); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- a clone of an element is an element
469
470
  }
470
471
  }
471
472
  }
472
- //const domChildrenPointer = new DomPointer(node as HTMLHeadElement)
473
473
  instance.persistentHeadChildren = persistentHeadChildren;
474
- debug('head node - skipping, because we add a lot to this during initial render, breaking matching');
475
- domPointer.increment();
476
- //return { [$type]: $head, domNode: node as HTMLElement } // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
477
- return {
478
- [$type]: 'head',
479
- domNode: node
480
- }; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
481
474
  }
482
475
  if (ContentNodeIsHtml(node)) {
483
476
  // HTML el
@@ -543,7 +536,7 @@ parentElement, domPointer, instance, meta) {
543
536
  });
544
537
  } else if (node[$props].__opaque !== true && validChildren(children)) {
545
538
  debug('node.props.children', children);
546
- const childDomPointer = new DomPointer(domNode);
539
+ const childDomPointer = new DomPointer(domNode, node[$type] === 'head' ? appHeadChildrenStart(domNode) : 0);
547
540
  renderedChildren = await hydrateNode(children, parentElement, childDomPointer, instance, meta);
548
541
  }
549
542
  meta.selectValue = outerSelectValue;
@@ -49,7 +49,7 @@ export function reconcileHydratedAttributes(node, domNode, onMismatch) {
49
49
  const {
50
50
  children: _children,
51
51
  ...restProps
52
- } = node[$props]; // eslint-disable-line @typescript-eslint/no-unused-vars
52
+ } = node[$props];
53
53
  const expected = processProps({
54
54
  ...restProps
55
55
  });
@@ -37,7 +37,7 @@ export async function importDevModuleWithRetry(url, attempts = 30, delayMs = 250
37
37
  for (let attempt = 0;; attempt++) {
38
38
  try {
39
39
  const attemptUrl = attempt === 0 ? url : `${url}${url.includes('?') ? '&' : '?'}retryAttempt=${attempt}`;
40
- return await import(attemptUrl); // eslint-disable-line @typescript-eslint/no-unsafe-return
40
+ return await import(attemptUrl);
41
41
  } catch (e) {
42
42
  if (attempt >= attempts - 1 || !isTransientDevModuleError(e)) throw e;
43
43
  await delay(delayMs);
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /// <reference path="../types/index.d.ts" preserve="true" />
1
2
  export * from './indexInner.js';
2
3
  export * as default from './indexInner.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA,cAAc,iBAAiB,CAAA;AAC/B,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA"}
package/dist/index.js CHANGED
@@ -1,2 +1,6 @@
1
+ // The globals (Css, DocInit, the env interfaces) travel with any import of the package: preserve
2
+ // keeps the directive in dist/index.d.ts, where the path still lands on types/ beside dist/.
3
+ // eslint-disable-next-line @typescript-eslint/triple-slash-reference
4
+ /// <reference path="../types/index.d.ts" preserve="true" />
1
5
  export * from './indexInner.js';
2
6
  export * as default from './indexInner.js'; // I can't remember why I did this
@@ -77,8 +77,7 @@ export type { PopMessage } from './PopMessage.type.js';
77
77
  export type { ReqRes, ReqResOrNull } from './ReqRes.js';
78
78
  export type { Params } from './routing/Params.js';
79
79
  export type { ParamsFromPath } from './routing/ParamsFromPath.js';
80
- export type { RouteType, Route } from './routing/RouteType.js';
81
- export { type RouteKey, type Path, type Path as RoutePath, StringIsPath, RouteKeyIsPath } from './routing/RouteTypes.js';
80
+ export { type Endpoint, type Route, type Route as RouteType, type RouteKey, type Path, type Path as RoutePath, StringIsPath, RouteKeyIsPath, } from './routing/RouteTypes.js';
82
81
  export type { Routes, CustomRoutes } from './routing/Routes.js';
83
82
  export type { ErrorRouteType } from './routing/ErrorRouteType.js';
84
83
  export { type TungstenErrorInfo, makeTungstenErrorInfo } from './routing/TungstenErrorInfo.js';
@@ -1 +1 @@
1
- {"version":3,"file":"indexInner.d.ts","sourceRoot":"","sources":["../src/indexInner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexInner.d.ts","sourceRoot":"","sources":["../src/indexInner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logAndReturn.d.ts","sourceRoot":"","sources":["../src/logAndReturn.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACzC,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"logAndReturn.d.ts","sourceRoot":"","sources":["../src/logAndReturn.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA"}
@@ -10,7 +10,7 @@ function collectOptionText(node) {
10
10
  }
11
11
  if (typeof node === 'string' || typeof node === 'number') return String(node);
12
12
  if (typeof node !== 'object') return '';
13
- const element = node; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- content and rendering nodes are both { [$type], [$props] }
13
+ const element = node;
14
14
  if (element[$type] === 'script' || typeof element[$props]?.__html === 'string') return '';
15
15
  return collectOptionText(element[$props]?.children);
16
16
  }
@@ -8,14 +8,11 @@ export const arrayMutatingFunctionInsertsFrom = {
8
8
  export const mapMutatingFunctions = ['set', 'delete', 'clear'];
9
9
  export const setMutatingFunctions = ['add', 'delete', 'clear'];
10
10
  export function KeyIsArrayMutatingFunction(key) {
11
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- weird TS issue, won't let us search in a const array
12
11
  return arrayMutatingFunctions.includes(key);
13
12
  }
14
13
  export function KeyIsMapMutatingFunction(key) {
15
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- weird TS issue, won't let us search in a const array
16
14
  return mapMutatingFunctions.includes(key);
17
15
  }
18
16
  export function KeyIsSetMutatingFunction(key) {
19
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- weird TS issue, won't let us search in a const array
20
17
  return setMutatingFunctions.includes(key);
21
18
  }
@@ -178,11 +178,11 @@ export const TransformCssNames = opts => {
178
178
  const pseudoClassRegex = /:([a-zA-Z0-9-_]+)(?:\((.*)\))?/;
179
179
  const results = pseudoClassRegex.exec(content);
180
180
  if (results === null) throwError('TransformCssNames -> walkRules', 'pseudo-class selector did not match pseudo-class regex');
181
- const label = results[1]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- typings are incorrect
181
+ const label = results[1];
182
182
  // if it is :i(xxx) or :ignore(xxx), pass through the internal part
183
183
  // otherwise pass all through unaffected
184
184
  if (label === 'i' || label === 'ignore') {
185
- const inner = results[2]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- typings are incorrect
185
+ const inner = results[2];
186
186
  if (inner !== undefined && inner !== '') {
187
187
  newSelectors.push(inner);
188
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"addImportMap.d.ts","sourceRoot":"","sources":["../../src/render/addImportMap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAQ9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,mCAAmC,EAAE,aAAa,EAAE,aAAa,EAChG,mBAAmB,EAAE,aAAa,QAgCrC"}
1
+ {"version":3,"file":"addImportMap.d.ts","sourceRoot":"","sources":["../../src/render/addImportMap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAQ9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,mCAAmC,EAAE,aAAa,EAAE,aAAa,EAChG,mBAAmB,EAAE,aAAa,QAiCrC"}
@@ -1,4 +1,3 @@
1
- /* eslint-disable indent */
2
1
  //import { packageName, frameworkDistFolder } from '../settings.js'
3
2
  import { isDev } from '../isDev.js';
4
3
  import { $props, $type } from '../contentNodeSymbols.js';
@@ -11,6 +10,7 @@ export function addImportMap(head, importAliases, clientImportAliases) {
11
10
  head[$props].children.unshift({
12
11
  [$type]: 'script',
13
12
  [$props]: {
13
+ 'data--t-internal': true,
14
14
  type: 'importmap',
15
15
  //noEscape: true,
16
16
  children: [`{
@@ -1 +1 @@
1
- {"version":3,"file":"processHead.d.ts","sourceRoot":"","sources":["../../src/render/processHead.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAK7C,OAAO,EAAE,oBAAoB,EAAqB,MAAM,qBAAqB,CAAA;AAQ7E,wBAAgB,WAAW,CACvB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,QAAQ,QAwJrB"}
1
+ {"version":3,"file":"processHead.d.ts","sourceRoot":"","sources":["../../src/render/processHead.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAK7C,OAAO,EAAE,oBAAoB,EAAqB,MAAM,qBAAqB,CAAA;AAY7E,wBAAgB,WAAW,CACvB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,QAAQ,QA0JrB"}
@@ -6,7 +6,11 @@ import { windowGlobalEnvStatement } from 'tungsten/env/windowGlobalEnvStatement.
6
6
  import { devErrorPageClearRetryScript } from '../Servers/devErrorPageAutoRetry.js';
7
7
  // process the tree returned by the root component
8
8
  // doing things like ensuring there is are html and head elements,
9
- // and adding necessary style and script tags
9
+ // and adding necessary style and script tags.
10
+ // Every node added here is unshifted in front of the app's own head children and carries
11
+ // data--t-internal (a bare attribute: a true value renders as one), which is how hydration and
12
+ // updates find where the app's children start (appHeadChildrenStart). data--t-persist marks the
13
+ // ones a head re-created on the client keeps.
10
14
  export function processHead(headNode, headData) {
11
15
  const {
12
16
  instance,
@@ -22,7 +26,7 @@ export function processHead(headNode, headData) {
22
26
  headNode[$props].children.unshift({
23
27
  [$type]: 'link',
24
28
  [$props]: {
25
- 'data--t-internal': undefined,
29
+ 'data--t-internal': true,
26
30
  'data--t-persist': true,
27
31
  rel: 'stylesheet',
28
32
  href: `${siteBasePath}/${componentCssFolder}/${componentCssFile}`
@@ -33,7 +37,7 @@ export function processHead(headNode, headData) {
33
37
  headNode[$props].children.unshift({
34
38
  [$type]: 'link',
35
39
  [$props]: {
36
- 'data--t-internal': undefined,
40
+ 'data--t-internal': true,
37
41
  'data--t-persist': true,
38
42
  rel: 'stylesheet',
39
43
  href: `${siteBasePath}${frameworkCss}`
@@ -44,7 +48,7 @@ export function processHead(headNode, headData) {
44
48
  const scriptNode = {
45
49
  [$type]: 'script',
46
50
  [$props]: {
47
- 'data--t-internal': undefined,
51
+ 'data--t-internal': true,
48
52
  src: dev ? `/${clientFolder}/client.js` : `${siteBasePath}/bundle/clientWithEnv.js`
49
53
  }
50
54
  };
@@ -55,7 +59,7 @@ export function processHead(headNode, headData) {
55
59
  headNode[$props].children.unshift({
56
60
  [$type]: 'script',
57
61
  [$props]: {
58
- 'data--t-internal': undefined,
62
+ 'data--t-internal': true,
59
63
  children: headData.docInitScript
60
64
  }
61
65
  });
@@ -66,7 +70,7 @@ export function processHead(headNode, headData) {
66
70
  const envScriptNode = {
67
71
  [$type]: 'script',
68
72
  [$props]: {
69
- 'data--t-internal': undefined,
73
+ 'data--t-internal': true,
70
74
  children: windowGlobalEnvStatement('tungstenPublicEnv', headData.tungstenPublicEnv)
71
75
  }
72
76
  };
@@ -78,7 +82,7 @@ export function processHead(headNode, headData) {
78
82
  const cjsHelpersScriptNode = {
79
83
  [$type]: 'script',
80
84
  [$props]: {
81
- 'data--t-internal': undefined,
85
+ 'data--t-internal': true,
82
86
  src: `${siteBasePath}/${clientFolder}/cjsHelpers.js`
83
87
  }
84
88
  };
@@ -91,7 +95,7 @@ export function processHead(headNode, headData) {
91
95
  const clearErrorRetryScriptNode = {
92
96
  [$type]: 'script',
93
97
  [$props]: {
94
- 'data--t-internal': undefined,
98
+ 'data--t-internal': true,
95
99
  children: devErrorPageClearRetryScript
96
100
  }
97
101
  };
@@ -103,7 +107,7 @@ export function processHead(headNode, headData) {
103
107
  const liveReloadScriptNode = {
104
108
  [$type]: 'script',
105
109
  [$props]: {
106
- 'data--t-internal': undefined,
110
+ 'data--t-internal': true,
107
111
  type: 'module',
108
112
  src: `${siteBasePath}/${clientFolder}/${hmr === true ? 'hmr.js' : 'liveReload.js'}`
109
113
  }
@@ -127,6 +131,7 @@ export function processHead(headNode, headData) {
127
131
  const varsScriptNode = {
128
132
  [$type]: 'script',
129
133
  [$props]: {
134
+ 'data--t-internal': true,
130
135
  children: varsScriptContent
131
136
  }
132
137
  };
@@ -134,14 +139,15 @@ export function processHead(headNode, headData) {
134
139
  const contentTypeMetaNode = {
135
140
  [$type]: 'meta',
136
141
  [$props]: {
137
- 'data--t-internal': undefined,
142
+ 'data--t-internal': true,
138
143
  'data--t-persist': true,
139
144
  'http-equiv': 'Content-Type',
140
145
  content: 'text/html; charset=utf-8'
141
146
  }
142
147
  };
143
148
  headNode[$props].children.unshift(contentTypeMetaNode);
144
- // we get in here and shift any elements marked with a "before" prop to the top,
145
- // to let them run before others
149
+ // Idea, not built (2023): a "before" prop on an app head child would hoist it above the
150
+ // framework's nodes, so its script runs first. If built, appHeadChildrenStart's leading-run
151
+ // skip no longer holds: the app's children would then sit on both sides of the marked ones.
146
152
  if (dev) addImportMap(headNode, importAliases, clientImportAliases);
147
153
  }
@@ -1,2 +1,3 @@
1
- export declare function httpDelete(url: string, data?: object, extras?: object): Promise<import("sxy-types").JsonValue>;
1
+ import type { FetchExtras } from './FetchExtras.js';
2
+ export declare function httpDelete(url: string, data?: object, extras?: FetchExtras): Promise<import("sxy-types").JsonValue>;
2
3
  //# sourceMappingURL=delete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/delete.ts"],"names":[],"mappings":"AAQA,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,0CAoB3E"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/delete.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAMnD,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAmBhF"}
@@ -1,20 +1,20 @@
1
1
  import { TungstenError } from '../../TungstenError.js';
2
2
  import { _fetchPromise } from './_fetchPromise.js';
3
+ import { mergeFetchInit } from './mergeFetchInit.js';
3
4
  const method = 'DELETE';
4
5
  export async function httpDelete(url, data, extras) {
5
6
  const _fetch = await _fetchPromise;
6
- const response = await _fetch(url, {
7
+ const response = await _fetch(url, mergeFetchInit({
7
8
  method,
8
9
  headers: {
9
10
  'Accept': 'application/json',
10
11
  'Content-Type': 'application/json'
11
12
  },
12
- // cors?
13
- // credentials?
14
- body: JSON.stringify(data),
15
- ...extras
16
- });
17
- if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
13
+ body: JSON.stringify(data)
14
+ }, extras));
15
+ if (response.status !== 200) {
16
+ throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
17
+ }
18
18
  const jsonData = await response.json();
19
19
  return jsonData;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/get.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAKnD,wBAAsB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CA0BlF"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/get.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAOnD,wBAAsB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAuBlF"}
@@ -1,6 +1,7 @@
1
1
  import { TungstenError } from '../../TungstenError.js';
2
2
  import { _fetchPromise } from './_fetchPromise.js';
3
3
  import { paramsObjectToParamsString } from './paramsObjectToParamsString.js';
4
+ import { mergeFetchInit } from './mergeFetchInit.js';
4
5
  const method = 'GET';
5
6
  export async function get(url, data, extras) {
6
7
  const _fetch = await _fetchPromise;
@@ -11,15 +12,12 @@ export async function get(url, data, extras) {
11
12
  url += '?' + paramsObjectToParamsString(data);
12
13
  }
13
14
  }
14
- const response = await _fetch(url, {
15
+ const response = await _fetch(url, mergeFetchInit({
15
16
  method,
16
17
  headers: {
17
18
  'Accept': 'application/json'
18
- },
19
- // cors?
20
- // credentials?
21
- ...extras
22
- });
19
+ }
20
+ }, extras));
23
21
  if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
24
22
  const jsonData = await response.json();
25
23
  return jsonData;
@@ -0,0 +1,2 @@
1
+ export declare function mergeFetchInit(base: RequestInit, extras?: RequestInit): RequestInit;
2
+ //# sourceMappingURL=mergeFetchInit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeFetchInit.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/mergeFetchInit.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CASnF"}
@@ -0,0 +1,17 @@
1
+ // extras over base, with the headers merged (extras' win by name) rather than replaced - a plain
2
+ // spread let a caller forwarding a cookie silently drop the JSON content-type
3
+ export function mergeFetchInit(base, extras) {
4
+ if (extras === undefined) return base;
5
+ const merged = {
6
+ ...base,
7
+ ...extras
8
+ };
9
+ if (base.headers !== undefined && extras.headers !== undefined) {
10
+ const headers = new Headers(base.headers);
11
+ new Headers(extras.headers).forEach((value, key) => {
12
+ headers.set(key, value);
13
+ });
14
+ merged.headers = headers;
15
+ }
16
+ return merged;
17
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/patch.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAInD,wBAAsB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAoB3E"}
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/patch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAMnD,wBAAsB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAiB3E"}
@@ -1,19 +1,17 @@
1
1
  import { TungstenError } from '../../TungstenError.js';
2
2
  import { _fetchPromise } from './_fetchPromise.js';
3
+ import { mergeFetchInit } from './mergeFetchInit.js';
3
4
  const method = 'PATCH';
4
5
  export async function patch(url, data, extras) {
5
6
  const _fetch = await _fetchPromise;
6
- const response = await _fetch(url, {
7
+ const response = await _fetch(url, mergeFetchInit({
7
8
  method,
8
9
  headers: {
9
10
  'Content-Type': 'application/json',
10
11
  'Accept': 'application/json'
11
12
  },
12
- // cors?
13
- // credentials?
14
- body: JSON.stringify(data),
15
- ...extras
16
- });
13
+ body: JSON.stringify(data)
14
+ }, extras));
17
15
  if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
18
16
  const jsonData = await response.json();
19
17
  return jsonData;
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/post.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAInD,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAoB1E"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/post.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAMnD,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAiB1E"}
@@ -1,19 +1,17 @@
1
1
  import { TungstenError } from '../../TungstenError.js';
2
2
  import { _fetchPromise } from './_fetchPromise.js';
3
+ import { mergeFetchInit } from './mergeFetchInit.js';
3
4
  const method = 'POST';
4
5
  export async function post(url, data, extras) {
5
6
  const _fetch = await _fetchPromise;
6
- const response = await _fetch(url, {
7
+ const response = await _fetch(url, mergeFetchInit({
7
8
  method,
8
9
  headers: {
9
10
  'Content-Type': 'application/json',
10
11
  'Accept': 'application/json'
11
12
  },
12
- // cors?
13
- // credentials?
14
- body: JSON.stringify(data),
15
- ...extras
16
- });
13
+ body: JSON.stringify(data)
14
+ }, extras));
17
15
  if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
18
16
  const jsonData = await response.json();
19
17
  return jsonData;
@@ -1 +1 @@
1
- {"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/put.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAInD,wBAAsB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAoBzE"}
1
+ {"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requests/fetch/put.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAKnD,wBAAsB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,0CAiBzE"}
@@ -1,19 +1,17 @@
1
1
  import { TungstenError } from '../../TungstenError.js';
2
2
  import { _fetchPromise } from './_fetchPromise.js';
3
+ import { mergeFetchInit } from './mergeFetchInit.js';
3
4
  const method = 'PUT';
4
5
  export async function put(url, data, extras) {
5
6
  const _fetch = await _fetchPromise;
6
- const response = await _fetch(url, {
7
+ const response = await _fetch(url, mergeFetchInit({
7
8
  method,
8
9
  headers: {
9
10
  'Content-Type': 'application/json',
10
11
  'Accept': 'application/json'
11
12
  },
12
- // cors?
13
- // credentials?
14
- body: JSON.stringify(data),
15
- ...extras
16
- });
13
+ body: JSON.stringify(data)
14
+ }, extras));
17
15
  if (response.status !== 200) throw new TungstenError(`${method} request to ${url} returned an invalid status: ${response.status}`);
18
16
  const jsonData = await response.json();
19
17
  return jsonData;
@@ -1 +1 @@
1
- {"version":3,"file":"ParamsFromPath.d.ts","sourceRoot":"","sources":["../../src/routing/ParamsFromPath.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,KAAK,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GACrF,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACpF,KAAK,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AACxC,KAAK,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;AAErC,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,MAAM,IAAI,CAAC,GACtE,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG;KAAG,CAAC,IAAI,GAAG,GAAG,MAAM;CAAE,CAAC,CAAC;AAE/C,MAAM,MAAM,cAAc,CACtB,CAAC,SAAS,MAAM,EAChB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,EAC5C,IAAI,SAAS,MAAM,GAAG,EAAE,EACxB,OAAO,SAAS,OAAO,GAAG,KAAK,IAC/B,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,GACrC,KAAK,SAAS,GAAG,GACb,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GACtD,OAAO,SAAS,IAAI,GAChB,KAAK,SAAS,KAAK,GACf,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,GACvD,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAC3D,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GACrD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ParamsFromPath.d.ts","sourceRoot":"","sources":["../../src/routing/ParamsFromPath.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,KAAK,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GACrF,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AACnF,KAAK,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;AACvC,KAAK,KAAK,GAAG,UAAU,GAAG,UAAU,CAAA;AAEpC,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,MAAM,IAAI,CAAC,GACtE,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG;KAAG,CAAC,IAAI,GAAG,GAAG,MAAM;CAAE,CAAC,CAAA;AAE9C,MAAM,MAAM,cAAc,CACtB,CAAC,SAAS,MAAM,EAChB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,EAC5C,IAAI,SAAS,MAAM,GAAG,EAAE,EACxB,OAAO,SAAS,OAAO,GAAG,KAAK,IAC/B,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,GACrC,KAAK,SAAS,GAAG,GACb,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GACtD,OAAO,SAAS,IAAI,GAChB,KAAK,SAAS,KAAK,GACf,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,GACvD,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAC3D,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GACrD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA"}
@@ -1,9 +1,2 @@
1
- import type { RouteDataFunction } from './RouteDataFunction.type.js';
2
- import type { ContentNode } from '../ContentNode.js';
3
- import type { RouteContentFunction } from './RouteContentFunction.js';
4
- export type RouteType<Params extends object, DataType> = {
5
- data?: RouteDataFunction<Params, DataType>;
6
- content: ContentNode | RouteContentFunction<Params, DataType>;
7
- };
8
- export type Route<Params extends object, DataType> = RouteType<Params, DataType>;
1
+ export {};
9
2
  //# sourceMappingURL=RouteType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteType.d.ts","sourceRoot":"","sources":["../../src/routing/RouteType.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAErE,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,IAAI;IACrD,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC1C,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAChE,CAAA;AAED,MAAM,MAAM,KAAK,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"RouteType.d.ts","sourceRoot":"","sources":["../../src/routing/RouteType.ts"],"names":[],"mappings":""}
@@ -1,4 +1,15 @@
1
1
  import type { Routes } from './Routes.js';
2
+ import type { RouteDataFunction } from './RouteDataFunction.type.js';
3
+ import type { ContentNode } from '../ContentNode.js';
4
+ import type { RouteContentFunction } from './RouteContentFunction.js';
5
+ export type Endpoint<Params extends object, DataType> = {
6
+ data?: RouteDataFunction<Params, DataType>;
7
+ content: ContentNode | RouteContentFunction<Params, DataType>;
8
+ };
9
+ export type Method = 'GET' | 'QUERY' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
10
+ export type Route = Endpoint<object, unknown> & {
11
+ [K in Method]?: Endpoint<object, unknown>;
12
+ };
2
13
  export type Path = `/${string}`;
3
14
  export type SpecialRoute = 'default' | '404' | 'error';
4
15
  export type RouteKey = Path | SpecialRoute;
@@ -1 +1 @@
1
- {"version":3,"file":"RouteTypes.d.ts","sourceRoot":"","sources":["../../src/routing/RouteTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAA;AAC/B,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,YAAY,CAAA;AAE1C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,QAAQ,CAExF;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,IAAI,CAE3D;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,IAAI,IAAI,CAE3D"}
1
+ {"version":3,"file":"RouteTypes.d.ts","sourceRoot":"","sources":["../../src/routing/RouteTypes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAErE,MAAM,MAAM,QAAQ,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,IAAI;IACpD,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC1C,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAChE,CAAA;AAGD,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE1E,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;KAC3C,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC5C,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAA;AAC/B,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,YAAY,CAAA;AAE1C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,QAAQ,CAExF;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,IAAI,CAE3D;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,IAAI,IAAI,CAE3D"}
@@ -1,21 +1,20 @@
1
- import type { Path } from './RouteTypes.js';
2
- import type { RouteType } from './RouteType.js';
1
+ import type { Path, Endpoint } from './RouteTypes.js';
3
2
  import type { ErrorRouteType } from './ErrorRouteType.js';
4
3
  export type MinimumRoutes = {
5
- default: RouteType<any, any>;
4
+ default: Endpoint<any, any>;
6
5
  } | {
7
- '404': RouteType<any, any>;
6
+ '404': Endpoint<any, any>;
8
7
  };
9
8
  export type Routes = {
10
- [key in Path]: RouteType<any, any>;
9
+ [key in Path]: Endpoint<any, any>;
11
10
  } & {
12
11
  'error'?: ErrorRouteType;
13
12
  } & ({
14
- 'default': RouteType<any, any>;
13
+ 'default': Endpoint<any, any>;
15
14
  } | {
16
- '404': RouteType<any, any>;
15
+ '404': Endpoint<any, any>;
17
16
  });
18
- export type CustomRoutes<Route extends RouteType<any, any>> = {
17
+ export type CustomRoutes<Route extends Endpoint<any, any>> = {
19
18
  [key in Path]: Route;
20
19
  } & {
21
20
  error: ErrorRouteType;
@@ -1 +1 @@
1
- {"version":3,"file":"Routes.d.ts","sourceRoot":"","sources":["../../src/routing/Routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,aAAa,GACnB;IAAE,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,GAChC;IAAE,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,CAAA;AAEpC,MAAM,MAAM,MAAM,GAAG;KAAG,GAAG,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;CAAE,GACzD;IAAE,OAAO,CAAC,EAAE,cAAc,CAAA;CAAE,GAC5B,CACE;IAAE,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,GAChC;IAAE,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,CACnC,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI;KAAG,GAAG,IAAI,IAAI,GAAG,KAAK;CAAE,GACpF;IAAE,KAAK,EAAE,cAAc,CAAA;CAAE,GACzB,CACE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GAClB;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CACrB,CAAA"}
1
+ {"version":3,"file":"Routes.d.ts","sourceRoot":"","sources":["../../src/routing/Routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,aAAa,GACnB;IAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,GAC/B;IAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,CAAA;AAEnC,MAAM,MAAM,MAAM,GAAG;KAAG,GAAG,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CAAE,GACxD;IAAE,OAAO,CAAC,EAAE,cAAc,CAAA;CAAE,GAC5B,CACE;IAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,GAC/B;IAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,CAClC,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI;KAAG,GAAG,IAAI,IAAI,GAAG,KAAK;CAAE,GACnF;IAAE,KAAK,EAAE,cAAc,CAAA;CAAE,GACzB,CACE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GAClB;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CACrB,CAAA"}