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
@@ -1 +1 @@
1
- {"version":3,"file":"StoreSchemaClass.d.ts","sourceRoot":"","sources":["../../src/Store/StoreSchemaClass.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAGlE,MAAM,MAAM,gBAAgB,CAAC,WAAW,IAAI,KACxC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,KACjC,WAAW,CAAA;AAEhB,MAAM,MAAM,uBAAuB,GAAG,KAClC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,KACjC,MAAM,CAAA"}
1
+ {"version":3,"file":"StoreSchemaClass.d.ts","sourceRoot":"","sources":["../../src/Store/StoreSchemaClass.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAO3F,MAAM,MAAM,gBAAgB,CAAC,WAAW,IAAI,KACxC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,KACjC,WAAW,CAAA;AAEhB,MAAM,MAAM,uBAAuB,CAAC,WAAW,IAAI,KAC/C,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,oBAAoB,EACnC,UAAU,EAAE,iBAAiB,EAC7B,gBAAgB,EAAE,gBAAgB,KACjC,WAAW,CAAA"}
@@ -1 +1,8 @@
1
- export {};
1
+ export {};
2
+ // export type BrandedStoreSchemaClassGeneral = new (
3
+ // reqRes: ReqRes | null,
4
+ // context: BrandedContext,
5
+ // networkedData: BrandedNetworkedData,
6
+ // globalData: BrandedGlobalData,
7
+ // matchedRouteInfo: MatchedRouteInfo,
8
+ // ) => object
@@ -7,6 +7,7 @@ import { SxyBaseStoreComponent } from '../Components.jsx'
7
7
  import { FunctionComponent } from '../FunctionComponent.js'
8
8
  import { TungstenError } from '../TungstenError.js'
9
9
  import { IsObject } from '../IsObject.js'
10
+ import { JSONstringify } from '../json.js'
10
11
 
11
12
 
12
13
 
@@ -421,7 +422,7 @@ export class TypeSafeStore<Schema extends object> {
421
422
  return this.data || {}
422
423
  }
423
424
  export() {
424
- return JSON.stringify(this.data || {})
425
+ return JSONstringify(this.data || {})
425
426
  }
426
427
  import(jsonData: string) {
427
428
  //console.log('json data', jsonData)
@@ -1,8 +1,8 @@
1
1
  import type { ServerDataLoading } from './ServerDataLoading.js';
2
2
  import type { ReqRes } from '../ReqRes.js';
3
- import type { MatchedRouteInfo } from '../Servers/MatchedRouteInfo.js';
4
- import type { GlobalData } from '../routing/registerGlobalData.js';
3
+ import type { MatchedRouteInfo } from '../routing/MatchedRouteInfo.js';
5
4
  import type { StoreSubscriptionsMap } from './StoreSubscriptions.types.js';
5
+ import type { BrandedContext, BrandedGlobalData, BrandedNetworkedData } from '../Brands.js';
6
6
  import { type TrueStore } from './makeStore.js';
7
- export declare function createStores(reqRes: ReqRes | null, matchedRouteInfo: MatchedRouteInfo, globalData: GlobalData, storeSubscriptionsMap: StoreSubscriptionsMap, serverDataLoading?: ServerDataLoading | null): TrueStore<unknown>[];
7
+ export declare function createStores(reqRes: ReqRes | null, matchedRouteInfo: MatchedRouteInfo, globalData: BrandedGlobalData, storeSubscriptionsMap: StoreSubscriptionsMap, serverDataLoading: ServerDataLoading | null, context: BrandedContext, networkedData: BrandedNetworkedData): TrueStore<unknown>[];
8
8
  //# sourceMappingURL=createStores.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createStores.d.ts","sourceRoot":"","sources":["../../src/Store/createStores.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI1D,wBAAgB,YAAY,CACxB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,qBAAqB,EAAE,qBAAqB,EAC5C,iBAAiB,GAAE,iBAAiB,GAAG,IAAW,GACnD,SAAS,CAAC,OAAO,CAAC,EAAE,CAQtB"}
1
+ {"version":3,"file":"createStores.d.ts","sourceRoot":"","sources":["../../src/Store/createStores.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI1D,wBAAgB,YAAY,CACxB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,iBAAiB,EAC7B,qBAAqB,EAAE,qBAAqB,EAC5C,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,EAG3C,OAAO,EAAE,cAAc,EAEvB,aAAa,EAAE,oBAAoB,GACpC,SAAS,CAAC,OAAO,CAAC,EAAE,CAYtB"}
@@ -1,9 +1,14 @@
1
1
  import { makeStore } from './makeStore.js';
2
2
  import { storeSchemas } from './storeCreators.js';
3
- export function createStores(reqRes, matchedRouteInfo, globalData, storeSubscriptionsMap, serverDataLoading = null) {
3
+ export function createStores(reqRes, matchedRouteInfo, globalData, storeSubscriptionsMap, serverDataLoading,
4
+ // required: every store is handed the one context the request made. A default here built a
5
+ // second, unrelated {} whenever a caller forgot, and nothing noticed
6
+ context,
7
+ // made before routing (createNetworkedData) and handed down; {} when none is registered
8
+ networkedData) {
4
9
  const stores = storeSchemas.map(Schema => {
5
10
  const subscribedElements = new Map();
6
- const store = makeStore(new Schema(reqRes, globalData, matchedRouteInfo), subscribedElements, serverDataLoading);
11
+ const store = makeStore(new Schema(reqRes, context, networkedData, globalData, matchedRouteInfo), subscribedElements, serverDataLoading);
7
12
  storeSubscriptionsMap.set(store, subscribedElements);
8
13
  return store;
9
14
  });
@@ -1 +1 @@
1
- {"version":3,"file":"getInternalStore.d.ts","sourceRoot":"","sources":["../../src/Store/getInternalStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,0BAA0B,CAAA;AAM3F,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACnD,sBAAsB,CAIxB"}
1
+ {"version":3,"file":"getInternalStore.d.ts","sourceRoot":"","sources":["../../src/Store/getInternalStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAKtE,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACnD,sBAAsB,CAIxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerStore.d.ts","sourceRoot":"","sources":["../../src/Store/registerStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,cAAc,EAAE,0BAA0B,EAAC,gCAAgC,EAAE,kCAAkC,EAClH,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGlD,KAAK,mBAAmB,GAClB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACzC,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/C,kCAAkC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAG5D,KAAK,iBAAiB,CAAC,WAAW,SAAS,MAAM,IAAI;IACjD,iBAAiB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,cAAc,CAAC,WAAW,CAAC,CAAA;IAChF,QAAQ,EAAE,CAAC,gBAAgB,EAAE,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,CAAC,CAAA;CAC1F,CAAA;AACD,wBAAgB,aAAa,CAAC,WAAW,SAAS,MAAM,EAAE,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAC9F,iBAAiB,CAAC,WAAW,CAAC,CAqBnC"}
1
+ {"version":3,"file":"registerStore.d.ts","sourceRoot":"","sources":["../../src/Store/registerStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,cAAc,EAAE,0BAA0B,EAAE,gCAAgC,EAC5E,kCAAkC,EACrC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGlD,KAAK,mBAAmB,GAClB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACzC,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/C,kCAAkC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAG5D,KAAK,iBAAiB,CAAC,WAAW,SAAS,MAAM,IAAI;IACjD,iBAAiB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,cAAc,CAAC,WAAW,CAAC,CAAA;IAChF,QAAQ,EAAE,CAAC,gBAAgB,EAAE,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,CAAC,CAAA;CAC1F,CAAA;AACD,wBAAgB,aAAa,CAAC,WAAW,SAAS,MAAM,EAAE,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAC9F,iBAAiB,CAAC,WAAW,CAAC,CAqBnC"}
@@ -2,8 +2,8 @@ import { storeSchemas } from './storeCreators.js';
2
2
  import { Instance } from '../Instance/Instance.js';
3
3
  export function registerStore(StoreSchema) {
4
4
  //console.log('registering store', StoreSchema.name)
5
- const position = 0;
6
- storeSchemas[0] = StoreSchema;
5
+ // dev reloads the framework with the app, so a re-run registration starts from an empty list
6
+ const position = storeSchemas.push(StoreSchema) - 1;
7
7
  return {
8
8
  getComponentStore: element => {
9
9
  const store = element.__instance.stores[position]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- we set this schema above
@@ -1,3 +1,3 @@
1
- import type { StoreSchemaClass } from './StoreSchemaClass.js';
2
- export declare const storeSchemas: StoreSchemaClass<any>[];
1
+ import type { BrandedStoreSchemaClass } from './StoreSchemaClass.js';
2
+ export declare const storeSchemas: BrandedStoreSchemaClass<any>[];
3
3
  //# sourceMappingURL=storeCreators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storeCreators.d.ts","sourceRoot":"","sources":["../../src/Store/storeCreators.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,eAAO,MAAM,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAO,CAAA"}
1
+ {"version":3,"file":"storeCreators.d.ts","sourceRoot":"","sources":["../../src/Store/storeCreators.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAGpE,eAAO,MAAM,YAAY,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAO,CAAA"}
@@ -4,18 +4,18 @@ type PrivateEnvValidator = never;
4
4
  type PublicEnvValidator = never;
5
5
  type TungstenAppOptions = {
6
6
  rootComponent?: TungstenComponent;
7
- routes?: AppRoutes;
7
+ routes?: AppRoutes<any>;
8
8
  privateEnvValidator?: PrivateEnvValidator;
9
9
  publicEnvValidator?: PublicEnvValidator;
10
10
  };
11
11
  export declare class TungstenApp {
12
12
  rootComponent: undefined | TungstenComponent;
13
- appRoutes: undefined | undefined | AppRoutes;
13
+ appRoutes: undefined | undefined | AppRoutes<any>;
14
14
  privateEnvValidator: undefined | PrivateEnvValidator;
15
15
  publicEnvValidator: undefined | PublicEnvValidator;
16
16
  constructor(options: TungstenAppOptions);
17
17
  setRootComponent: (rootComponent: TungstenComponent) => void;
18
- setRoutes: (routes: AppRoutes) => void;
18
+ setRoutes: (routes: AppRoutes<any>) => void;
19
19
  setPrivateEnvValidator: (privateEnvValidator: PrivateEnvValidator) => void;
20
20
  setPublicEnvValidator: (publicEnvValidator: PublicEnvValidator) => void;
21
21
  start: ({ dev }: {
@@ -1 +1 @@
1
- {"version":3,"file":"TungstenApp.d.ts","sourceRoot":"","sources":["../src/TungstenApp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAMvD,KAAK,mBAAmB,GAAG,KAAK,CAAA;AAChC,KAAK,kBAAkB,GAAG,KAAK,CAAA;AAC/B,KAAK,kBAAkB,GAAG;IACtB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CAC1C,CAAA;AAED,qBAAa,WAAW;IACpB,aAAa,EAAE,SAAS,GAAG,iBAAiB,CAAA;IAC5C,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IAC5C,mBAAmB,EAAE,SAAS,GAAG,mBAAmB,CAAA;IACpD,kBAAkB,EAAE,SAAS,GAAG,kBAAkB,CAAA;gBACtC,OAAO,EAAE,kBAAkB;IAMvC,gBAAgB,GAAI,eAAe,iBAAiB,UAEnD;IACD,SAAS,GAAI,QAAQ,SAAS,UAE7B;IACD,sBAAsB,GAAI,qBAAqB,mBAAmB,UAEjE;IACD,qBAAqB,GAAI,oBAAoB,kBAAkB,UAE9D;IACD,KAAK,GAAU,SAAiB;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE,mBA0D/C;CACJ"}
1
+ {"version":3,"file":"TungstenApp.d.ts","sourceRoot":"","sources":["../src/TungstenApp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAMvD,KAAK,mBAAmB,GAAG,KAAK,CAAA;AAChC,KAAK,kBAAkB,GAAG,KAAK,CAAA;AAC/B,KAAK,kBAAkB,GAAG;IACtB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACvB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CAC1C,CAAA;AAED,qBAAa,WAAW;IACpB,aAAa,EAAE,SAAS,GAAG,iBAAiB,CAAA;IAC5C,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IACjD,mBAAmB,EAAE,SAAS,GAAG,mBAAmB,CAAA;IACpD,kBAAkB,EAAE,SAAS,GAAG,kBAAkB,CAAA;gBACtC,OAAO,EAAE,kBAAkB;IAMvC,gBAAgB,GAAI,eAAe,iBAAiB,UAEnD;IACD,SAAS,GAAI,QAAQ,SAAS,CAAC,GAAG,CAAC,UAElC;IACD,sBAAsB,GAAI,qBAAqB,mBAAmB,UAEjE;IACD,qBAAqB,GAAI,oBAAoB,kBAAkB,UAE9D;IACD,KAAK,GAAU,SAAiB;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE,mBA0D/C;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"cjsHelpers.d.ts","sourceRoot":"","sources":["../../src/_client/cjsHelpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAA;AA0CvD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC,CAAA;KAC/E;CACJ;AAkCD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,+CAyC5C"}
1
+ {"version":3,"file":"cjsHelpers.d.ts","sourceRoot":"","sources":["../../src/_client/cjsHelpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAA;AA0CvD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC,CAAA;KAC/E;CACJ;AAqCD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,+CAwC5C"}
@@ -55,7 +55,6 @@ export async function loadDeps(deps) {
55
55
  // import() waiting on that module graph hangs with it.
56
56
  const queued = new Set();
57
57
  function queueDeps(deps) {
58
- if (deps === undefined) return;
59
58
  for (const dep of deps) {
60
59
  if (queued.has(dep)) continue;
61
60
  queued.add(dep);
@@ -115,7 +114,7 @@ window.__tungsten_cjs_import = async function __tungsten_cjs_import(location /*
115
114
  const {
116
115
  default: cjsModule,
117
116
  deps
118
- } = await import(location);
117
+ } = await import(location); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
119
118
  const loadedDeps = await loadDeps(deps);
120
119
  // module also has id (absFile), filename (absFile), path (absDir), loaded (bool), childrens (?), paths? (?)
121
120
  const module = {
@@ -125,4 +124,7 @@ window.__tungsten_cjs_import = async function __tungsten_cjs_import(location /*
125
124
  cjsModule(module, module.exports, createRequire(location, loadedDeps, cjsModuleCache));
126
125
  return module.exports;
127
126
  };
128
- //}
127
+ //}
128
+ // const foo: `/lead/${number}` = '/lead/5'
129
+ // const foo1: `/lead/${number}` = `/lead/${5}`
130
+ // const foo2: `/lead/${number}` = `/lead/${'5'}`
@@ -1,6 +1,8 @@
1
1
  import type { InstanceConfig } from 'tungsten/Instance/InstanceConfig.js';
2
2
  declare module '../.tungsten.config.js' {
3
3
  export default InstanceConfig;
4
+ export const fileVersions: Record<string, string> | undefined;
5
+ export const pipelineRegistration: boolean;
4
6
  }
5
7
  declare global {
6
8
  interface Window {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/_client/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAWzE,OAAO,QAAQ,wBAAwB,CAAC;IACpC,eAAe,cAAc,CAAA;CAChC;AAOD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,iBAAiB,EAAE,OAAO,CAAA;QAC1B,GAAG,EAAE,MAAM,CAAA;KACd;CACJ"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/_client/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAWzE,OAAO,QAAQ,wBAAwB,CAAC;IACpC,eAAe,cAAc,CAAA;IAC7B,MAAM,CAAC,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IAC7D,MAAM,CAAC,MAAM,oBAAoB,EAAE,OAAO,CAAA;CAC7C;AAOD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,iBAAiB,EAAE,OAAO,CAAA;QAC1B,GAAG,EAAE,MAAM,CAAA;KACd;CACJ"}
@@ -1,7 +1,7 @@
1
1
  //import { helpers } from './cjsHelpers.js'
2
- import { hydrate } from 'tungsten';
2
+ import { hydrate, hydratePipeline } from 'tungsten';
3
3
  // @ts-ignore -- ignore module not found, will be generated later
4
- import instanceConfig from '../.tungsten.config.js';
4
+ import instanceConfig, { fileVersions, pipelineRegistration } from '../.tungsten.config.js';
5
5
  // wrap the async code in an async IIFE to help rollup
6
6
  const clientPromise = (async () => {
7
7
  //const isProd = window.__tungsten_prod__ = appConfig.prod
@@ -14,6 +14,7 @@ const clientPromise = (async () => {
14
14
  const promises = [import('./routes.js').then(mod => routes = mod.routes)];
15
15
  let RootComponent = null;
16
16
  if (instanceConfig.useRootComponent) {
17
+ // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- generated, see the declare above
17
18
  // rollup is failing to handle this when useRootComponent is false
18
19
  promises.push(import('./RootComponent.js').then(({
19
20
  module,
@@ -22,7 +23,13 @@ const clientPromise = (async () => {
22
23
  );
23
24
  }
24
25
  await Promise.all(promises);
26
+ // the routes export is the pipeline app, its .routes() result
27
+ if (pipelineRegistration === true) {
28
+ // @ts-expect-error -- TS doesn't understand that routes was assigned by the promise
29
+ await hydratePipeline(routes, RootComponent, instanceConfig, fileVersions);
30
+ return;
31
+ }
25
32
  // @ts-expect-error -- TS doesn't understand that RootComponent was assigned by the promise
26
- await hydrate(routes, RootComponent, instanceConfig);
33
+ await hydrate(routes, RootComponent, instanceConfig, fileVersions);
27
34
  })();
28
35
  window.__tungsten_hydrate__ = clientPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"getApiRoutes.d.ts","sourceRoot":"","sources":["../../src/api/getApiRoutes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAC,MAAM,6BAA6B,CAAA;AAMjE,wBAAsB,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,sBAevG"}
1
+ {"version":3,"file":"getApiRoutes.d.ts","sourceRoot":"","sources":["../../src/api/getApiRoutes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAMlE,wBAAsB,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,sBAevG"}
@@ -1,3 +1,3 @@
1
1
  import type { Mode } from '../Mode.js';
2
- export declare function getExport(filePath: string, relFile: string, mode?: Mode): Promise<any>;
2
+ export declare function getExport(filePath: string, relFile: string, mode?: Mode): Promise<unknown>;
3
3
  //# sourceMappingURL=getExport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getExport.d.ts","sourceRoot":"","sources":["../../src/api/getExport.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAWtC,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAyBpG"}
1
+ {"version":3,"file":"getExport.d.ts","sourceRoot":"","sources":["../../src/api/getExport.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAYtC,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBxG"}
@@ -4,6 +4,7 @@ import { fixExtension } from '../fixExtension.js';
4
4
  import { TungstenError } from '../TungstenError.js';
5
5
  import { iterationQueryString } from '../iterationQueryString.js';
6
6
  import { importDevModuleWithRetry } from '../importDevModuleWithRetry.js';
7
+ import { importModule } from '../importModule.js';
7
8
  //let load //// !! future improvement
8
9
  let exportIteration = 0;
9
10
  export async function getExport(filePath, relFile, mode = 'prod') {
@@ -16,7 +17,7 @@ export async function getExport(filePath, relFile, mode = 'prod') {
16
17
  //const load = await createLoad(import.meta.url, sxyLoaderConfig)
17
18
  module = await importDevModuleWithRetry(iterationQueryString(filePath, exportIteration++, 'api'));
18
19
  } else {
19
- module = await import(filePath); // import the module
20
+ module = await importModule(filePath);
20
21
  }
21
22
  if (module.default) {
22
23
  // use the default export if it has one
@@ -1,2 +1,2 @@
1
- export declare function getExportDev(filePathFull: string, relFile: string): Promise<any>;
1
+ export declare function getExportDev(filePathFull: string, relFile: string): Promise<unknown>;
2
2
  //# sourceMappingURL=getExportDev.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getExportDev.d.ts","sourceRoot":"","sources":["../../src/api/getExportDev.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAEhF"}
1
+ {"version":3,"file":"getExportDev.d.ts","sourceRoot":"","sources":["../../src/api/getExportDev.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpF"}
@@ -0,0 +1,69 @@
1
+ import type { ReqRes, ReqResOrNull } from './ReqRes.js';
2
+ import type { ComponentStore, ConstructPackage, TungstenComponentPropsBase, TungstenComponentSignalsConstraint, TungstenComponentStateConstraint } from './Components.jsx';
3
+ import type { ComponentHelpers } from './componentHelpers.js';
4
+ import type { MatchedRouteInfo } from './routing/MatchedRouteInfo.js';
5
+ import type { RoutesWithSettings } from './routing/Routes.js';
6
+ import type { NoDuplicatePaths, RoutesArray } from './routing/routesArray.js';
7
+ import type { Serializable } from './routing/Serializable.js';
8
+ import type { TrueStore } from './Store/makeStore.js';
9
+ import type { Instance } from './Instance/Instance.js';
10
+ import { TungstenBaseSimpleStoreComponent, TungstenBaseStatefulStoreComponent, TungstenSignalsComponent, TungstenSimpleComponent, TungstenStatefulComponent } from './Components.jsx';
11
+ export type AppHelpers<C extends object, ND extends object, G extends object> = Omit<ComponentHelpers, 'context' | 'networkedData' | 'globalData'> & {
12
+ readonly context: C;
13
+ readonly networkedData: ND;
14
+ readonly globalData: G;
15
+ };
16
+ export declare abstract class AppSimpleComponent<C extends object, ND extends object, G extends object, P extends TungstenComponentPropsBase = TungstenComponentPropsBase, RD = undefined> extends TungstenSimpleComponent<P, RD> {
17
+ get tungsten(): AppHelpers<C, ND, G>;
18
+ }
19
+ export declare abstract class AppStatefulComponent<C extends object, ND extends object, G extends object, P extends TungstenComponentPropsBase, S extends TungstenComponentStateConstraint, RD = undefined> extends TungstenStatefulComponent<P, S, RD> {
20
+ get tungsten(): AppHelpers<C, ND, G>;
21
+ }
22
+ export declare abstract class AppSignalsComponent<C extends object, ND extends object, G extends object, P extends TungstenComponentPropsBase, Sg extends TungstenComponentSignalsConstraint, RD = undefined> extends TungstenSignalsComponent<P, Sg, RD> {
23
+ get tungsten(): AppHelpers<C, ND, G>;
24
+ }
25
+ export declare abstract class AppSimpleStoreComponent<C extends object, ND extends object, G extends object, St extends object, P extends TungstenComponentPropsBase = TungstenComponentPropsBase, RD = undefined> extends TungstenBaseSimpleStoreComponent<P, RD, St> {
26
+ store: ComponentStore<St>;
27
+ get tungsten(): AppHelpers<C, ND, G>;
28
+ }
29
+ export declare abstract class AppStatefulStoreComponent<C extends object, ND extends object, G extends object, St extends object, P extends TungstenComponentPropsBase, S extends TungstenComponentStateConstraint, RD = undefined> extends TungstenBaseStatefulStoreComponent<P, S, RD, St> {
30
+ store: ComponentStore<St>;
31
+ get tungsten(): AppHelpers<C, ND, G>;
32
+ }
33
+ type Statics<T> = Omit<T, 'prototype'>;
34
+ export type AppComponents<C extends object, ND extends object, G extends object, St extends object | undefined> = {
35
+ SimpleComponent: (abstract new <P extends TungstenComponentPropsBase = TungstenComponentPropsBase, RD = undefined>(pkg: ConstructPackage<P, RD>) => AppSimpleComponent<C, ND, G, P, RD>) & Statics<typeof AppSimpleComponent>;
36
+ StatefulComponent: (abstract new <P extends TungstenComponentPropsBase = TungstenComponentPropsBase, S extends TungstenComponentStateConstraint = TungstenComponentStateConstraint, RD = undefined>(pkg: ConstructPackage<P, RD>) => AppStatefulComponent<C, ND, G, P, S, RD>) & Statics<typeof AppStatefulComponent>;
37
+ SignalsComponent: (abstract new <P extends TungstenComponentPropsBase = TungstenComponentPropsBase, Sg extends TungstenComponentSignalsConstraint = TungstenComponentSignalsConstraint, RD = undefined>(pkg: ConstructPackage<P, RD>) => AppSignalsComponent<C, ND, G, P, Sg, RD>) & Statics<typeof AppSignalsComponent>;
38
+ } & (St extends object ? {
39
+ getStore: (instanceOrStores: Instance | TrueStore<unknown>[]) => TrueStore<St>;
40
+ SimpleStoreComponent: (abstract new <P extends TungstenComponentPropsBase = TungstenComponentPropsBase, RD = undefined>(pkg: ConstructPackage<P, RD>) => AppSimpleStoreComponent<C, ND, G, St, P, RD>) & Statics<typeof AppSimpleStoreComponent>;
41
+ StatefulStoreComponent: (abstract new <P extends TungstenComponentPropsBase = TungstenComponentPropsBase, S extends TungstenComponentStateConstraint = TungstenComponentStateConstraint, RD = undefined>(pkg: ConstructPackage<P, RD>) => AppStatefulStoreComponent<C, ND, G, St, P, S, RD>) & Statics<typeof AppStatefulStoreComponent>;
42
+ } : Record<never, never>);
43
+ type ContextArg<C> = (new (reqRes: ReqResOrNull) => C) | {
44
+ client: new () => C;
45
+ server: new (reqRes: ReqRes) => C;
46
+ };
47
+ type NetworkedDataArg<C, ND> = (new (reqRes: ReqResOrNull, context: C) => ND) & (new (reqRes: ReqResOrNull, context: C) => Serializable<NoInfer<ND>>);
48
+ type GlobalDataArg<C, ND, G> = ((reqRes: ReqResOrNull, context: C, networkedData: ND) => Promise<G>) & ((reqRes: ReqResOrNull, context: C, networkedData: ND) => Promise<Serializable<NoInfer<G>>>);
49
+ type StoreArg<C, ND, G, St> = new (reqRes: ReqResOrNull, context: C, networkedData: ND, globalData: G, matchedRouteInfo: MatchedRouteInfo) => St;
50
+ type RoutesArg<C, ND, G extends object> = RoutesWithSettings<G> | RoutesArray<G> | ((reqRes: ReqResOrNull, context: C, networkedData: ND) => RoutesWithSettings<G> | RoutesArray<G> | []);
51
+ export type AppStage<C extends object, ND extends object, G extends object, St extends object | undefined> = {
52
+ components: () => AppComponents<C, ND, G, St>;
53
+ routes: <const R extends RoutesArg<C, ND, G>>(routes: R & NoDuplicatePaths<R>) => R;
54
+ };
55
+ export type StoreStage<C extends object, ND extends object, G extends object> = AppStage<C, ND, G, undefined> & {
56
+ store: <St extends object>(schema: StoreArg<C, ND, G, St>) => AppStage<C, ND, G, St>;
57
+ };
58
+ export type GlobalDataStage<C extends object, ND extends object> = StoreStage<C, ND, object> & {
59
+ globalData: <G extends object>(getGlobalData: GlobalDataArg<C, ND, G>) => StoreStage<C, ND, G>;
60
+ };
61
+ export type NetworkedDataStage<C extends object> = GlobalDataStage<C, object> & {
62
+ networkedData: <ND extends object>(networkedData: NetworkedDataArg<C, ND>) => GlobalDataStage<C, ND>;
63
+ };
64
+ export type AppBuilder = NetworkedDataStage<object> & {
65
+ context: <C extends object>(context: ContextArg<C>) => NetworkedDataStage<C>;
66
+ };
67
+ export declare const appBuilder: AppBuilder;
68
+ export {};
69
+ //# sourceMappingURL=appBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appBuilder.d.ts","sourceRoot":"","sources":["../src/appBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
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 { TungstenBaseSimpleStoreComponent, TungstenBaseStatefulStoreComponent, TungstenSignalsComponent, TungstenSimpleComponent, TungstenStatefulComponent } from "./Components.js";
5
+ import { contextRegistration } from './context/registerContext.js';
6
+ import { globalDataFunc } from './routing/registerGlobalData.js';
7
+ import { registeredNetworkedStore, registeredRouting } from './routing/routingRegistry.js';
8
+ import { storeSchemas } from './Store/storeCreators.js';
9
+ const appHelpers = helpers => helpers; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the same values, typed by the app
10
+ // the first slot: an app built here registers one store
11
+ const storeOf = component => component.__proxyStore(component.__instance.stores[0]); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the store this chain registered
12
+ export class AppSimpleComponent extends TungstenSimpleComponent {
13
+ get tungsten() {
14
+ return appHelpers(super.tungsten);
15
+ }
16
+ }
17
+ export class AppStatefulComponent extends TungstenStatefulComponent {
18
+ get tungsten() {
19
+ return appHelpers(super.tungsten);
20
+ }
21
+ }
22
+ export class AppSignalsComponent extends TungstenSignalsComponent {
23
+ get tungsten() {
24
+ return appHelpers(super.tungsten);
25
+ }
26
+ }
27
+ export class AppSimpleStoreComponent extends TungstenBaseSimpleStoreComponent {
28
+ constructor(...args) {
29
+ super(...args);
30
+ _defineProperty(this, "store", storeOf(this));
31
+ }
32
+ get tungsten() {
33
+ return appHelpers(super.tungsten);
34
+ }
35
+ }
36
+ export class AppStatefulStoreComponent extends TungstenBaseStatefulStoreComponent {
37
+ constructor(...args) {
38
+ super(...args);
39
+ _defineProperty(this, "store", storeOf(this));
40
+ }
41
+ get tungsten() {
42
+ return appHelpers(super.tungsten);
43
+ }
44
+ }
45
+ const appComponents = {
46
+ SimpleComponent: AppSimpleComponent,
47
+ StatefulComponent: AppStatefulComponent,
48
+ SignalsComponent: AppSignalsComponent,
49
+ SimpleStoreComponent: AppSimpleStoreComponent,
50
+ StatefulStoreComponent: AppStatefulStoreComponent,
51
+ getStore: instanceOrStores => (Array.isArray(instanceOrStores) ? instanceOrStores : instanceOrStores.stores)[0]
52
+ };
53
+ function appStage() {
54
+ return {
55
+ components: () => appComponents,
56
+ // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- binds the app's types to the classes
57
+ routes: routes => {
58
+ registeredRouting.value = routes;
59
+ return routes;
60
+ }
61
+ };
62
+ }
63
+ function storeStage() {
64
+ return {
65
+ ...appStage(),
66
+ store: schema => {
67
+ storeSchemas[0] = schema; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- constructed with the branded context and data
68
+ return appStage();
69
+ }
70
+ };
71
+ }
72
+ function globalDataStage() {
73
+ return {
74
+ ...storeStage(),
75
+ globalData: getGlobalData => {
76
+ globalDataFunc.value = getGlobalData; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- called with the branded context and data
77
+ return storeStage();
78
+ }
79
+ };
80
+ }
81
+ function networkedDataStage() {
82
+ return {
83
+ ...globalDataStage(),
84
+ networkedData: networkedData => {
85
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- constructed with the branded context
86
+ registeredNetworkedStore.value = networkedData;
87
+ return globalDataStage();
88
+ }
89
+ };
90
+ }
91
+ // the entry point: `export const app = appBuilder.context(...).networkedData(...)...`
92
+ export const appBuilder = {
93
+ ...networkedDataStage(),
94
+ context: context => {
95
+ contextRegistration.value = context;
96
+ return networkedDataStage();
97
+ }
98
+ };
@@ -0,0 +1,110 @@
1
+ import type { ReqResOrNull } from './ReqRes.js';
2
+ declare class AppContext {
3
+ constructor(reqRes: ReqResOrNull);
4
+ user: {
5
+ id: number;
6
+ };
7
+ }
8
+ declare class AppNetworked {
9
+ constructor(reqRes: ReqResOrNull, context: AppContext);
10
+ userId: number;
11
+ }
12
+ declare class AppStore {
13
+ constructor(reqRes: ReqResOrNull, context: AppContext, networkedData: AppNetworked, globalData: {
14
+ theme: string;
15
+ });
16
+ userId: number;
17
+ theme: string;
18
+ count: number;
19
+ }
20
+ declare const SimpleComponent: (abstract new <P extends import("./Components.jsx").TungstenComponentPropsBase = object, RD = undefined>(pkg: import("./Components.jsx").ConstructPackage<P, RD>) => import("./appBuilder.js").AppSimpleComponent<AppContext, AppNetworked, {
21
+ theme: string;
22
+ }, P, RD>) & {
23
+ tagName?: string;
24
+ __opaque?: boolean;
25
+ displayName?: string;
26
+ }, StatefulComponent: (abstract new <P extends import("./Components.jsx").TungstenComponentPropsBase = object, S extends import("./Components.jsx").TungstenComponentStateConstraint = object, RD = undefined>(pkg: import("./Components.jsx").ConstructPackage<P, RD>) => import("./appBuilder.js").AppStatefulComponent<AppContext, AppNetworked, {
27
+ theme: string;
28
+ }, P, S, RD>) & {
29
+ tagName?: string;
30
+ __opaque?: boolean;
31
+ displayName?: string;
32
+ }, SignalsComponent: (abstract new <P extends import("./Components.jsx").TungstenComponentPropsBase = object, Sg extends import("./Components.jsx").TungstenComponentSignalsConstraint = object, RD = undefined>(pkg: import("./Components.jsx").ConstructPackage<P, RD>) => import("./appBuilder.js").AppSignalsComponent<AppContext, AppNetworked, {
33
+ theme: string;
34
+ }, P, Sg, RD>) & {
35
+ tagName?: string;
36
+ __opaque?: boolean;
37
+ displayName?: string;
38
+ }, SimpleStoreComponent: (abstract new <P extends import("./Components.jsx").TungstenComponentPropsBase = object, RD = undefined>(pkg: import("./Components.jsx").ConstructPackage<P, RD>) => import("./appBuilder.js").AppSimpleStoreComponent<AppContext, AppNetworked, {
39
+ theme: string;
40
+ }, AppStore, P, RD>) & {
41
+ tagName?: string;
42
+ __opaque?: boolean;
43
+ displayName?: string;
44
+ }, StatefulStoreComponent: (abstract new <P extends import("./Components.jsx").TungstenComponentPropsBase = object, S extends import("./Components.jsx").TungstenComponentStateConstraint = object, RD = undefined>(pkg: import("./Components.jsx").ConstructPackage<P, RD>) => import("./appBuilder.js").AppStatefulStoreComponent<AppContext, AppNetworked, {
45
+ theme: string;
46
+ }, AppStore, P, S, RD>) & {
47
+ tagName?: string;
48
+ __opaque?: boolean;
49
+ displayName?: string;
50
+ };
51
+ export declare class Page extends SimpleComponent<{
52
+ title: string;
53
+ }> {
54
+ content: () => null;
55
+ }
56
+ export declare class Counter extends StatefulComponent<object, {
57
+ n: number;
58
+ }> {
59
+ state: {
60
+ n: number;
61
+ };
62
+ content: () => null;
63
+ }
64
+ export declare class Ticker extends SignalsComponent<object, {
65
+ n: number;
66
+ }> {
67
+ signals: {
68
+ n: number;
69
+ };
70
+ content: () => null;
71
+ }
72
+ export declare class StorePage extends SimpleStoreComponent<object> {
73
+ content: () => null;
74
+ }
75
+ export declare class StoreCounter extends StatefulStoreComponent<object, {
76
+ n: number;
77
+ }> {
78
+ state: {
79
+ n: number;
80
+ };
81
+ content: () => null;
82
+ }
83
+ export declare class NopeContext extends SimpleComponent {
84
+ content: () => null;
85
+ }
86
+ export declare class NopeStore extends SimpleStoreComponent {
87
+ content: () => null;
88
+ }
89
+ export declare class NoContent extends SimpleComponent {
90
+ }
91
+ export declare class NoState extends StatefulComponent<object, {
92
+ n: number;
93
+ }> {
94
+ content: () => null;
95
+ }
96
+ export declare class NoSignals extends SignalsComponent<object, {
97
+ n: number;
98
+ }> {
99
+ content: () => null;
100
+ }
101
+ export declare class DefaultedState extends StatefulStoreComponent {
102
+ state: {};
103
+ content: () => null;
104
+ }
105
+ declare const bare: import("./appBuilder.js").AppComponents<object, object, object, undefined>;
106
+ export declare class BarePage extends bare.SimpleComponent {
107
+ content: () => null;
108
+ }
109
+ export {};
110
+ //# sourceMappingURL=appBuilder.types.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appBuilder.types.test.d.ts","sourceRoot":"","sources":["../src/appBuilder.types.test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAa/C,cAAM,UAAU;gBACA,MAAM,EAAE,YAAY;IAChC,IAAI;;MAAY;CACnB;AAED,cAAM,YAAY;gBACF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU;IAIrD,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,cAAM,QAAQ;gBAEN,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EACtE,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAMjC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,SAAI;CACZ;AASD,QAAA,MACI,eAAe;;;;;;GAAE,iBAAiB;;;;;;GAAE,gBAAgB;;;;;;GAAE,oBAAoB;;;;;;GAAE,sBAAsB;;;;;;CAClF,CAAA;AAKpB,qBAAa,IAAK,SAAQ,eAAe,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;IACxD,OAAO,aAMN;CACJ;AAED,qBAAa,OAAQ,SAAQ,iBAAiB,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IACjE,KAAK;;MAAW;IAChB,OAAO,aAIN;CACJ;AAED,qBAAa,MAAO,SAAQ,gBAAgB,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IAC/D,OAAO;;MAAW;IAClB,OAAO,aAIN;CACJ;AAED,qBAAa,SAAU,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACvD,OAAO,aAKN;CACJ;AAED,qBAAa,YAAa,SAAQ,sBAAsB,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IAC3E,KAAK;;MAAW;IAChB,OAAO,aAIN;CACJ;AAGD,qBAAa,WAAY,SAAQ,eAAe;IAC5C,OAAO,aAIN;CACJ;AACD,qBAAa,SAAU,SAAQ,oBAAoB;IAC/C,OAAO,aAIN;CACJ;AAED,qBAAa,SAAU,SAAQ,eAAe;CAAG;AAEjD,qBAAa,OAAQ,SAAQ,iBAAiB,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IAAG,OAAO,aAAa;CAAE;AAE9F,qBAAa,SAAU,SAAQ,gBAAgB,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IAAG,OAAO,aAAa;CAAE;AAM/F,qBAAa,cAAe,SAAQ,sBAAsB;IACtD,KAAK,KAAK;IACV,OAAO,aAAa;CACvB;AAsCD,QAAA,MAAM,IAAI,4EAA0B,CAAA;AACpC,qBAAa,QAAS,SAAQ,IAAI,CAAC,eAAe;IAC9C,OAAO,aAIN;CACJ"}