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,18 @@
1
+ import type { AnyComponent } from '../AnyComponent.js';
2
+ import type { Instance } from '../Instance/Instance.js';
3
+ import type { ContentNode } from '../ContentNode.js';
4
+ /**
5
+ * The tree as it renders: every component in it constructed and asked for its content, down to
6
+ * html and text. host({ resolve: true }) hands this back, where host() alone hands back what the
7
+ * hosted component itself returned, its child components still unexpanded.
8
+ *
9
+ * render/contentTreeToRenderingTree does this for the app, but a rendering tree drops a component's
10
+ * props, keeping only its rendered children. Here a component node stays as written - its type, key
11
+ * and props - with what it rendered in place of the children it was passed, so a test can read it
12
+ * by name and by prop as well as by what it put on the page.
13
+ */
14
+ export declare function resolveContent(content: ContentNode, parentComponent: AnyComponent | null, instance: Instance, constructed?: Constructed): Promise<ContentNode>;
15
+ /** On a component node resolveContent resolved: the children it was passed, its own now output */
16
+ export declare const $passedChildren: unique symbol;
17
+ export type Constructed = (component: object) => void;
18
+ //# sourceMappingURL=resolveContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveContent.d.ts","sourceRoot":"","sources":["../../src/testing/resolveContent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAA4C,MAAM,mBAAmB,CAAA;AAa9F;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAChC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAG9E,WAAW,CAAC,EAAE,WAAW,GAC1B,OAAO,CAAC,WAAW,CAAC,CAqBtB;AAED,kGAAkG;AAClG,eAAO,MAAM,eAAe,eAA2B,CAAA;AAEvD,MAAM,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA"}
@@ -0,0 +1,73 @@
1
+ import { ContentNodeComponentIsClassComponent, ContentNodeElementIsComponent, ContentNodeIsArray, ContentNodeIsElement, ContentNodeIsLiteral } from '../ContentNode.js';
2
+ import { $props, $type } from '../contentNodeSymbols.js';
3
+ import { clearCurrentComponent } from '../hooks/clearCurrentComponent.js';
4
+ import { setCurrentComponent } from '../hooks/setCurrentComponent.js';
5
+ import { getStyledContentFromFunctionComponent } from '../getStyledContentFromFunctionComponent.js';
6
+ import { instantiateClassComponent } from '../render/instantiateClassComponent.js';
7
+ import { instantiateFunctionComponent } from '../render/instantiateFunctionComponent.js';
8
+ /**
9
+ * The tree as it renders: every component in it constructed and asked for its content, down to
10
+ * html and text. host({ resolve: true }) hands this back, where host() alone hands back what the
11
+ * hosted component itself returned, its child components still unexpanded.
12
+ *
13
+ * render/contentTreeToRenderingTree does this for the app, but a rendering tree drops a component's
14
+ * props, keeping only its rendered children. Here a component node stays as written - its type, key
15
+ * and props - with what it rendered in place of the children it was passed, so a test can read it
16
+ * by name and by prop as well as by what it put on the page.
17
+ */
18
+ export async function resolveContent(content, parentComponent, instance,
19
+ // each component once built, before its content is asked for: host() guards a partial store on
20
+ // it, as it does the one it hosts. Its init has already run, so a key read there is not covered
21
+ constructed) {
22
+ if (ContentNodeIsArray(content)) {
23
+ const nodes = [];
24
+ // in order: a component's init may read what an earlier one wrote
25
+ for (const node of content) {
26
+ nodes.push(await resolveContent(node, parentComponent, instance, constructed));
27
+ }
28
+ return nodes;
29
+ }
30
+ if (ContentNodeIsLiteral(content) || !ContentNodeIsElement(content)) return content;
31
+ // an element or fragment: its children as they render. A component's children are its output
32
+ if (!ContentNodeElementIsComponent(content)) {
33
+ return withChildren(content, await resolveContent(content[$props].children, parentComponent, instance, constructed));
34
+ }
35
+ const output = await rendered(content, parentComponent, instance, constructed);
36
+ const resolved = withChildren(content, output);
37
+ // non-enumerable, so a resolved node still deep-equals one written by hand
38
+ Object.defineProperty(resolved, $passedChildren, {
39
+ value: content[$props].children
40
+ });
41
+ return resolved;
42
+ }
43
+ /** On a component node resolveContent resolved: the children it was passed, its own now output */
44
+ export const $passedChildren = Symbol('passedChildren');
45
+ // what the component put on the page, resolved in its turn.
46
+ // As render/componentNodeToRenderingTree: a component the app renders on the client alone never
47
+ // runs its content here, so its placeholder stands for it
48
+ async function rendered(node, parentComponent, instance, constructed) {
49
+ const render = node[$type].render;
50
+ if (render !== undefined) {
51
+ const placeholder = typeof render === 'object' && 'placeholder' in render ? render.placeholder : null;
52
+ return resolveContent(placeholder, parentComponent, instance, constructed);
53
+ }
54
+ // parentComponent, not the component itself: the parent the framework's own render path passes
55
+ if (ContentNodeComponentIsClassComponent(node)) {
56
+ const component = await instantiateClassComponent(node, parentComponent, instance);
57
+ constructed?.(component);
58
+ return resolveContent(await component.__styledContent(), parentComponent, instance, constructed);
59
+ }
60
+ const standIn = instantiateFunctionComponent(node, parentComponent, instance);
61
+ setCurrentComponent(standIn);
62
+ const content = await getStyledContentFromFunctionComponent(standIn);
63
+ clearCurrentComponent();
64
+ return resolveContent(content, parentComponent, instance, constructed);
65
+ }
66
+ // the node as written, with the content it holds replaced
67
+ const withChildren = (node, children) => ({
68
+ ...node,
69
+ [$props]: {
70
+ ...node[$props],
71
+ children
72
+ }
73
+ });
@@ -3,11 +3,13 @@ import type { Instance } from '../Instance/Instance.js';
3
3
  import type { InstanceConfig } from '../Instance/InstanceConfig.js';
