tungsten 0.6.3 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/dist/.build-complete +1 -1
  2. package/dist/Brands.d.ts +16 -0
  3. package/dist/Brands.d.ts.map +1 -0
  4. package/dist/Brands.js +22 -0
  5. package/dist/Components.d.ts +4 -1
  6. package/dist/Components.d.ts.map +1 -1
  7. package/dist/Components.js +24 -6
  8. package/dist/ContentNode.d.ts +3 -2
  9. package/dist/ContentNode.d.ts.map +1 -1
  10. package/dist/ContentNode.js +11 -0
  11. package/dist/Framework.d.ts.map +1 -1
  12. package/dist/Framework.js +23 -4
  13. package/dist/FrameworkConfig.d.ts +9 -1
  14. package/dist/FrameworkConfig.d.ts.map +1 -1
  15. package/dist/FrameworkConfig.types.test.d.ts +2 -0
  16. package/dist/FrameworkConfig.types.test.d.ts.map +1 -0
  17. package/dist/FrameworkConfig.types.test.js +6 -0
  18. package/dist/FunctionComponent.d.ts +1 -0
  19. package/dist/FunctionComponent.d.ts.map +1 -1
  20. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  21. package/dist/Instance/Instance.d.ts +21 -9
  22. package/dist/Instance/Instance.d.ts.map +1 -1
  23. package/dist/Instance/Instance.js +42 -38
  24. package/dist/Instance/InstanceConfig.d.ts +3 -1
  25. package/dist/Instance/InstanceConfig.d.ts.map +1 -1
  26. package/dist/RenderedContentNode.d.ts.map +1 -1
  27. package/dist/RenderingNode.d.ts.map +1 -1
  28. package/dist/Servers/DevServer.d.ts +4 -2
  29. package/dist/Servers/DevServer.d.ts.map +1 -1
  30. package/dist/Servers/DevServer.js +72 -21
  31. package/dist/Servers/ProdServer.d.ts +5 -2
  32. package/dist/Servers/ProdServer.d.ts.map +1 -1
  33. package/dist/Servers/ProdServer.js +95 -19
  34. package/dist/Servers/StaticSiteServer.d.ts +1 -1
  35. package/dist/Servers/StaticSiteServer.d.ts.map +1 -1
  36. package/dist/Servers/TungstenServer.d.ts +2 -1
  37. package/dist/Servers/TungstenServer.d.ts.map +1 -1
  38. package/dist/Servers/TungstenServer.js +7 -0
  39. package/dist/Servers/cacheVersioned.d.ts +3 -0
  40. package/dist/Servers/cacheVersioned.d.ts.map +1 -0
  41. package/dist/Servers/cacheVersioned.js +23 -0
  42. package/dist/Servers/devErrorPageAutoRetry.d.ts.map +1 -1
  43. package/dist/Servers/devErrorPageAutoRetry.js +1 -0
  44. package/dist/Servers/initStores.d.ts +4 -4
  45. package/dist/Servers/initStores.d.ts.map +1 -1
  46. package/dist/Servers/initStores.js +2 -2
  47. package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
  48. package/dist/Servers/loadEnvsDev.js +7 -6
  49. package/dist/Servers/resetRegistrations.d.ts +2 -0
  50. package/dist/Servers/resetRegistrations.d.ts.map +1 -0
  51. package/dist/Servers/resetRegistrations.js +13 -0
  52. package/dist/Servers/routing.d.ts +3 -2
  53. package/dist/Servers/routing.d.ts.map +1 -1
  54. package/dist/Servers/routing.js +12 -7
  55. package/dist/Servers/stubInstance.d.ts +8 -0
  56. package/dist/Servers/stubInstance.d.ts.map +1 -0
  57. package/dist/Servers/stubInstance.js +40 -0
  58. package/dist/Store/InternalStoreSchema.d.ts +1 -1
  59. package/dist/Store/Store.js +2 -1
  60. package/dist/Store/StoreSchemaClass.d.ts +6 -3
  61. package/dist/Store/StoreSchemaClass.d.ts.map +1 -1
  62. package/dist/Store/StoreSchemaClass.js +8 -1
  63. package/dist/Store/TypeSafeStore.js +2 -1
  64. package/dist/Store/createStores.d.ts +3 -3
  65. package/dist/Store/createStores.d.ts.map +1 -1
  66. package/dist/Store/createStores.js +7 -2
  67. package/dist/Store/getInternalStore.d.ts.map +1 -1
  68. package/dist/Store/registerStore.d.ts.map +1 -1
  69. package/dist/Store/registerStore.js +2 -2
  70. package/dist/Store/storeCreators.d.ts +2 -2
  71. package/dist/Store/storeCreators.d.ts.map +1 -1
  72. package/dist/TungstenApp.d.ts +3 -3
  73. package/dist/TungstenApp.d.ts.map +1 -1
  74. package/dist/_client/cjsHelpers.d.ts.map +1 -1
  75. package/dist/_client/cjsHelpers.js +5 -3
  76. package/dist/_client/client.d.ts +2 -0
  77. package/dist/_client/client.d.ts.map +1 -1
  78. package/dist/_client/client.js +10 -3
  79. package/dist/api/getApiRoutes.d.ts.map +1 -1
  80. package/dist/api/getExport.d.ts +1 -1
  81. package/dist/api/getExport.d.ts.map +1 -1
  82. package/dist/api/getExport.js +2 -1
  83. package/dist/api/getExportDev.d.ts +1 -1
  84. package/dist/api/getExportDev.d.ts.map +1 -1
  85. package/dist/appBuilder.d.ts +69 -0
  86. package/dist/appBuilder.d.ts.map +1 -0
  87. package/dist/appBuilder.js +98 -0
  88. package/dist/appBuilder.types.test.d.ts +110 -0
  89. package/dist/appBuilder.types.test.d.ts.map +1 -0
  90. package/dist/appBuilder.types.test.js +240 -0
  91. package/dist/babelPlugins/BabelTransformBindDirect.js +7 -7
  92. package/dist/babelPlugins/BabelTransformBindVar.js +7 -7
  93. package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +1 -1
  94. package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
  95. package/dist/babelPlugins/BabelTransformComponentStyles.js +5 -5
  96. package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -1
  97. package/dist/babelPlugins/BabelTransformCssImports.js +2 -2
  98. package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +1 -1
  99. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  100. package/dist/babelPlugins/BabelTransformPackageImports.js +11 -6
  101. package/dist/babelPlugins/BabelTransformRemoveDevBlocks.d.ts.map +1 -1
  102. package/dist/babelPlugins/BabelTransformRemoveServerBlocks.d.ts.map +1 -1
  103. package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
  104. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
  105. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.js +1 -1
  106. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
  107. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +2 -2
  108. package/dist/bin/commands/compile.d.ts.map +1 -1
  109. package/dist/bin/commands/compile.js +2 -1
  110. package/dist/build/CompilationInfo.d.ts +3 -0
  111. package/dist/build/CompilationInfo.d.ts.map +1 -1
  112. package/dist/build/assetVersions.d.ts +9 -0
  113. package/dist/build/assetVersions.d.ts.map +1 -0
  114. package/dist/build/assetVersions.js +39 -0
  115. package/dist/build/babel.user.common.config.d.ts.map +1 -1
  116. package/dist/build/bundle.d.ts.map +1 -1
  117. package/dist/build/bundle.js +2 -1
  118. package/dist/build/bundleBabelOptions.d.ts.map +1 -1
  119. package/dist/build/clientRoutesFile.d.ts +2 -0
  120. package/dist/build/clientRoutesFile.d.ts.map +1 -0
  121. package/dist/build/clientRoutesFile.js +13 -0
  122. package/dist/build/compileJavascript.d.ts.map +1 -1
  123. package/dist/build/compileJavascript.js +4 -3
  124. package/dist/build/compileStyles.d.ts +2 -1
  125. package/dist/build/compileStyles.d.ts.map +1 -1
  126. package/dist/build/compileStyles.js +38 -83
  127. package/dist/build/compileUserApp.d.ts.map +1 -1
  128. package/dist/build/componentStylesCache.d.ts.map +1 -1
  129. package/dist/build/componentStylesCache.js +3 -2
  130. package/dist/build/copyAssets.d.ts.map +1 -1
  131. package/dist/build/copyAssets.js +2 -1
  132. package/dist/build/copyPackageModulesToPackagesFolder.d.ts.map +1 -1
  133. package/dist/build/copyPackageModulesToPackagesFolder.js +1 -1
  134. package/dist/build/copyPublicFiles.d.ts.map +1 -1
  135. package/dist/build/copyPublicFiles.js +2 -1
  136. package/dist/build/createClientFiles.d.ts.map +1 -1
  137. package/dist/build/createClientFiles.js +9 -5
  138. package/dist/build/createInstanceConfigFile.d.ts +1 -1
  139. package/dist/build/createInstanceConfigFile.d.ts.map +1 -1
  140. package/dist/build/createInstanceConfigFile.js +9 -3
  141. package/dist/build/frameworkDestLocation.d.ts.map +1 -1
  142. package/dist/build/frameworkDestLocation.js +5 -6
  143. package/dist/build/frameworkStylesheets.d.ts.map +1 -1
  144. package/dist/build/frameworkStylesheets.js +1 -1
  145. package/dist/build/makeBabelRawConfig.d.ts.map +1 -1
  146. package/dist/build/makeBabelUserDevConfig.d.ts +2 -2
  147. package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
  148. package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
  149. package/dist/build/rollup.user.prod.config.d.ts.map +1 -1
  150. package/dist/build/rollup.user.prod.config.js +5 -3
  151. package/dist/build/rollupProdConstants.d.ts +5 -0
  152. package/dist/build/rollupProdConstants.d.ts.map +1 -0
  153. package/dist/build/rollupProdConstants.js +21 -0
  154. package/dist/cacheControl.d.ts +13 -0
  155. package/dist/cacheControl.d.ts.map +1 -0
  156. package/dist/cacheControl.js +22 -0
  157. package/dist/compat/types.d.ts +1 -1
  158. package/dist/compat/types.d.ts.map +1 -1
  159. package/dist/componentHelpers.d.ts +19 -0
  160. package/dist/componentHelpers.d.ts.map +1 -0
  161. package/dist/componentHelpers.js +31 -0
  162. package/dist/componentProxyHandlers.d.ts.map +1 -1
  163. package/dist/components/Fragment.d.ts +8 -0
  164. package/dist/components/Fragment.d.ts.map +1 -0
  165. package/dist/components/Fragment.js +10 -0
  166. package/dist/components/Link.d.ts +4 -3
  167. package/dist/components/Link.d.ts.map +1 -1
  168. package/dist/components/Link.js +1 -0
  169. package/dist/components/NoEscape.d.ts +8 -0
  170. package/dist/components/NoEscape.d.ts.map +1 -0
  171. package/dist/components/NoEscape.js +6 -0
  172. package/dist/components/RouteRedirectComponent.d.ts.map +1 -1
  173. package/dist/components/RouteRedirectComponent.js +1 -1
  174. package/dist/components/WebRedirectComponent.d.ts.map +1 -1
  175. package/dist/components/WebRedirectComponent.js +1 -1
  176. package/dist/components/bindable/BindVariable.d.ts +1 -0
  177. package/dist/components/bindable/BindVariable.d.ts.map +1 -1
  178. package/dist/components/bindable/BindableCheckbox.d.ts +7 -7
  179. package/dist/components/bindable/BindableCheckbox.d.ts.map +1 -1
  180. package/dist/components/bindable/BindableInput.d.ts +7 -7
  181. package/dist/components/bindable/BindableInput.d.ts.map +1 -1
  182. package/dist/components/bindable/BindableInputNonString.d.ts +2 -2
  183. package/dist/components/bindable/BindableInputNonString.d.ts.map +1 -1
  184. package/dist/components/bindable/BindableInputString.d.ts +2 -2
  185. package/dist/components/bindable/BindableInputString.d.ts.map +1 -1
  186. package/dist/components/bindable/BindableInputTyped.d.ts +3 -3
  187. package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
  188. package/dist/components/bindable/BindableInputTypedLegacy.d.ts +3 -3
  189. package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +1 -1
  190. package/dist/components/bindable/BindableRadio.js +2 -2
  191. package/dist/components/bindable/BindableSelect.d.ts +13 -10
  192. package/dist/components/bindable/BindableSelect.d.ts.map +1 -1
  193. package/dist/components/bindable/BindableSelectNaive.js +3 -3
  194. package/dist/components/bindable/BindableTextarea.d.ts +7 -7
  195. package/dist/components/bindable/BindableTextarea.d.ts.map +1 -1
  196. package/dist/components/bindable/bindableCandidates.comparison.d.ts +136 -0
  197. package/dist/components/bindable/bindableCandidates.comparison.d.ts.map +1 -0
  198. package/dist/components/bindable/bindableCandidates.comparison.js +268 -0
  199. package/dist/components/bindable/bindableProps.types.test.d.ts +50 -0
  200. package/dist/components/bindable/bindableProps.types.test.d.ts.map +1 -0
  201. package/dist/components/bindable/bindableProps.types.test.js +252 -0
  202. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  203. package/dist/components/library/RichTextEditor/contentTree.d.ts.map +1 -1
  204. package/dist/components/makeTypedLink.d.ts +9 -0
  205. package/dist/components/makeTypedLink.d.ts.map +1 -0
  206. package/dist/components/makeTypedLink.js +15 -0
  207. package/dist/context/registerContext.d.ts +22 -0
  208. package/dist/context/registerContext.d.ts.map +1 -0
  209. package/dist/context/registerContext.js +18 -0
  210. package/dist/env/getEnvSchemas.d.ts.map +1 -1
  211. package/dist/env/getEnvSchemas.js +2 -1
  212. package/dist/fileVersions.d.ts +9 -0
  213. package/dist/fileVersions.d.ts.map +1 -0
  214. package/dist/fileVersions.js +28 -0
  215. package/dist/findUserConfig.d.ts +1 -1
  216. package/dist/findUserConfig.d.ts.map +1 -1
  217. package/dist/findUserConfig.js +2 -1
  218. package/dist/frameworkConfigSchema.d.ts +16 -2
  219. package/dist/frameworkConfigSchema.d.ts.map +1 -1
  220. package/dist/frameworkConfigSchema.js +15 -3
  221. package/dist/getComponent.d.ts.map +1 -1
  222. package/dist/getComponent.js +4 -3
  223. package/dist/getRoutes.d.ts.map +1 -1
  224. package/dist/getRoutes.js +9 -8
  225. package/dist/getUserConfig.d.ts.map +1 -1
  226. package/dist/hmr/applyHmrModule.d.ts.map +1 -1
  227. package/dist/hmr/componentIdentity.js +1 -1
  228. package/dist/hooks/getCurrentComponent.d.ts +1 -1
  229. package/dist/hooks/getCurrentComponent.d.ts.map +1 -1
  230. package/dist/hydrate/hydrate.d.ts +5 -1
  231. package/dist/hydrate/hydrate.d.ts.map +1 -1
  232. package/dist/hydrate/hydrate.js +86 -52
  233. package/dist/hydrate/hydrateGlobalData.d.ts +4 -3
  234. package/dist/hydrate/hydrateGlobalData.d.ts.map +1 -1
  235. package/dist/hydrate/reconcileHydratedAttributes.d.ts +2 -1
  236. package/dist/hydrate/reconcileHydratedAttributes.d.ts.map +1 -1
  237. package/dist/hydrate/reconcileHydratedAttributes.js +4 -3
  238. package/dist/hydrate/renderHydrationMismatchBanner.d.ts.map +1 -1
  239. package/dist/hydrate/renderHydrationMismatchBanner.js +2 -1
  240. package/dist/hydrate/stubRouting.d.ts +8 -0
  241. package/dist/hydrate/stubRouting.d.ts.map +1 -0
  242. package/dist/hydrate/stubRouting.js +25 -0
  243. package/dist/importDevModuleWithRetry.d.ts +2 -1
  244. package/dist/importDevModuleWithRetry.d.ts.map +1 -1
  245. package/dist/importDevModuleWithRetry.js +2 -1
  246. package/dist/importModule.d.ts +3 -0
  247. package/dist/importModule.d.ts.map +1 -0
  248. package/dist/importModule.js +4 -0
  249. package/dist/index.js +2 -1
  250. package/dist/indexInner.d.ts +30 -7
  251. package/dist/indexInner.d.ts.map +1 -1
  252. package/dist/indexInner.js +37 -2
  253. package/dist/json.d.ts +12 -0
  254. package/dist/json.d.ts.map +1 -0
  255. package/dist/json.js +8 -0
  256. package/dist/jsxHelpers.d.ts +3 -0
  257. package/dist/jsxHelpers.d.ts.map +1 -0
  258. package/dist/jsxHelpers.js +6 -0
  259. package/dist/jsxRuntime.d.ts +1 -0
  260. package/dist/jsxRuntime.d.ts.map +1 -1
  261. package/dist/jsxRuntime.js +3 -1
  262. package/dist/jsxRuntimeSignals.d.ts.map +1 -1
  263. package/dist/jsxRuntimeSignals.js +1 -0
  264. package/dist/makeFinalConfig.d.ts.map +1 -1
  265. package/dist/makeFinalConfig.js +2 -0
  266. package/dist/makeInstanceConfigFromFrameworkConfig.d.ts.map +1 -1
  267. package/dist/makeInstanceConfigFromFrameworkConfig.js +2 -0
  268. package/dist/mergeConfigs.d.ts.map +1 -1
  269. package/dist/mergeConfigs.js +2 -6
  270. package/dist/nbsp.d.ts +1 -2
  271. package/dist/nbsp.d.ts.map +1 -1
  272. package/dist/nbsp.js +3 -7
  273. package/dist/objectMap.d.ts +1 -1
  274. package/dist/objectMap.d.ts.map +1 -1
  275. package/dist/pipeline/PipelineRequestHandler.d.ts +25 -0
  276. package/dist/pipeline/PipelineRequestHandler.d.ts.map +1 -0
  277. package/dist/pipeline/PipelineRequestHandler.js +104 -0
  278. package/dist/pipeline/contextStore.d.ts +12 -0
  279. package/dist/pipeline/contextStore.d.ts.map +1 -0
  280. package/dist/pipeline/contextStore.js +13 -0
  281. package/dist/pipeline/hydratePipeline.d.ts +4 -0
  282. package/dist/pipeline/hydratePipeline.d.ts.map +1 -0
  283. package/dist/pipeline/hydratePipeline.js +83 -0
  284. package/dist/pipeline/importRoutesModule.d.ts +6 -0
  285. package/dist/pipeline/importRoutesModule.d.ts.map +1 -0
  286. package/dist/pipeline/importRoutesModule.js +33 -0
  287. package/dist/pipeline/networkedTransport.d.ts +11 -0
  288. package/dist/pipeline/networkedTransport.d.ts.map +1 -0
  289. package/dist/pipeline/networkedTransport.js +54 -0
  290. package/dist/pipeline/pipeline.d.ts +107 -0
  291. package/dist/pipeline/pipeline.d.ts.map +1 -0
  292. package/dist/pipeline/pipeline.js +113 -0
  293. package/dist/pipeline/pipeline.types.test.d.ts +760 -0
  294. package/dist/pipeline/pipeline.types.test.d.ts.map +1 -0
  295. package/dist/pipeline/pipeline.types.test.js +344 -0
  296. package/dist/pipeline/pipelineDefinition.d.ts +78 -0
  297. package/dist/pipeline/pipelineDefinition.d.ts.map +1 -0
  298. package/dist/pipeline/pipelineDefinition.js +11 -0
  299. package/dist/pipeline/pipelineSplit.types.test.d.ts +2445 -0
  300. package/dist/pipeline/pipelineSplit.types.test.d.ts.map +1 -0
  301. package/dist/pipeline/pipelineSplit.types.test.js +440 -0
  302. package/dist/pipeline/runPipeline.d.ts +29 -0
  303. package/dist/pipeline/runPipeline.d.ts.map +1 -0
  304. package/dist/pipeline/runPipeline.js +71 -0
  305. package/dist/pipeline/runSplitPipeline.d.ts +10 -0
  306. package/dist/pipeline/runSplitPipeline.d.ts.map +1 -0
  307. package/dist/pipeline/runSplitPipeline.js +52 -0
  308. package/dist/pipeline/splitPipeline.d.ts +62 -0
  309. package/dist/pipeline/splitPipeline.d.ts.map +1 -0
  310. package/dist/pipeline/splitPipeline.js +76 -0
  311. package/dist/pop.js +1 -1
  312. package/dist/rawHtml/filterContentNode.d.ts.map +1 -1
  313. package/dist/render/HeadData.d.ts +3 -1
  314. package/dist/render/HeadData.d.ts.map +1 -1
  315. package/dist/render/classComponentNodeToRenderingTree.d.ts.map +1 -1
  316. package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -1
  317. package/dist/render/contentToHtml.d.ts +2 -2
  318. package/dist/render/contentToHtml.d.ts.map +1 -1
  319. package/dist/render/contentToHtml.js +2 -1
  320. package/dist/render/contentToHtmlDev.d.ts +1 -1
  321. package/dist/render/contentToHtmlDev.d.ts.map +1 -1
  322. package/dist/render/contentTreeToRenderingTree.d.ts.map +1 -1
  323. package/dist/render/contentTreeToRenderingTree.js +6 -2
  324. package/dist/render/functionComponentNodeToRenderingTree.d.ts.map +1 -1
  325. package/dist/render/functionComponentNodeToRenderingTree.js +2 -2
  326. package/dist/render/instantiateComponent.d.ts.map +1 -1
  327. package/dist/render/processHead.d.ts.map +1 -1
  328. package/dist/render/processHead.js +12 -18
  329. package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
  330. package/dist/render/renderingTreeToHtml.js +6 -3
  331. package/dist/render/rootToHtml.d.ts +2 -2
  332. package/dist/render/rootToHtml.d.ts.map +1 -1
  333. package/dist/requests/fetch/delete.d.ts.map +1 -1
  334. package/dist/requests/fetch/delete.js +5 -2
  335. package/dist/requests/fetch/get.js +1 -1
  336. package/dist/requests/fetch/patch.d.ts.map +1 -1
  337. package/dist/requests/fetch/patch.js +5 -2
  338. package/dist/requests/fetch/post.d.ts.map +1 -1
  339. package/dist/requests/fetch/post.js +5 -2
  340. package/dist/requests/fetch/put.d.ts.map +1 -1
  341. package/dist/requests/fetch/put.js +5 -2
  342. package/dist/routesLocationParts.d.ts +6 -0
  343. package/dist/routesLocationParts.d.ts.map +1 -0
  344. package/dist/routesLocationParts.js +10 -0
  345. package/dist/routing/AppRoutes.d.ts +5 -3
  346. package/dist/routing/AppRoutes.d.ts.map +1 -1
  347. package/dist/routing/MatchedRouteInfo.d.ts +13 -0
  348. package/dist/routing/MatchedRouteInfo.d.ts.map +1 -0
  349. package/dist/routing/MatchedRouteInfo.js +1 -0
  350. package/dist/routing/RouteContentFunction.d.ts +1 -2
  351. package/dist/routing/RouteContentFunction.d.ts.map +1 -1
  352. package/dist/routing/RouteDataFunction.type.d.ts +4 -2
  353. package/dist/routing/RouteDataFunction.type.d.ts.map +1 -1
  354. package/dist/routing/RoutePaths.d.ts +12 -0
  355. package/dist/routing/RoutePaths.d.ts.map +1 -0
  356. package/dist/routing/RouteTypes.d.ts +6 -4
  357. package/dist/routing/RouteTypes.d.ts.map +1 -1
  358. package/dist/routing/Routes.d.ts +20 -11
  359. package/dist/routing/Routes.d.ts.map +1 -1
  360. package/dist/routing/RoutesFunction.d.ts +11 -2
  361. package/dist/routing/RoutesFunction.d.ts.map +1 -1
  362. package/dist/routing/Serializable.d.ts +5 -0
  363. package/dist/routing/Serializable.d.ts.map +1 -0
  364. package/dist/routing/Serializable.js +1 -0
  365. package/dist/routing/builder.d.ts +100 -0
  366. package/dist/routing/builder.d.ts.map +1 -0
  367. package/dist/routing/builder.js +219 -0
  368. package/dist/routing/builder.trial.d.ts +2 -0
  369. package/dist/routing/builder.trial.d.ts.map +1 -0
  370. package/dist/routing/builder.trial.js +85 -0
  371. package/dist/routing/defineRoutes.d.ts +8 -0
  372. package/dist/routing/defineRoutes.d.ts.map +1 -0
  373. package/dist/routing/defineRoutes.js +3 -0
  374. package/dist/routing/pyramidRouting.d.ts +2 -0
  375. package/dist/routing/pyramidRouting.d.ts.map +1 -0
  376. package/dist/routing/pyramidRouting.js +13 -0
  377. package/dist/routing/redirectOf.d.ts +11 -0
  378. package/dist/routing/redirectOf.d.ts.map +1 -0
  379. package/dist/routing/redirectOf.js +32 -0
  380. package/dist/routing/registerGlobalData.d.ts +11 -3
  381. package/dist/routing/registerGlobalData.d.ts.map +1 -1
  382. package/dist/routing/registerGlobalData.js +6 -0
  383. package/dist/routing/registerParts.types.test.d.ts +2 -0
  384. package/dist/routing/registerParts.types.test.d.ts.map +1 -0
  385. package/dist/routing/registerParts.types.test.js +139 -0
  386. package/dist/routing/registerRoutes.d.ts +10 -0
  387. package/dist/routing/registerRoutes.d.ts.map +1 -0
  388. package/dist/routing/registerRoutes.js +9 -0
  389. package/dist/routing/registerRouting.d.ts +36 -0
  390. package/dist/routing/registerRouting.d.ts.map +1 -0
  391. package/dist/routing/registerRouting.js +34 -0
  392. package/dist/routing/registerRouting.types.test.d.ts +80 -0
  393. package/dist/routing/registerRouting.types.test.d.ts.map +1 -0
  394. package/dist/routing/registerRouting.types.test.js +120 -0
  395. package/dist/routing/registrationTypes.d.ts +11 -0
  396. package/dist/routing/registrationTypes.d.ts.map +1 -0
  397. package/dist/routing/registrationTypes.js +1 -0
  398. package/dist/routing/resolveAppRoutes.d.ts +5 -0
  399. package/dist/routing/resolveAppRoutes.d.ts.map +1 -0
  400. package/dist/routing/resolveAppRoutes.js +25 -0
  401. package/dist/routing/routesArray.d.ts +23 -0
  402. package/dist/routing/routesArray.d.ts.map +1 -0
  403. package/dist/routing/routesArray.js +20 -0
  404. package/dist/routing/routesArray.types.test.d.ts +2 -0
  405. package/dist/routing/routesArray.types.test.d.ts.map +1 -0
  406. package/dist/routing/routesArray.types.test.js +132 -0
  407. package/dist/routing/routingBuilder.d.ts +34 -0
  408. package/dist/routing/routingBuilder.d.ts.map +1 -0
  409. package/dist/routing/routingBuilder.js +32 -0
  410. package/dist/routing/routingBuilder.types.test.d.ts +2 -0
  411. package/dist/routing/routingBuilder.types.test.d.ts.map +1 -0
  412. package/dist/routing/routingBuilder.types.test.js +171 -0
  413. package/dist/routing/routingRegistry.d.ts +19 -0
  414. package/dist/routing/routingRegistry.d.ts.map +1 -0
  415. package/dist/routing/routingRegistry.js +29 -0
  416. package/dist/staticGen/getAppRoutes.d.ts +2 -2
  417. package/dist/staticGen/getAppRoutes.d.ts.map +1 -1
  418. package/dist/staticGen/getAppRoutes.js +9 -6
  419. package/dist/staticGen/staticGen.d.ts.map +1 -1
  420. package/dist/staticGen/staticGen.js +8 -2
  421. package/dist/style/styleContentSxy.d.ts.map +1 -1
  422. package/dist/sync/index.d.ts.map +1 -1
  423. package/dist/sync/index.js +2 -0
  424. package/dist/syncServer/index.cjs +1 -2
  425. package/dist/syncServer/preload.js +2 -0
  426. package/dist/testing/contentToString.d.ts +13 -0
  427. package/dist/testing/contentToString.d.ts.map +1 -0
  428. package/dist/testing/contentToString.js +105 -0
  429. package/dist/testing/createTestApp.d.ts +25 -1
  430. package/dist/testing/createTestApp.d.ts.map +1 -1
  431. package/dist/testing/createTestApp.js +12 -3
  432. package/dist/testing/display.d.ts +2 -0
  433. package/dist/testing/display.d.ts.map +1 -0
  434. package/dist/testing/display.js +37 -0
  435. package/dist/testing/ensure.d.ts +119 -0
  436. package/dist/testing/ensure.d.ts.map +1 -0
  437. package/dist/testing/ensure.js +664 -0
  438. package/dist/testing/ensure.trial.d.ts +2 -0
  439. package/dist/testing/ensure.trial.d.ts.map +1 -0
  440. package/dist/testing/ensure.trial.js +9 -0
  441. package/dist/testing/ensure.types.test.d.ts +2 -0
  442. package/dist/testing/ensure.types.test.d.ts.map +1 -0
  443. package/dist/testing/ensure.types.test.js +34 -0
  444. package/dist/testing/helpers/contentHtmlElements.d.ts.map +1 -1
  445. package/dist/testing/host.d.ts +86 -15
  446. package/dist/testing/host.d.ts.map +1 -1
  447. package/dist/testing/host.js +82 -23
  448. package/dist/testing/host.types.test.d.ts +2 -0
  449. package/dist/testing/host.types.test.d.ts.map +1 -0
  450. package/dist/testing/host.types.test.js +81 -0
  451. package/dist/testing/hydrateTestApp.d.ts +17 -0
  452. package/dist/testing/hydrateTestApp.d.ts.map +1 -1
  453. package/dist/testing/hydrateTestApp.js +27 -6
  454. package/dist/testing/index.d.ts +5 -3
  455. package/dist/testing/index.d.ts.map +1 -1
  456. package/dist/testing/index.js +3 -1
  457. package/dist/testing/pipeline/createTestPacketApp.d.ts +30 -0
  458. package/dist/testing/pipeline/createTestPacketApp.d.ts.map +1 -0
  459. package/dist/testing/pipeline/createTestPacketApp.js +45 -0
  460. package/dist/testing/pipeline/createTestPacketApp.types.test.d.ts +3 -0
  461. package/dist/testing/pipeline/createTestPacketApp.types.test.d.ts.map +1 -0
  462. package/dist/testing/pipeline/createTestPacketApp.types.test.js +101 -0
  463. package/dist/testing/pipeline/createTestPipelineApp.d.ts +70 -0
  464. package/dist/testing/pipeline/createTestPipelineApp.d.ts.map +1 -0
  465. package/dist/testing/pipeline/createTestPipelineApp.js +90 -0
  466. package/dist/testing/pipeline/createTestPipelineApp.types.test.d.ts +6 -0
  467. package/dist/testing/pipeline/createTestPipelineApp.types.test.d.ts.map +1 -0
  468. package/dist/testing/pipeline/createTestPipelineApp.types.test.js +146 -0
  469. package/dist/testing/pipeline/hostPipeline.d.ts +25 -0
  470. package/dist/testing/pipeline/hostPipeline.d.ts.map +1 -0
  471. package/dist/testing/pipeline/hostPipeline.js +18 -0
  472. package/dist/testing/pipeline/hydrateTestPipelineApp.d.ts +30 -0
  473. package/dist/testing/pipeline/hydrateTestPipelineApp.d.ts.map +1 -0
  474. package/dist/testing/pipeline/hydrateTestPipelineApp.js +193 -0
  475. package/dist/testing/pipeline/hydrateTestPipelineApp.types.test.d.ts +2 -0
  476. package/dist/testing/pipeline/hydrateTestPipelineApp.types.test.d.ts.map +1 -0
  477. package/dist/testing/pipeline/hydrateTestPipelineApp.types.test.js +27 -0
  478. package/dist/testing/pipeline/index.d.ts +5 -0
  479. package/dist/testing/pipeline/index.d.ts.map +1 -0
  480. package/dist/testing/pipeline/index.js +4 -0
  481. package/dist/testing/pipeline/pipelineTestApp.d.ts +34 -0
  482. package/dist/testing/pipeline/pipelineTestApp.d.ts.map +1 -0
  483. package/dist/testing/pipeline/pipelineTestApp.js +100 -0
  484. package/dist/testing/pipeline/testPipelineRoute.d.ts +2 -0
  485. package/dist/testing/pipeline/testPipelineRoute.d.ts.map +1 -0
  486. package/dist/testing/pipeline/testPipelineRoute.js +1 -0
  487. package/dist/testing/resolveContent.d.ts +18 -0
  488. package/dist/testing/resolveContent.d.ts.map +1 -0
  489. package/dist/testing/resolveContent.js +73 -0
  490. package/dist/testing/testingComponentPackage.d.ts +3 -1
  491. package/dist/testing/testingComponentPackage.d.ts.map +1 -1
  492. package/dist/testing/testingComponentPackage.js +16 -1
  493. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  494. package/dist/update/integrateUpdateVdom.js +35 -31
  495. package/dist/update/integrateUpdateVdomPrebuild.js +20 -20
  496. package/dist/validChildren.d.ts.map +1 -1
  497. package/dist/zones/react.d.ts.map +1 -1
  498. package/package.json +23 -19
  499. package/types/helpers.d.ts +11 -2
  500. package/types/jsx/html.d.ts +29 -25
  501. package/types/jsx/jsx.d.ts +8 -8
  502. package/types/modules.d.ts +14 -3
  503. package/types/testing.d.ts +0 -0
  504. package/vendor/babel-core.js +5 -5
  505. package/vendor/babel-parser.js +1 -1
  506. package/vendor/babel-preset-react.js +32 -34
  507. package/vendor/babel-preset-typescript.js +5 -5
  508. package/vendor/chalk-extensions.js +3 -146
  509. package/vendor/chokidar.js +311 -5
  510. package/vendor/chunk-B34JUlnS.js +169 -0
  511. package/vendor/{chunk-Bu8ZRE-c.js → chunk-B9ttgKqg.js} +28 -25
  512. package/vendor/{chunk-D2EnpcLg.js → chunk-BGvapINa.js} +3 -164
  513. package/vendor/{chunk-Cqrj-Zqr.js → chunk-BmAiqUzD.js} +22 -8
  514. package/vendor/{chunk-BiUcnLhT.js → chunk-But4T5N_.js} +8 -3
  515. package/vendor/{chunk-OUnVY4Wm.js → chunk-DuR6SGzI.js} +162 -35
  516. package/vendor/css-select.js +3383 -0
  517. package/vendor/dotenv.js +2 -2
  518. package/vendor/express.js +61 -10
  519. package/vendor/manifest.json +4 -3
  520. package/vendor/postcss.js +1 -1
  521. package/vendor/precinct.js +5914 -3591
  522. package/vendor/valibot.js +418 -504
  523. package/dist/Servers/MatchedRouteInfo.d.ts +0 -11
  524. package/dist/Servers/MatchedRouteInfo.d.ts.map +0 -1
  525. package/dist/routing/__fluentRouteBuilder.d.ts +0 -80
  526. package/dist/routing/__fluentRouteBuilder.d.ts.map +0 -1
  527. package/dist/routing/__fluentRouteBuilder.js +0 -183
  528. package/dist/routing/__fluentRoutes.d.ts +0 -2
  529. package/dist/routing/__fluentRoutes.d.ts.map +0 -1
  530. package/dist/routing/__fluentRoutes.js +0 -59
  531. package/vendor/chunk-Hy-cCmu-.js +0 -23
  532. /package/dist/{Servers/MatchedRouteInfo.js → routing/RoutePaths.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.types.test.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline.types.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,344 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import { route } from '../routing/builder.js';
5
+ import { contextStore } from './contextStore.js';
6
+ import { pipeline } from './pipeline.js';
7
+ /*
8
+ * Type tests for the pipeline builder. tsc is the assertion - nothing here runs.
9
+ *
10
+ * Server -> Init -> (routing) -> Post. The components are typed with the last stage's context.
11
+ */
12
+ class ApiClient {
13
+ constructor(reqRes) {
14
+ _defineProperty(this, "get", async path => Promise.resolve(path));
15
+ void reqRes;
16
+ }
17
+ }
18
+ const server = pipeline.server('express');
19
+ const init = server.init(async reqRes => Promise.resolve({
20
+ api: new ApiClient(reqRes),
21
+ userId: 1
22
+ }));
23
+ const app = init.post((reqRes, {
24
+ api,
25
+ userId
26
+ }) => ({
27
+ api,
28
+ cart: contextStore({
29
+ items: []
30
+ }),
31
+ counter: contextStore({
32
+ count: userId
33
+ })
34
+ }));
35
+ const {
36
+ SimpleComponent,
37
+ StatefulComponent,
38
+ SignalsComponent,
39
+ SimpleStoreComponent,
40
+ StatefulStoreComponent
41
+ } = app;
42
+ // ---- the components are typed with Post's context ---------------------------
43
+ export class Page extends SimpleComponent {
44
+ constructor(...args) {
45
+ super(...args);
46
+ _defineProperty(this, "content", () => {
47
+ const api = this.tungsten.context.api;
48
+ const count = this.tungsten.context.counter.count.get();
49
+ void api;
50
+ void count;
51
+ void this.props.title;
52
+ return null;
53
+ });
54
+ }
55
+ }
56
+ export class Counter extends StatefulComponent {
57
+ constructor(...args) {
58
+ super(...args);
59
+ _defineProperty(this, "state", {
60
+ n: 0
61
+ });
62
+ _defineProperty(this, "content", () => null);
63
+ }
64
+ }
65
+ export class Ticker extends SignalsComponent {
66
+ constructor(...args) {
67
+ super(...args);
68
+ _defineProperty(this, "signals", {
69
+ n: 0
70
+ });
71
+ _defineProperty(this, "content", () => null);
72
+ }
73
+ }
74
+ // the app makes its store components, selecting the store from the context
75
+ export class CountView extends SimpleStoreComponent {
76
+ constructor(...args) {
77
+ super(...args);
78
+ _defineProperty(this, "store", this.createStore(({
79
+ counter
80
+ }) => counter));
81
+ _defineProperty(this, "content", () => {
82
+ const count = this.store.count.sync();
83
+ void count;
84
+ void this.props.label;
85
+ return null;
86
+ });
87
+ }
88
+ }
89
+ export class CartView extends StatefulStoreComponent {
90
+ constructor(...args) {
91
+ super(...args);
92
+ _defineProperty(this, "state", {
93
+ open: false
94
+ });
95
+ _defineProperty(this, "store", this.createStore(({
96
+ cart
97
+ }) => cart));
98
+ _defineProperty(this, "content", () => null);
99
+ }
100
+ }
101
+ // the checks are real, not `any`
102
+ export class NopeContext extends SimpleComponent {
103
+ constructor(...args) {
104
+ super(...args);
105
+ _defineProperty(this, "content", () => {
106
+ // @ts-expect-error -- not on Post's context
107
+ void this.tungsten.context.nope;
108
+ return null;
109
+ });
110
+ }
111
+ }
112
+ export class WrongStore extends SimpleStoreComponent {
113
+ constructor(...args) {
114
+ super(...args);
115
+ // @ts-expect-error -- the cart is not a store of { count }
116
+ _defineProperty(this, "store", this.createStore(({
117
+ cart
118
+ }) => cart));
119
+ _defineProperty(this, "content", () => null);
120
+ }
121
+ }
122
+ // @ts-expect-error -- a store component has to make its store
123
+ export class NoStore extends SimpleStoreComponent {
124
+ constructor(...args) {
125
+ super(...args);
126
+ _defineProperty(this, "content", () => null);
127
+ }
128
+ }
129
+ // nothing crosses the network, so the context may hold anything
130
+ server.init(reqRes => ({
131
+ reqRes,
132
+ when: new Date()
133
+ }));
134
+ // ---- stages may be skipped --------------------------------------------------
135
+ // from Init, the context is Init's
136
+ export class InitPage extends init.SimpleComponent {
137
+ constructor(...args) {
138
+ super(...args);
139
+ _defineProperty(this, "content", () => {
140
+ const userId = this.tungsten.context.userId;
141
+ void userId;
142
+ return null;
143
+ });
144
+ }
145
+ }
146
+ // from the server, there is no context yet
147
+ export class ServerPage extends server.SimpleComponent {
148
+ constructor(...args) {
149
+ super(...args);
150
+ _defineProperty(this, "content", () => {
151
+ // @ts-expect-error -- nothing made a context
152
+ void this.tungsten.context.api;
153
+ return null;
154
+ });
155
+ }
156
+ }
157
+ // Init may return nothing, leaving Post to make the context from nothing
158
+ server.init(() => undefined).post((reqRes, initContext) => {
159
+ const nothing = initContext;
160
+ void nothing;
161
+ return {};
162
+ });
163
+ // Post may follow the server directly
164
+ server.post(() => ({}));
165
+ // ---- the request is the server's --------------------------------------------
166
+ server.init(reqRes => {
167
+ const typed = reqRes;
168
+ void typed;
169
+ return undefined;
170
+ });
171
+ // hono's request is a placeholder until its handlers are written
172
+ pipeline.server('hono').init(reqRes => {
173
+ // @ts-expect-error -- not express's
174
+ const typed = reqRes;
175
+ void typed;
176
+ return undefined;
177
+ });
178
+ // ---- all-routes data: after Init, before Post -------------------------------
179
+ const withData = init.allRoutesData(async (reqRes, {
180
+ userId
181
+ }) => {
182
+ // before any route renders: before SSR, with the request, or a client navigation, with null
183
+ // @ts-expect-error -- null on the client
184
+ const serverOnly = reqRes;
185
+ const typed = reqRes;
186
+ void serverOnly;
187
+ void typed;
188
+ return Promise.resolve({
189
+ theme: 'dark',
190
+ userId
191
+ });
192
+ });
193
+ export class ThemedPage extends withData.SimpleComponent {
194
+ constructor(...args) {
195
+ super(...args);
196
+ _defineProperty(this, "content", () => {
197
+ const theme = this.tungsten.allRoutesData.theme;
198
+ void theme;
199
+ // @ts-expect-error -- not in the all-routes data
200
+ void this.tungsten.allRoutesData.nope;
201
+ return null;
202
+ });
203
+ }
204
+ }
205
+ // the route content functions and Post see it too
206
+ withData.routes(() => ({
207
+ '/': {
208
+ content: (routeData, params, props, allRoutesData) => {
209
+ const theme = allRoutesData.theme;
210
+ void theme;
211
+ return null;
212
+ }
213
+ },
214
+ '404': {
215
+ content: null
216
+ }
217
+ }));
218
+ const initApi = stageOf().api;
219
+ const initResultApi = stageOf().api;
220
+ const postCounter = stageOf().counter;
221
+ // @ts-expect-error -- Post's, not Init's
222
+ void stageOf().userId;
223
+ // the all-routes data stage: its data, with Init's context before it
224
+ const withDataTheme = stageOf().theme;
225
+ const withDataApi = stageOf().api;
226
+ void initApi;
227
+ void initResultApi;
228
+ void postCounter;
229
+ void withDataTheme;
230
+ void withDataApi;
231
+ // an earlier stage's, by name
232
+ const namedInitApi = stageOf().api;
233
+ const namedData = stageOf().theme;
234
+ // @ts-expect-error -- app's chain had no all-routes data
235
+ void stageOf();
236
+ void namedInitApi;
237
+ void namedData;
238
+ const withPost = withData.post((reqRes, initContext, allRoutesData) => {
239
+ const theme = allRoutesData.theme;
240
+ return {
241
+ theme
242
+ };
243
+ });
244
+ export class AfterPostPage extends withPost.SimpleComponent {
245
+ constructor(...args) {
246
+ super(...args);
247
+ _defineProperty(this, "content", () => {
248
+ const theme = this.tungsten.allRoutesData.theme;
249
+ void theme;
250
+ return null;
251
+ });
252
+ }
253
+ }
254
+ // @ts-expect-error -- it is serialized into the page
255
+ init.allRoutesData(reqRes => ({
256
+ leaked: reqRes
257
+ }));
258
+ // @ts-expect-error -- taken once
259
+ withData.allRoutesData(() => ({}));
260
+ // @ts-expect-error -- and not after Post
261
+ app.allRoutesData(() => ({}));
262
+ // none given: nothing to read
263
+ export class NoDataPage extends app.SimpleComponent {
264
+ constructor(...args) {
265
+ super(...args);
266
+ _defineProperty(this, "content", () => {
267
+ // @ts-expect-error -- no all-routes data
268
+ void this.tungsten.allRoutesData.theme;
269
+ const absent = this.tungsten.allRoutesData;
270
+ void absent;
271
+ return null;
272
+ });
273
+ }
274
+ }
275
+ // ---- routes: off any stage, with Init's context -----------------------------
276
+ const _routes = app.routes((reqRes, {
277
+ api,
278
+ userId
279
+ }) => {
280
+ const typedApi = api;
281
+ const typedUserId = userId;
282
+ void typedApi;
283
+ void typedUserId;
284
+ return [route({
285
+ path: '/foo',
286
+ content: null
287
+ }), route({
288
+ path: '404',
289
+ content: null
290
+ })];
291
+ });
292
+ // the app keeps the function as given, for the route and path types
293
+ const fooPath = '/foo';
294
+ // @ts-expect-error -- not one of its routes
295
+ const nopePath = '/nope';
296
+ void fooPath;
297
+ void nopePath;
298
+ // and a typed link's
299
+ const linkPath = '/foo';
300
+ // @ts-expect-error -- not one of its routes
301
+ const nopeLinkPath = '/nope';
302
+ void linkPath;
303
+ void nopeLinkPath;
304
+ app.routes((reqRes, initContext) => {
305
+ // @ts-expect-error -- routing runs before Post, so Post's cart is not there yet
306
+ void initContext.cart;
307
+ return [];
308
+ });
309
+ server.routes((reqRes, initContext) => {
310
+ const nothing = initContext;
311
+ void nothing;
312
+ return [];
313
+ });
314
+ // the options come first when given, and the routes still see Init's context
315
+ app.routes({
316
+ cacheControl: 'no-store'
317
+ }, (reqRes, {
318
+ api
319
+ }) => {
320
+ const typedApi = api;
321
+ void typedApi;
322
+ return [];
323
+ });
324
+ // @ts-expect-error -- not a cache policy
325
+ app.routes({
326
+ cacheControl: 'sometimes'
327
+ }, () => []);
328
+ // @ts-expect-error -- a path given twice is caught after the options too
329
+ app.routes({}, () => [{
330
+ path: '/a',
331
+ content: null
332
+ }, {
333
+ path: '/a',
334
+ content: null
335
+ }]);
336
+ // ---- a stage cannot be taken twice, or out of order -------------------------
337
+ // @ts-expect-error -- .init is gone once taken
338
+ init.init(() => undefined);
339
+ // @ts-expect-error -- .init cannot follow .post
340
+ app.init(() => undefined);
341
+ // @ts-expect-error -- .server is taken once
342
+ server.server('express');
343
+ // @ts-expect-error -- and only names a server tungsten knows
344
+ pipeline.server('koa');
@@ -0,0 +1,78 @@
1
+ import type { RouteCacheControl } from '../cacheControl.js';
2
+ import type { ReqRes } from '../ReqRes.js';
3
+ import type { MatchedRouteInfo } from '../routing/MatchedRouteInfo.js';
4
+ import type { RouteKey } from '../routing/RouteTypes.js';
5
+ export type ServerRequests = {
6
+ express: ReqRes;
7
+ hono: unknown;
8
+ };
9
+ export type ServerKind = keyof ServerRequests;
10
+ export type StageContext = object;
11
+ export type MaybePromise<T> = T | Promise<T>;
12
+ export type AllRoutesDataConstraint = object | undefined;
13
+ export type RegisteredStage = (reqRes: unknown, previous: StageContext | undefined, allRoutesData?: AllRoutesDataConstraint) => MaybePromise<StageContext | undefined>;
14
+ export type SplitResult = {
15
+ context?: object;
16
+ networked?: object;
17
+ };
18
+ export type RegisteredServerInit = (reqRes: unknown) => MaybePromise<SplitResult | undefined>;
19
+ export type RegisteredServerPost = (reqRes: unknown, init: SplitResult | undefined, allRoutesData: AllRoutesDataConstraint) => MaybePromise<SplitResult | undefined>;
20
+ export type RegisteredClientInit = (networked: object) => MaybePromise<SplitResult | undefined>;
21
+ export type RegisteredClientAllRoutesData = (init: SplitResult | undefined) => MaybePromise<object>;
22
+ export type RegisteredClientPost = (init: SplitResult | undefined, allRoutesData: AllRoutesDataConstraint) => MaybePromise<SplitResult | undefined>;
23
+ export type ClientRoute = {
24
+ key: RouteKey | null;
25
+ params: Record<string, string>;
26
+ data: unknown;
27
+ location: string;
28
+ };
29
+ export declare const clientRoute: (matched: MatchedRouteInfo, location: string) => ClientRoute;
30
+ export type RegisteredClientAfterRouting = (context: object, route: ClientRoute, allRoutesData: AllRoutesDataConstraint) => MaybePromise<SplitResult | undefined>;
31
+ export type ClientRun = (app: PipelineApp, fromPage: unknown) => Promise<ClientStarted>;
32
+ export type ClientStarted = {
33
+ init: StageContext | undefined;
34
+ routingContext: object;
35
+ routingNetworkedData: object;
36
+ allRoutesData: (() => MaybePromise<object>) | undefined;
37
+ networked: object;
38
+ post: (allRoutesData: AllRoutesDataConstraint) => Promise<ClientPosted>;
39
+ };
40
+ export type ClientPosted = {
41
+ context: object;
42
+ afterRouting: ((route: ClientRoute, allRoutesData: AllRoutesDataConstraint) => Promise<object>) | undefined;
43
+ };
44
+ export type RegisteredRoutes = (reqRes: unknown, init: StageContext | undefined) => unknown;
45
+ export type RegisteredAllRoutesData = (reqRes: unknown, init: StageContext | undefined) => MaybePromise<object>;
46
+ export type RoutesOptions = {
47
+ cacheControl?: RouteCacheControl;
48
+ };
49
+ export type PipelineDefinition = {
50
+ server: ServerKind;
51
+ split?: true;
52
+ client: ClientRun;
53
+ init?: RegisteredStage;
54
+ allRoutesData?: RegisteredAllRoutesData;
55
+ post?: RegisteredStage;
56
+ serverInit?: RegisteredServerInit;
57
+ serverPost?: RegisteredServerPost;
58
+ clientInit?: RegisteredClientInit;
59
+ clientAllRoutesData?: RegisteredClientAllRoutesData;
60
+ clientPost?: RegisteredClientPost;
61
+ clientAfterRouting?: RegisteredClientAfterRouting;
62
+ };
63
+ export declare const $pipelineApp: unique symbol;
64
+ declare const $appTypes: unique symbol;
65
+ export type PipelineApp<R = unknown, Ctx = unknown, N = unknown, G = unknown> = PipelineDefinition & {
66
+ readonly [$pipelineApp]: true;
67
+ readonly routes: R;
68
+ readonly routesOptions: RoutesOptions;
69
+ readonly [$appTypes]?: {
70
+ context: Ctx;
71
+ networked: N;
72
+ allRoutesData: G;
73
+ };
74
+ };
75
+ export declare const isPipelineApp: (value: unknown) => value is PipelineApp;
76
+ export declare const appRoutesFunction: (app: PipelineApp) => RegisteredRoutes;
77
+ export {};
78
+ //# sourceMappingURL=pipelineDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelineDefinition.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipelineDefinition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export const clientRoute = (matched, location) => ({
2
+ key: matched.key,
3
+ params: matched.params,
4
+ data: matched.data,
5
+ location
6
+ });
7
+ export const $pipelineApp = Symbol('tungsten pipeline app');
8
+ export const isPipelineApp = value => typeof value === 'object' && value !== null && $pipelineApp in value;
9
+ // the routes function as the runners call it
10
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- typed by the stage
11
+ export const appRoutesFunction = app => app.routes;