4
4
  import type { PartialInternalStoreSchema } from '../Store/InternalStoreSchema.js';
5
5
  import type { GlobalData } from '../routing/registerGlobalData.js';
6
- import { $trueStoreValue, type TrueStore } from '../Store/makeStore.js';
6
+ import { type TrueStore, $trueStoreValue } from '../Store/makeStore.js';
7
7
  export type TestingComponentPackageOptions = {
8
8
  store?: Partial<TrueStore<any>>;
9
9
  routes?: object;
10
10
  globalData?: GlobalData;
11
+ context?: object;
12
+ networkedData?: object;
11
13
  internalStore?: PartialInternalStoreSchema;
12
14
  config?: Partial<InstanceConfig>;
13
15
  trackWork?: Instance['trackWork'];
@@ -1 +1 @@
1
- {"version":3,"file":"testingComponentPackage.d.ts","sourceRoot":"","sources":["../../src/testing/testingComponentPackage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAuB,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AACtG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAGlE,OAAO,EACH,eAAe,EAAc,KAAK,SAAS,EAC9C,MAAM,uBAAuB,CAAA;AAI9B,MAAM,MAAM,8BAA8B,GAAG;IAIzC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAG/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,UAAU,CAAA;IAMvB,aAAa,CAAC,EAAE,0BAA0B,CAAA;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAGhC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IAIjC,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAGrC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAG/B,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;CAClC,CAAA;AAYD,eAAO,MAAM,iBAAiB,GAAI,KAAK,EAAE,KAAK,MAAM;;eAEvC,KAAK;;;;gBAIJ,KAAK;aACN,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,EAAE;iBAC3F,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,EAAE;;CAErE,CAAA;AAoC3C,eAAO,MAAM,uBAAuB,GAAI,KAAK,SAAS,MAAM,EACxD,OAAO,KAAK,EACZ,UAAS,8BAAmC,KAC7C,gBAAgB,CAAC,KAAK,EAAE,SAAS,CA6ClC,CAAA"}
1
+ {"version":3,"file":"testingComponentPackage.d.ts","sourceRoot":"","sources":["../../src/testing/testingComponentPackage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EACa,0BAA0B,EAClD,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAIlE,OAAO,EACH,KAAK,SAAS,EACd,eAAe,EAClB,MAAM,uBAAuB,CAAA;AAK9B,MAAM,MAAM,8BAA8B,GAAG;IAIzC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAG/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IAMtB,aAAa,CAAC,EAAE,0BAA0B,CAAA;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAGhC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IAIjC,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAGrC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAG/B,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;CAClC,CAAA;AAYD,eAAO,MAAM,iBAAiB,GAAI,KAAK,EAAE,KAAK,MAAM;;eAEvC,KAAK;;;;gBAIJ,KAAK;aACN,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,EAAE;iBAC3F,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,EAAE;;CAErE,CAAA;AAoC3C,eAAO,MAAM,uBAAuB,GAAI,KAAK,SAAS,MAAM,EACxD,OAAO,KAAK,EACZ,UAAS,8BAAmC,KAC7C,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAyDlC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { $trueStoreValue, StoreValue } from '../Store/makeStore.js';
2
2
  import { routeKeyToUrl } from '../routing/routeUrl.js';
3
+ import { storeSchemas } from '../Store/storeCreators.js';
3
4
  const missing = key => {
4
5
  throw new Error(`testingComponentPackage: no ${key} supplied. Pass one in the options if the value is part` + ` of the test, or use createTestApp() for a component that needs a real app.`);
5
6
  };
@@ -51,14 +52,23 @@ export const testingComponentPackage = (props, options = {}) => ({
51
52
  // the rest.
52
53
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
53
54
  instance: {
55
+ // the one store stands in every slot, whichever registerStore() gave the component
56
+ stores: Array.from({
57
+ length: Math.max(storeSchemas.length, 1)
58
+ },
54
59
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- partial by design: host() names the keys left out
55
- stores: [options.store ?? {}],
60
+ () => options.store ?? {}),
56
61
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the mock supplies store keys, not the store machinery behind them
57
62
  internalStore: internalStore(options.internalStore),
58
63
  // Route passthrough: tests supply loosely-typed route maps, narrowed
59
64
  // to Routes here (assertion confined to this boundary).
60
65
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
61
66
  getRoutes: () => options.routes ?? {},
67
+ // what this.tungsten.routes reads
68
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
69
+ get routes() {
70
+ return options.routes ?? {};
71
+ },
62
72
  // the instance's own copies of what the store holds - one source, as
63
73
  // updateLocation() keeps them in the real thing
64
74
  get location() {
@@ -68,6 +78,11 @@ export const testingComponentPackage = (props, options = {}) => ({
68
78
  return options.internalStore?.matchedRouteInfo ?? missing('internalStore.matchedRouteInfo');
69
79
  },
70
80
  globalData: options.globalData ?? {},
81
+ // the framework brands what it builds, and here the test built it
82
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
83
+ context: options.context ?? {},
84
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
85
+ networkedData: options.networkedData ?? {},
71
86
  config: {
72
87
  ...defaultConfig,
73
88
  ...options.config
@@ -1 +1 @@
1
- {"version":3,"file":"integrateUpdateVdom.d.ts","sourceRoot":"","sources":["../../src/update/integrateUpdateVdom.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAUH,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAK/B,MAAM,mBAAmB,CAAA;AAI1B,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAGhE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAkBH,KAAK,mBAAmB,EAGxB,KAAK,4BAA4B,EAKpC,MAAM,2BAA2B,CAAA;AAkFlC,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAC5C,wBAAwB,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,KAAK,GAAG,CAAA;IACpE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB,CAAA;AAYD,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,GAC/C,OAAO,CAAC,YAAY,CAAC,CA4HvB;AAiCD,MAAM,MAAM,eAAe,GAAG;IAC1B,eAAe,EAAE,YAAY,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAAA;IAC3C,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,WAAW,CAAA;CAC1B,CAAA;AAGD,wBAAsB,WAAW,CAC7B,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,eAAe,GACnG,OAAO,CAAC,mBAAmB,CAAC,CA8V/B;AA2JD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,mBAAmB,QAuC5E;AA6DD,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,QA8J7E;AA6WD,KAAK,2BAA2B,GAAG;IAC/B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,uBAAuB,CAAC;IAE9B,UAAU,EAAE,UAAU,CAAA;CACzB,CAAA;AACD,wBAAsB,uBAAuB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,2BAA2B,GAC3G,OAAO,CAAC,4BAA4B,CAAC,CAU1C;AAED,MAAM,MAAM,mBAAmB,CAC3B,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,IACzD;IACA,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;IACtC,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,wBAAsB,2BAA2B,CAC7C,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,EAEzD,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC/C,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,WAAW,GACvB,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAqD7C;AAED,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAC/D,IAAI,CAON;AA6RD,wBAAsB,wBAAwB,CAC1C,UAAU,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC5E,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAiC3C;AAED,wBAAsB,qBAAqB,CACvC,UAAU,EAAE,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC1F,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAyCjD"}
1
+ {"version":3,"file":"integrateUpdateVdom.d.ts","sourceRoot":"","sources":["../../src/update/integrateUpdateVdom.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { setCurrentComponent } from 'tungsten/hooks/setCurrentComponent.js';
2
- import { clearCurrentComponent } from 'tungsten/hooks/clearCurrentComponent.js';
1
+ import { setCurrentComponent } from '../hooks/setCurrentComponent.js';
2
+ import { clearCurrentComponent } from '../hooks/clearCurrentComponent.js';
3
3
  import { IsHTMLElement } from '../DomNodes.js';
4
4
  import { DomRegion } from '../DomRegion.js';
5
5
  import { DomPointer } from '../DomPointer.js';
@@ -10,6 +10,7 @@ import { out, warn } from '../appOutput.js';
10
10
  import { getStyledContentFromFunctionComponent } from '../getStyledContentFromFunctionComponent.js';
11
11
  import { FunctionElement } from '../FunctionComponentStandIn.js';
12
12
  import { jssToCss } from '../style/jssToCss.js';
13
+ import { versionAttributes } from '../fileVersions.js';
13
14
  import { htmlEventHandlerKey } from '../htmlEventHandlerKey.js';
14
15
  import { $contentNull } from '../symbols.js';
15
16
  import { throwError } from '../throwError.js';
@@ -717,13 +718,14 @@ export function processHtmlNode(node, parentNode) {
717
718
  //// we have event handler code here as well as in addAttributes -- should this be moved to updateAttributes??
718
719
  if (node[$type] in bindableHtmlElementsString) {
719
720
  debug('binding');
720
- const [bindObject, bindKey] = props.bind;
721
- props.value = bindObject[bindKey] ?? ''; // nullish coalesce to avoid putting undef/null into elements
721
+ const [bindObject, bindKey] = props.bind; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
722
+ // nullish coalesce to avoid putting undef/null into elements
723
+ props.value = bindObject[bindKey] ?? ''; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
722
724
  let handler;
723
- if ('filter' in props) {
724
- const filterFunc = props.filter;
725
+ if ('convert' in props) {
726
+ const convertFunc = props.convert;
725
727
  handler = async event => {
726
- bindObject[bindKey] = await filterFunc(event.target.value, event);
728
+ bindObject[bindKey] = await convertFunc(event.target.value, event);
727
729
  };
728
730
  } else {
729
731
  handler = event => {
@@ -741,16 +743,17 @@ export function processHtmlNode(node, parentNode) {
741
743
  // should we be saving the handler like we do in hydrate?
742
744
  //props[eventName] = handler
743
745
  delete props.bind;
744
- delete props.filter;
746
+ delete props.convert;
745
747
  } else if (node[$type] in bindableHtmlElementsNumber) {
746
748
  debug('binding');
747
- const [bindObject, bindKey] = props.bind;
748
- props.value = bindObject[bindKey] ?? ''; // nullish coalesce to avoid putting undef/null into elements
749
+ const [bindObject, bindKey] = props.bind; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
750
+ // nullish coalesce to avoid putting undef/null into elements
751
+ props.value = bindObject[bindKey] ?? ''; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
749
752
  let handler;
750
- if ('filter' in props) {
751
- const filterFunc = props.filter;
753
+ if ('convert' in props) {
754
+ const convertFunc = props.convert;
752
755
  handler = async event => {
753
- bindObject[bindKey] = await filterFunc(event.target.value, event);
756
+ bindObject[bindKey] = await convertFunc(event.target.value, event);
754
757
  };
755
758
  } else {
756
759
  handler = event => {
@@ -767,19 +770,19 @@ export function processHtmlNode(node, parentNode) {
767
770
  }
768
771
  //props[eventName] = handler
769
772
  delete props.bind;
770
- delete props.filter;
773
+ delete props.convert;
771
774
  }
772
775
  }
773
776
  if (props.bindChecked !== undefined) {
774
777
  const eventName = 'onChange';
775
778
  debug('bindChecked');
776
- const [bindObject, bindKey] = props.bindChecked;
779
+ const [bindObject, bindKey] = props.bindChecked; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
777
780
  props.checked = checkedValueToBoolean(bindObject[bindKey]);
778
781
  let handler;
779
- if ('filterChecked' in props) {
780
- const filterFunc = props.filterChecked;
782
+ if ('convertChecked' in props) {
783
+ const convertFunc = props.convertChecked;
781
784
  handler = async event => {
782
- bindObject[bindKey] = await filterFunc(event.target.checked, event);
785
+ bindObject[bindKey] = await convertFunc(event.target.checked, event);
783
786
  };
784
787
  } else {
785
788
  handler = event => {
@@ -795,12 +798,12 @@ export function processHtmlNode(node, parentNode) {
795
798
  props[eventName] = handler;
796
799
  }
797
800
  delete props.bindChecked;
798
- delete props.filterChecked;
801
+ delete props.convertChecked;
799
802
  }
800
803
  if (props.bindRadio !== undefined) {
801
804
  const eventName = 'onChange';
802
805
  debug('bindRadio');
803
- const [bindObject, bindKey] = props.bindRadio;
806
+ const [bindObject, bindKey] = props.bindRadio; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
804
807
  props.checked = bindObject[bindKey] === props.value;
805
808
  const handler = event => {
806
809
  //console.log('bound radio changed 3', (event.target as HTMLCheckedBindableElement).value)
@@ -922,7 +925,7 @@ function removeAttribute(htmlElement, attr) {
922
925
  }
923
926
  function addAttributes(tungstenElement, instance, node, domNode) {
924
927
  //console.log('-addAttributes', node)
925
- const attributes = processAttributes(node);
928
+ const attributes = versionAttributes(processAttributes(node), instance);
926
929
  debug('attributes', attributes);
927
930
  for (const key in attributes) {
928
931
  //console.log('attr', key)
@@ -965,7 +968,7 @@ function updateAttributes(tungstenElement, instance, node, oldNode, domNodeHTMLE
965
968
  const domNode = domNodeHTMLElement;
966
969
  //console.log('-updateAttributes', node)
967
970
  debug('-updateAttributes', node);
968
- const newAttributes = processAttributes(node);
971
+ const newAttributes = versionAttributes(processAttributes(node), instance);
969
972
  // are re-process the old node attribs here to we can see what we applied last time.
970
973
  // would be better to save this and then grab it later
971
974
  //const oldAttributes = processAttributes(oldNode)
@@ -1064,10 +1067,10 @@ function processAttributes(node) {
1064
1067
  // this will overwrite any other onChange
1065
1068
  if (node[$type] in bindableHtmlElementsString) {
1066
1069
  let handler;
1067
- if ('filter' in attributes) {
1068
- const filterFunc = attributes.filter;
1070
+ if ('convert' in attributes) {
1071
+ const convertFunc = attributes.convert;
1069
1072
  handler = async event => {
1070
- bind[0][bind[1]] = await filterFunc(event.target.value, event);
1073
+ bind[0][bind[1]] = await convertFunc(event.target.value, event);
1071
1074
  };
1072
1075
  } else {
1073
1076
  handler = event => {
@@ -1077,10 +1080,10 @@ function processAttributes(node) {
1077
1080
  attributes.onChange = handler;
1078
1081
  } else if (node[$type] in bindableHtmlElementsNumber) {
1079
1082
  let handler;
1080
- if ('filter' in attributes) {
1081
- const filterFunc = attributes.filter;
1083
+ if ('convert' in attributes) {
1084
+ const convertFunc = attributes.convert;
1082
1085
  handler = async event => {
1083
- bind[0][bind[1]] = await filterFunc(event.target.value, event);
1086
+ bind[0][bind[1]] = await convertFunc(event.target.value, event);
1084
1087
  };
1085
1088
  } else {
1086
1089
  handler = event => {
@@ -1090,7 +1093,7 @@ function processAttributes(node) {
1090
1093
  attributes.onChange = handler;
1091
1094
  }
1092
1095
  delete attributes.bind;
1093
- delete attributes.filter;
1096
+ delete attributes.convert;
1094
1097
  }
1095
1098
  if (attributes.children !== undefined) {
1096
1099
  delete attributes.children;
@@ -1448,7 +1451,7 @@ export async function hotSwapFunctionComponent(oldElement, NewType) {
1448
1451
  standIn.__domRegion = new DomRegion(parent, domStartIndex, domPointer.index - domStartIndex);
1449
1452
  standIn.__currentContent = renderedContent;
1450
1453
  wrapper.element = standIn;
1451
- wrapper[$props] = standIn.props;
1454
+ wrapper[$props] = standIn.props; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
1452
1455
  standIn.__renderedNode = wrapper;
1453
1456
  return standIn;
1454
1457
  }
@@ -1464,6 +1467,7 @@ export async function hotSwapClassComponent(oldElement, NewType) {
1464
1467
  if (wrapper === undefined) return null;
1465
1468
  const newElement = new NewType({
1466
1469
  props: oldElement.props,
1470
+ // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
1467
1471
  routeParams: oldElement.routeParams,
1468
1472
  routeData: oldElement.routeData,
1469
1473
  instance: oldElement.__instance,
@@ -1491,7 +1495,7 @@ export async function hotSwapClassComponent(oldElement, NewType) {
1491
1495
  newElement.__currentContent = renderedContent;
1492
1496
  queueMount(() => newElement.__didMount());
1493
1497
  wrapper.element = newElement;
1494
- wrapper[$props] = newElement.props;
1498
+ wrapper[$props] = newElement.props; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
1495
1499
  newElement.__renderedNode = wrapper;
1496
1500
  return newElement;
1497
1501
  }
@@ -9,7 +9,7 @@ export {};
9
9
  // import type { BindVariable } from '../components/bindable/BindVariable.js'
10
10
  // //import type { BindFilterFunction } from '../BindFilterFunction.js'
11
11
  // import type {
12
- // FilterCheckedFunc, FilterFuncNumber, FilterFuncString, HTMLBindableElementNumber,
12
+ // ConvertCheckedFunc, ConvertFuncNumber, ConvertFuncString, HTMLBindableElementNumber,
13
13
  // HTMLBindableElementString, HTMLCheckedBindableElement
14
14
  // } from '../../types/jsx/html.js'
15
15
  // import { IsHTMLElement } from '../DomNodes.js'
@@ -861,10 +861,10 @@ export {};
861
861
  // const [bindObject, bindKey] = (props.bind as BindVariable<any>)
862
862
  // props.value = bindObject[bindKey] ?? '' // nullish coalesce to avoid putting undef/null into elements
863
863
  // let handler: (event: ExtendedChangeEvent<any>) => void | Promise<void>
864
- // if ('filter' in props) {
865
- // const filterFunc = props.filter as FilterFuncString<any, any>
864
+ // if ('convert' in props) {
865
+ // const convertFunc = props.convert as ConvertFuncString<any, any>
866
866
  // handler = async (event: ExtendedChangeEvent<any>) => {
867
- // bindObject[bindKey] = await filterFunc((event.target as Element).value, event)
867
+ // bindObject[bindKey] = await convertFunc((event.target as Element).value, event)
868
868
  // }
869
869
  // } else {
870
870
  // handler = (event: ExtendedChangeEvent<any>) => {
@@ -882,17 +882,17 @@ export {};
882
882
  // // should we be saving the handler like we do in hydrate?
883
883
  // //props[eventName] = handler
884
884
  // delete props.bind
885
- // delete props.filter
885
+ // delete props.convert
886
886
  // } else if (node[$type] in bindableHtmlElementsNumber) {
887
887
  // type Element = HTMLBindableElementNumber
888
888
  // debug('binding')
889
889
  // const [bindObject, bindKey] = (props.bind as BindVariable<any>)
890
890
  // props.value = bindObject[bindKey] ?? '' // nullish coalesce to avoid putting undef/null into elements
891
891
  // let handler: (event: ExtendedChangeEvent<any>) => void | Promise<void>
892
- // if ('filter' in props) {
893
- // const filterFunc = props.filter as FilterFuncNumber<any, any>
892
+ // if ('convert' in props) {
893
+ // const convertFunc = props.convert as ConvertFuncNumber<any, any>
894
894
  // handler = async (event: ExtendedChangeEvent<any>) => {
895
- // bindObject[bindKey] = await filterFunc((event.target as Element).value, event)
895
+ // bindObject[bindKey] = await convertFunc((event.target as Element).value, event)
896
896
  // }
897
897
  // } else {
898
898
  // handler = (event: ExtendedChangeEvent<any>) => {
@@ -909,7 +909,7 @@ export {};
909
909
  // }
910
910
  // //props[eventName] = handler
911
911
  // delete props.bind
912
- // delete props.filter
912
+ // delete props.convert
913
913
  // }
914
914
  // }
915
915
  // if (props.bindChecked !== undefined) {
@@ -918,10 +918,10 @@ export {};
918
918
  // const [bindObject, bindKey] = (props.bindChecked as BindVariable<any>)
919
919
  // props.checked = checkedValueToBoolean(bindObject[bindKey])
920
920
  // let handler: (event: ExtendedChangeEvent<any>) => void | Promise<void>
921
- // if ('filterChecked' in props) {
922
- // const filterFunc = props.filterChecked as FilterCheckedFunc<any, any>
921
+ // if ('convertChecked' in props) {
922
+ // const convertFunc = props.convertChecked as ConvertCheckedFunc<any, any>
923
923
  // handler = async (event: ExtendedChangeEvent<any>) => {
924
- // bindObject[bindKey] = await filterFunc((event.target as HTMLCheckedBindableElement).checked, event)
924
+ // bindObject[bindKey] = await convertFunc((event.target as HTMLCheckedBindableElement).checked, event)
925
925
  // }
926
926
  // } else {
927
927
  // handler = (event: ExtendedChangeEvent<any>) => {
@@ -937,7 +937,7 @@ export {};
937
937
  // props[eventName] = handler
938
938
  // }
939
939
  // delete props.bindChecked
940
- // delete props.filterChecked
940
+ // delete props.convertChecked
941
941
  // }
942
942
  // if (props.bindRadio !== undefined) {
943
943
  // const eventName = 'onChange'
@@ -1207,10 +1207,10 @@ export {};
1207
1207
  // if (node[$type] in bindableHtmlElementsString) {
1208
1208
  // type Element = HTMLBindableElementString
1209
1209
  // let handler
1210
- // if ('filter' in attributes) {
1211
- // const filterFunc = attributes.filter as FilterFuncString<any, any>
1210
+ // if ('convert' in attributes) {
1211
+ // const convertFunc = attributes.convert as ConvertFuncString<any, any>
1212
1212
  // handler = async (event: Event) => {
1213
- // bind[0][bind[1]] = await filterFunc((event.target as Element).value, event)
1213
+ // bind[0][bind[1]] = await convertFunc((event.target as Element).value, event)
1214
1214
  // }
1215
1215
  // } else {
1216
1216
  // handler = (event: Event) => {
@@ -1221,10 +1221,10 @@ export {};
1221
1221
  // } else if (node[$type] in bindableHtmlElementsNumber) {
1222
1222
  // type Element = HTMLBindableElementNumber
1223
1223
  // let handler
1224
- // if ('filter' in attributes) {
1225
- // const filterFunc = attributes.filter as FilterFuncNumber<any, any>
1224
+ // if ('convert' in attributes) {
1225
+ // const convertFunc = attributes.convert as ConvertFuncNumber<any, any>
1226
1226
  // handler = async (event: Event) => {
1227
- // bind[0][bind[1]] = await filterFunc((event.target as Element).value, event)
1227
+ // bind[0][bind[1]] = await convertFunc((event.target as Element).value, event)
1228
1228
  // }
1229
1229
  // } else {
1230
1230
  // handler = (event: Event) => {
@@ -1234,7 +1234,7 @@ export {};
1234
1234
  // attributes.onChange = handler
1235
1235
  // }
1236
1236
  // delete attributes.bind
1237
- // delete attributes.filter
1237
+ // delete attributes.convert
1238
1238
  // }
1239
1239
  // if (attributes.children !== undefined) {
1240
1240
  // delete attributes.children
@@ -1 +1 @@
1
- {"version":3,"file":"validChildren.d.ts","sourceRoot":"","sources":["../src/validChildren.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACpG,OAAO,EAA2B,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAG5G,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,IAAI,mBAAmB,CAGpF;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,qBAAqB,CAEjG"}
1
+ {"version":3,"file":"validChildren.d.ts","sourceRoot":"","sources":["../src/validChildren.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACpG,OAAO,EACH,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAEjD,MAAM,oBAAoB,CAAA;AAG3B,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,IAAI,mBAAmB,CAGpF;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,qBAAqB,CAEjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/zones/react.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAI/E,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAC3C,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAC7B,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAA;AAEvC,KAAK,aAAa,GAAG;IACjB,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,OAAO,IAAI,IAAI,CAAA;CAClB,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;AAE7F,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE;QACH,SAAS,EAAE,GAAG,CAAA;QACd,aAAa,EAAE,kBAAkB,CAAA;KACpC,CAAA;IACD,MAAM,EAAE;QACJ,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAA;QACxC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,aAAa,CAAA;KAC/D,CAAA;IACD,MAAM,EAAE;QACJ,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;KAC5C,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI;IAC/C,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,gBAAgB,CAAA;CAC5B,CAAA;AAED,qBAAa,SAAS,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/F,OAAO,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAyC;IACpF,SAAS,EAAE,aAAa,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAClD,aAAa,EAAE,OAAO,GAAG,SAAS,CAAA;IAClC,SAAS,UAAQ;IAEjB,OAAO,QAAa,OAAO,CAAC,WAAW,CAAC,CAsBvC;IAED,iBAAiB,QAAO,IAAI,CAG3B;IAED,kBAAkB,QAAO,IAAI,CAE5B;IAED,oBAAoB,QAAO,IAAI,CAM9B;IAED,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,WAAW;CAOtB"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/zones/react.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAI/E,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAC3C,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAC7B,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAA;AAEvC,KAAK,aAAa,GAAG;IACjB,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,OAAO,IAAI,IAAI,CAAA;CAClB,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;AAS7F,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE;QACH,SAAS,EAAE,GAAG,CAAA;QACd,aAAa,EAAE,kBAAkB,CAAA;KACpC,CAAA;IACD,MAAM,EAAE;QACJ,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAA;QACxC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,aAAa,CAAA;KAC/D,CAAA;IACD,MAAM,EAAE;QACJ,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;KAC5C,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI;IAC/C,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,gBAAgB,CAAA;CAC5B,CAAA;AAED,qBAAa,SAAS,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/F,OAAO,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAyC;IACpF,SAAS,EAAE,aAAa,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAClD,aAAa,EAAE,OAAO,GAAG,SAAS,CAAA;IAClC,SAAS,UAAQ;IAEjB,OAAO,QAAa,OAAO,CAAC,WAAW,CAAC,CAsBvC;IAED,iBAAiB,QAAO,IAAI,CAG3B;IAED,kBAAkB,QAAO,IAAI,CAE5B;IAED,oBAAoB,QAAO,IAAI,CAM9B;IAED,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,WAAW;CAOtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tungsten",
3
- "version": "0.6.3",
3
+ "version": "0.7.1",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "bin": {
@@ -13,6 +13,7 @@
13
13
  "./library": "./dist/components/library/index.js",
14
14
  "./react-zone": "./dist/zones/react.js",
15
15
  "./testing": "./dist/testing/index.js",
16
+ "./testing/pipeline": "./dist/testing/pipeline/index.js",
16
17
  "./jsx-runtime": "./dist/jsx-runtime.js",
17
18
  "./*": "./dist/*",
18
19
  "./types/*": "./types/*"
@@ -31,13 +32,13 @@
31
32
  "node": ">=24"
32
33
  },
33
34
  "dependencies": {
34
- "@babel/core": "^7.29.0",
35
- "@babel/parser": "^7.29.2",
35
+ "@babel/core": "^7.29.7",
36
+ "@babel/parser": "^7.29.9",
36
37
  "@babel/plugin-syntax-import-assertions": "^7.29.7",
37
38
  "@babel/preset-env": "^7.29.7",
38
- "@babel/preset-react": "^7.28.5",
39
+ "@babel/preset-react": "^7.29.7",
39
40
  "@babel/preset-typescript": "^7.29.7",
40
- "@babel/types": "^7.29.0",
41
+ "@babel/types": "^7.29.8",
41
42
  "@jridgewell/trace-mapping": "^0.3.31",
42
43
  "@rollup/plugin-babel": "^6.1.0",
43
44
  "@rollup/plugin-commonjs": "^28.0.9",
@@ -51,33 +52,36 @@
51
52
  "chalk-extensions": "^2.0.24",
52
53
  "chokidar": "^3.6.0",
53
54
  "cjs-module-lexer": "^1.4.3",
55
+ "css-select": "^7.0.0",
54
56
  "csstype": "^3.2.3",
57
+ "deep-eql": "^4.1.4",
55
58
  "dotenv": "^16.6.1",
56
59
  "express": "^5.2.1",
57
60
  "import-meta-resolve": "^4.2.0",
58
61
  "open": "^8.4.2",
59
- "postcss": "^8.5.24",
60
- "precinct": "^12.2.0",
62
+ "postcss": "^8.5.28",
63
+ "precinct": "^12.3.2",
61
64
  "require-resolve-hook": "^1.1.0",
62
- "rollup": "^4.63.1",
65
+ "rollup": "^4.63.3",
63
66
  "rollup-plugin-gzip": "^3.1.2",
64
- "sass": "^1.102.0",
67
+ "sass": "^1.104.1",
65
68
  "serialize-javascript": "^6.0.2",
66
69
  "sxy-lib": "^3.0.7",
67
70
  "sxy-lib-object-copy": "^2.0.5",
68
71
  "sxy-package-investigator": "^1.0.0",
69
72
  "sxy-types": "^1.0.23",
70
- "valibot": "^1.4.2"
73
+ "valibot": "^1.5.0"
71
74
  },
72
75
  "devDependencies": {
73
76
  "@babel/cli": "^7.29.7",
74
- "@babel/generator": "^7.29.1",
77
+ "@babel/generator": "^7.29.8",
75
78
  "@eslint/js": "^10.0.1",
76
79
  "@stylistic/eslint-plugin": "^5.10.0",
77
80
  "@types/babel-types": "^7.0.16",
78
81
  "@types/babel__generator": "^7.27.0",
79
82
  "@types/chai": "^4.3.20",
80
- "@types/node": "^24.1.0",
83
+ "@types/deep-eql": "^4.0.2",
84
+ "@types/node": "^24.13.6",
81
85
  "@types/react": "19.1.9",
82
86
  "@types/react-dom": "19.1.7",
83
87
  "@types/serialize-javascript": "^5.0.4",
@@ -86,15 +90,15 @@
86
90
  "babel-plugin-transform-import-extension": "^1.0.3",
87
91
  "chai": "^4.5.0",
88
92
  "cross-env": "^7.0.3",
89
- "eslint": "^10.10.0",
90
- "eslint-plugin-imports-regulation": "^0.2.11",
93
+ "eslint": "^10.11.0",
94
+ "eslint-plugin-imports-regulation": "^0.2.16",
91
95
  "eslint-plugin-start-end-lines": "^0.1.0",
92
96
  "eslint-plugin-unused-imports": "^4.4.1",
93
- "happy-dom": "^20.11.1",
97
+ "happy-dom": "^20.14.5",
94
98
  "npm-run-all": "^4.1.5",
95
99
  "rimraf": "^5.0.10",
96
100
  "rollup-plugin-visualizer": "^5.14.0",
97
- "sxy-test-runner": "^2.4.17",
101
+ "sxy-test-runner": "^2.5.1",
98
102
  "typescript": "^6.0.3",
99
103
  "typescript-eslint": "^8.70.0"
100
104
  },
@@ -118,18 +122,18 @@
118
122
  },
119
123
  "scripts": {
120
124
  "__build": "pnpm clean && pnpm build-prep && pnpm build-watch",
121
- "build": "run-s -c clean build-prep build-watch",
125
+ "build-old": "run-s -c clean build-prep build-watch",
126
+ "build": "rimraf dist && tscmon --on-first-success \"pnpm build-babel\"",
122
127
  "clean": "rimraf intermed dist",
123
128
  "build-prep": "pnpm build-ts-once",
124
129
  "build-watch": "run-p build-ts build-babel",
125
130
  "build-quick": "pnpm build-watch",
126
- "build-tm": "rimraf dist && tscmon --on-first-success \"pnpm build-babel\"",
127
131
  "build-once": "rimraf intermed dist && pnpm build-ts-once && pnpm build-babel-once && pnpm build-component-styles",
128
132
  "build-component-styles": "node scripts/buildComponentStyles.ts",
129
133
  "build-vendor": "node scripts/bundleVendor.ts",
130
134
  "build-once-nd": "rimraf intermed dist.building && pnpm build-ts-once && pnpm build-babel-staged && node scripts/syncDist.ts && node scripts/writeBuildMarker.ts",
131
135
  "build-ts": "tscmon",
132
- "build-ts-once": "tsc",
136
+ "build-ts-once": "tscmon --once",
133
137
  "build-babel": "node scripts/watchBabelAndMark.ts",
134
138
  "build-babel-once": "babel intermed --out-dir dist --ignore \"**/*.cjs\" --copy-files --config-file ./babel.framework.config.js && node scripts/writeBuildMarker.ts",
135
139
  "build-babel-staged": "babel intermed --out-dir dist.building --ignore \"**/*.cjs\" --copy-files --config-file ./babel.framework.config.js",
@@ -1,8 +1,17 @@
1
1
 
2
- export { Class, Prettify, Expand, ValueOf, TupleOfLength, ArrayMinLength, UnionToIntersection } from 'sxy-types'
2
+ export {
3
+ Class, Prettify, Expand, ValueOf, TupleOfLength, ArrayMinLength, UnionToIntersection,
4
+ } from 'sxy-types'
3
5
 
6
+ export type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends (<T>() => T extends Y ? 1 : 2)
7
+ ? true
8
+ : false
4
9
  export type True<T extends true> = true // eslint-disable-line @typescript-eslint/no-unused-vars
5
- export type Extends<A extends B, B> = true // eslint-disable-line @typescript-eslint/no-unused-vars
10
+ export type Assert<T extends true> = true // eslint-disable-line @typescript-eslint/no-unused-vars
11
+ export type AssertNot<T extends false> = true // eslint-disable-line @typescript-eslint/no-unused-vars
12
+ //export type Extends<A extends B, B> = true // eslint-disable-line @typescript-eslint/no-unused-vars
13
+ export type Extends<A, B> = A extends B ? true : false
14
+ export type NotExtends<A, B> = A extends B ? false : true
6
15
  /*
7
16
  export type Class = { new(...args: unknown[]): object }
8
17