tungsten 0.5.5 → 0.5.6

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 (573) hide show
  1. package/dist/.build-complete +1 -1
  2. package/dist/AnyComponent.d.ts.map +1 -1
  3. package/dist/AnyComponentType.d.ts +1 -1
  4. package/dist/AnyComponentType.d.ts.map +1 -1
  5. package/dist/AppTypeExtraction.d.ts +2 -0
  6. package/dist/AppTypeExtraction.d.ts.map +1 -0
  7. package/dist/ComponentRenderInfo.type.d.ts +1 -1
  8. package/dist/ComponentRenderInfo.type.d.ts.map +1 -1
  9. package/dist/Components.d.ts +5 -4
  10. package/dist/Components.d.ts.map +1 -1
  11. package/dist/Components.js +28 -40
  12. package/dist/ContentFunction.d.ts.map +1 -1
  13. package/dist/ContentNode.d.ts +4 -4
  14. package/dist/ContentNode.d.ts.map +1 -1
  15. package/dist/DomPointer.d.ts.map +1 -1
  16. package/dist/DomRegion.d.ts.map +1 -1
  17. package/dist/Framework.d.ts +2 -2
  18. package/dist/Framework.d.ts.map +1 -1
  19. package/dist/Framework.js +4 -4
  20. package/dist/FrameworkConfig.d.ts +2 -2
  21. package/dist/FrameworkConfig.d.ts.map +1 -1
  22. package/dist/FunctionComponent.d.ts +1 -1
  23. package/dist/FunctionComponent.d.ts.map +1 -1
  24. package/dist/FunctionComponentStandIn.d.ts +10 -10
  25. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  26. package/dist/FunctionComponentStandIn.js +3 -6
  27. package/dist/Instance/ClientRuntimeContext.d.ts.map +1 -1
  28. package/dist/Instance/Instance.d.ts +6 -8
  29. package/dist/Instance/Instance.d.ts.map +1 -1
  30. package/dist/Instance/Instance.js +7 -11
  31. package/dist/Instance/InstanceConfig.d.ts +1 -1
  32. package/dist/Instance/InstanceConfig.d.ts.map +1 -1
  33. package/dist/IsDefined.d.ts.map +1 -1
  34. package/dist/IsObject.d.ts +1 -1
  35. package/dist/IsObject.d.ts.map +1 -1
  36. package/dist/RenderFunction.d.ts.map +1 -1
  37. package/dist/RenderedContentNode.d.ts +3 -3
  38. package/dist/RenderedContentNode.d.ts.map +1 -1
  39. package/dist/RenderingNode.d.ts +3 -3
  40. package/dist/RenderingNode.d.ts.map +1 -1
  41. package/dist/Script.d.ts +1 -1
  42. package/dist/Script.d.ts.map +1 -1
  43. package/dist/Servers/DevServer.d.ts +3 -3
  44. package/dist/Servers/DevServer.d.ts.map +1 -1
  45. package/dist/Servers/DevServer.js +4 -4
  46. package/dist/Servers/MatchedRouteInfo.d.ts.map +1 -1
  47. package/dist/Servers/ProdServer.d.ts +5 -5
  48. package/dist/Servers/ProdServer.d.ts.map +1 -1
  49. package/dist/Servers/ServerMiddleware.d.ts.map +1 -1
  50. package/dist/Servers/StaticSiteServer.d.ts +1 -1
  51. package/dist/Servers/StaticSiteServer.d.ts.map +1 -1
  52. package/dist/Servers/StaticSiteServer.js +1 -1
  53. package/dist/Servers/TungstenServer.d.ts +1 -1
  54. package/dist/Servers/TungstenServer.d.ts.map +1 -1
  55. package/dist/Servers/devErrorPageAutoRetry.d.ts.map +1 -1
  56. package/dist/Servers/initStores.d.ts +3 -3
  57. package/dist/Servers/initStores.d.ts.map +1 -1
  58. package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
  59. package/dist/Servers/loadEnvsDev.js +2 -2
  60. package/dist/Servers/routing.d.ts +1 -1
  61. package/dist/Servers/routing.d.ts.map +1 -1
  62. package/dist/Servers/serveStatic.d.ts.map +1 -1
  63. package/dist/Servers/tungstenCorePrivateEnvSchema.d.ts.map +1 -1
  64. package/dist/Servers/tungstenCorePublicEnvSchema.d.ts.map +1 -1
  65. package/dist/Store/InternalStoreSchema.d.ts +1 -0
  66. package/dist/Store/InternalStoreSchema.d.ts.map +1 -1
  67. package/dist/Store/InternalStoreSchema.js +3 -1
  68. package/dist/Store/ServerDataLoading.d.ts.map +1 -1
  69. package/dist/Store/StoreSchemaClass.d.ts.map +1 -1
  70. package/dist/Store/StoreSubscriptions.types.d.ts.map +1 -1
  71. package/dist/Store/createStores.d.ts +2 -2
  72. package/dist/Store/createStores.d.ts.map +1 -1
  73. package/dist/Store/exportStore.d.ts.map +1 -1
  74. package/dist/Store/getInternalStore.d.ts +1 -1
  75. package/dist/Store/getInternalStore.d.ts.map +1 -1
  76. package/dist/Store/makeStore.d.ts +7 -3
  77. package/dist/Store/makeStore.d.ts.map +1 -1
  78. package/dist/Store/makeStore.js +8 -2
  79. package/dist/Store/registerStore.d.ts +2 -2
  80. package/dist/Store/registerStore.d.ts.map +1 -1
  81. package/dist/Store/storeCreators.d.ts.map +1 -1
  82. package/dist/StoreBindVariable.d.ts.map +1 -1
  83. package/dist/StyleProcessor.d.ts.map +1 -1
  84. package/dist/TungstenApp.d.ts +2 -2
  85. package/dist/TungstenApp.d.ts.map +1 -1
  86. package/dist/TungstenApp.js +14 -8
  87. package/dist/TungstenElement.d.ts.map +1 -1
  88. package/dist/__deproxy.d.ts.map +1 -1
  89. package/dist/_client/RootComponent.d.ts.map +1 -1
  90. package/dist/_client/cjsHelpers.d.ts +2 -1
  91. package/dist/_client/cjsHelpers.d.ts.map +1 -1
  92. package/dist/_client/cjsHelpers.js +5 -2
  93. package/dist/_client/client.d.ts +1 -1
  94. package/dist/_client/client.d.ts.map +1 -1
  95. package/dist/_client/liveReloadSource.d.ts.map +1 -1
  96. package/dist/_client/routes.d.ts.map +1 -1
  97. package/dist/_testing/should.d.ts.map +1 -1
  98. package/dist/alive.d.ts.map +1 -1
  99. package/dist/api/ApiEndpoint.d.ts +1 -1
  100. package/dist/api/ApiEndpoint.d.ts.map +1 -1
  101. package/dist/api/ApiRoute.d.ts.map +1 -1
  102. package/dist/api/ApiRoutes.d.ts +1 -1
  103. package/dist/api/ApiRoutes.d.ts.map +1 -1
  104. package/dist/api/getApiRoutes.d.ts +3 -3
  105. package/dist/api/getApiRoutes.d.ts.map +1 -1
  106. package/dist/api/getExport.d.ts +1 -1
  107. package/dist/api/getExport.d.ts.map +1 -1
  108. package/dist/api/getExportDev.d.ts.map +1 -1
  109. package/dist/appOutput.d.ts +1 -0
  110. package/dist/appOutput.d.ts.map +1 -1
  111. package/dist/appOutput.js +4 -0
  112. package/dist/auth/checkPassword.d.ts.map +1 -1
  113. package/dist/babelPlugins/BabelAddDevCacheBust.d.ts.map +1 -1
  114. package/dist/babelPlugins/BabelAddDevCacheBust.js +1 -27
  115. package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts.map +1 -1
  116. package/dist/babelPlugins/BabelFakeType.d.ts +1 -1
  117. package/dist/babelPlugins/BabelFakeType.d.ts.map +1 -1
  118. package/dist/babelPlugins/BabelState.type.d.ts.map +1 -1
  119. package/dist/babelPlugins/BabelTransformBindDirect.d.ts +2 -2
  120. package/dist/babelPlugins/BabelTransformBindDirect.d.ts.map +1 -1
  121. package/dist/babelPlugins/BabelTransformBindDirect.js +2 -2
  122. package/dist/babelPlugins/BabelTransformBindVar.d.ts +1 -1
  123. package/dist/babelPlugins/BabelTransformBindVar.d.ts.map +1 -1
  124. package/dist/babelPlugins/BabelTransformBindVar.js +6 -4
  125. package/dist/babelPlugins/BabelTransformCjsToEsm.d.ts.map +1 -1
  126. package/dist/babelPlugins/BabelTransformCjsToFunction.d.ts.map +1 -1
  127. package/dist/babelPlugins/BabelTransformCjsToFunction2.d.ts +3 -3
  128. package/dist/babelPlugins/BabelTransformCjsToFunction2.d.ts.map +1 -1
  129. package/dist/babelPlugins/BabelTransformCjsToFunction2.js +1 -1
  130. package/dist/babelPlugins/BabelTransformComponentState.d.ts +2 -2
  131. package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +1 -1
  132. package/dist/babelPlugins/BabelTransformComponentState.js +6 -5
  133. package/dist/babelPlugins/BabelTransformComponentStyles.d.ts +2 -2
  134. package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
  135. package/dist/babelPlugins/BabelTransformComponentStyles.js +8 -6
  136. package/dist/babelPlugins/BabelTransformCssImports.d.ts +3 -3
  137. package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -1
  138. package/dist/babelPlugins/BabelTransformCssImports.js +1 -1
  139. package/dist/babelPlugins/BabelTransformDependencyImportsOld.d.ts +3 -3
  140. package/dist/babelPlugins/BabelTransformDependencyImportsOld.d.ts.map +1 -1
  141. package/dist/babelPlugins/BabelTransformDependencyImportsOld.js +2 -2
  142. package/dist/babelPlugins/BabelTransformDeproxyState.d.ts +1 -1
  143. package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +1 -1
  144. package/dist/babelPlugins/BabelTransformDocInit.d.ts.map +1 -1
  145. package/dist/babelPlugins/BabelTransformPackageImports.d.ts +1 -1
  146. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  147. package/dist/babelPlugins/BabelTransformPackageImports.js +4 -2
  148. package/dist/babelPlugins/BabelTransformReactive.d.ts +1 -1
  149. package/dist/babelPlugins/BabelTransformReactive.d.ts.map +1 -1
  150. package/dist/babelPlugins/BabelTransformReactive.js +1 -1
  151. package/dist/babelPlugins/BabelTransformReactiveSvelteStyle.d.ts +1 -1
  152. package/dist/babelPlugins/BabelTransformReactiveSvelteStyle.d.ts.map +1 -1
  153. package/dist/babelPlugins/BabelTransformReactiveSvelteStyle.js +1 -1
  154. package/dist/babelPlugins/BabelTransformRemoveBlocks.d.ts +1 -1
  155. package/dist/babelPlugins/BabelTransformRemoveBlocks.d.ts.map +1 -1
  156. package/dist/babelPlugins/BabelTransformRemoveDevBlocks.d.ts +1 -1
  157. package/dist/babelPlugins/BabelTransformRemoveDevBlocks.d.ts.map +1 -1
  158. package/dist/babelPlugins/BabelTransformRemoveServerBlocks.d.ts +1 -1
  159. package/dist/babelPlugins/BabelTransformRemoveServerBlocks.d.ts.map +1 -1
  160. package/dist/babelPlugins/BabelTransformSxyFrameworkImports.d.ts +1 -1
  161. package/dist/babelPlugins/BabelTransformSxyFrameworkImports.d.ts.map +1 -1
  162. package/dist/babelPlugins/BabelTransformUniqueComponents.d.ts.map +1 -1
  163. package/dist/babelPlugins/BabelTransformUniqueComponents.js +1 -1
  164. package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
  165. package/dist/babelPlugins/fixImportsInSassErrorMessage.d.ts.map +1 -1
  166. package/dist/babelPlugins/isBareImport.d.ts.map +1 -1
  167. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts +2 -2
  168. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
  169. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.js +1 -2
  170. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts +2 -2
  171. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
  172. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +2 -3
  173. package/dist/babelPlugins/transformPackageImports/getWebLocationOfPackageFile.js +3 -1
  174. package/dist/babelPlugins/transformPackageImports/resolveBareImport.d.ts.map +1 -1
  175. package/dist/bin/args.d.ts.map +1 -1
  176. package/dist/bin/commands/build.d.ts.map +1 -1
  177. package/dist/bin/commands/build.js +3 -1
  178. package/dist/bin/commands/clean.d.ts.map +1 -1
  179. package/dist/bin/commands/compile.d.ts.map +1 -1
  180. package/dist/bin/commands/compile.js +2 -1
  181. package/dist/bin/commands/compileSimplePackage.js +1 -1
  182. package/dist/bin/commands/dev.d.ts.map +1 -1
  183. package/dist/bin/commands/devmon.d.ts.map +1 -1
  184. package/dist/bin/commands/start.d.ts.map +1 -1
  185. package/dist/bin/commands/static.d.ts.map +1 -1
  186. package/dist/bin/index.d.ts.map +1 -1
  187. package/dist/bin/moduleLoadAnalysis.d.ts.map +1 -1
  188. package/dist/bin/vendorHook.d.ts.map +1 -1
  189. package/dist/bin/vendorHook.js +1 -1
  190. package/dist/booleanAttributeValue.d.ts.map +1 -1
  191. package/dist/browserStorage.d.ts +1 -1
  192. package/dist/browserStorage.d.ts.map +1 -1
  193. package/dist/build/CompilationInfo.d.ts.map +1 -1
  194. package/dist/build/Event.type.d.ts.map +1 -1
  195. package/dist/build/ProcessPackageResults.d.ts.map +1 -1
  196. package/dist/build/PromiseSettledResultIsPromiseRejectedResult.d.ts +5 -0
  197. package/dist/build/PromiseSettledResultIsPromiseRejectedResult.d.ts.map +1 -0
  198. package/dist/build/PromiseSettledResultIsPromiseRejectedResult.js +3 -0
  199. package/dist/build/babel.user.common.config.d.ts.map +1 -1
  200. package/dist/build/babel.user.common.config.js +1 -1
  201. package/dist/build/bundle.d.ts.map +1 -1
  202. package/dist/build/bundleBabelOptions.d.ts.map +1 -1
  203. package/dist/build/clientModuleAliases.js +2 -2
  204. package/dist/build/combineComponentCss.d.ts.map +1 -1
  205. package/dist/build/compileJavascript.d.ts.map +1 -1
  206. package/dist/build/compileJavascript.js +4 -3
  207. package/dist/build/compileStyles.d.ts.map +1 -1
  208. package/dist/build/compileStyles.js +10 -8
  209. package/dist/build/compileUserApp.d.ts.map +1 -1
  210. package/dist/build/compileUserApp.js +3 -1
  211. package/dist/build/componentStylesCache.d.ts.map +1 -1
  212. package/dist/build/copyAssets.d.ts.map +1 -1
  213. package/dist/build/copyAssets.js +1 -1
  214. package/dist/build/copyPackageModulesToPackagesFolder.d.ts +1 -1
  215. package/dist/build/copyPackageModulesToPackagesFolder.d.ts.map +1 -1
  216. package/dist/build/copyPackageModulesToPackagesFolder.js +1 -1
  217. package/dist/build/copyPublicFiles.d.ts.map +1 -1
  218. package/dist/build/copyPublicFiles.js +1 -1
  219. package/dist/build/createClientFiles.d.ts +1 -1
  220. package/dist/build/createClientFiles.d.ts.map +1 -1
  221. package/dist/build/createInstanceConfigFile.d.ts +1 -1
  222. package/dist/build/createInstanceConfigFile.d.ts.map +1 -1
  223. package/dist/build/createPackageVirtualFileSystem.d.ts +1 -1
  224. package/dist/build/createPackageVirtualFileSystem.d.ts.map +1 -1
  225. package/dist/build/createPackageVirtualFileSystems.d.ts +1 -1
  226. package/dist/build/createPackageVirtualFileSystems.d.ts.map +1 -1
  227. package/dist/build/devBundle.d.ts.map +1 -1
  228. package/dist/build/devBundle.js +1 -1
  229. package/dist/build/devBundle.rollup.config.d.ts.map +1 -1
  230. package/dist/build/frameworkDestLocation.d.ts.map +1 -1
  231. package/dist/build/frameworkStylesheets.d.ts.map +1 -1
  232. package/dist/build/getAllSxyClientModules.d.ts +1 -1
  233. package/dist/build/getAllSxyClientModules.d.ts.map +1 -1
  234. package/dist/build/getPackageDirForFile.d.ts.map +1 -1
  235. package/dist/build/getSxyClientPackageAliases.d.ts.map +1 -1
  236. package/dist/build/getTempDirForAppCompilation.d.ts.map +1 -1
  237. package/dist/build/makeBabelRawConfig.d.ts.map +1 -1
  238. package/dist/build/makeBabelUserDevConfig.d.ts +1 -1
  239. package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
  240. package/dist/build/makeBabelUserDevConfig.js +21 -17
  241. package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
  242. package/dist/build/makeEnvJavascriptContent.d.ts.map +1 -1
  243. package/dist/build/modifySassImports.d.ts +1 -1
  244. package/dist/build/modifySassImports.d.ts.map +1 -1
  245. package/dist/build/packageIdentifier.d.ts.map +1 -1
  246. package/dist/build/resolveSassScssImports.d.ts.map +1 -1
  247. package/dist/build/rollup.user.prod.config.d.ts.map +1 -1
  248. package/dist/build/rollupExtractComponentStylesheets.d.ts.map +1 -1
  249. package/dist/build/sassImportParser.d.ts.map +1 -1
  250. package/dist/build/tallyBabel.d.ts.map +1 -1
  251. package/dist/calculateImportedStaticFileLocations.d.ts.map +1 -1
  252. package/dist/clone.d.ts +1 -1
  253. package/dist/clone.d.ts.map +1 -1
  254. package/dist/compat/context.d.ts +2 -2
  255. package/dist/compat/context.d.ts.map +1 -1
  256. package/dist/compat/forwardRef.d.ts.map +1 -1
  257. package/dist/compat/types.d.ts +2 -2
  258. package/dist/compat/types.d.ts.map +1 -1
  259. package/dist/componentClassName.d.ts.map +1 -1
  260. package/dist/componentProxyHandlers.d.ts +3 -3
  261. package/dist/componentProxyHandlers.d.ts.map +1 -1
  262. package/dist/componentProxyHandlers.js +13 -16
  263. package/dist/components/Await.d.ts +1 -1
  264. package/dist/components/Await.d.ts.map +1 -1
  265. package/dist/components/GoToComponent.d.ts +1 -1
  266. package/dist/components/GoToComponent.d.ts.map +1 -1
  267. package/dist/components/Lazy.d.ts +2 -2
  268. package/dist/components/Lazy.d.ts.map +1 -1
  269. package/dist/components/Link.d.ts +1 -1
  270. package/dist/components/Link.d.ts.map +1 -1
  271. package/dist/components/NativeHtml.d.ts +1 -1
  272. package/dist/components/NativeHtml.d.ts.map +1 -1
  273. package/dist/components/PopMessages.d.ts.map +1 -1
  274. package/dist/components/Protected.d.ts.map +1 -1
  275. package/dist/components/RawHtml.d.ts +1 -1
  276. package/dist/components/RawHtml.d.ts.map +1 -1
  277. package/dist/components/RouteRedirectComponent.d.ts +2 -2
  278. package/dist/components/RouteRedirectComponent.d.ts.map +1 -1
  279. package/dist/components/Stylesheet.d.ts.map +1 -1
  280. package/dist/components/WebRedirectComponent.d.ts +1 -1
  281. package/dist/components/WebRedirectComponent.d.ts.map +1 -1
  282. package/dist/components/_GoToComponent.d.ts +1 -1
  283. package/dist/components/_GoToComponent.d.ts.map +1 -1
  284. package/dist/components/bindable/BindVariable.d.ts +1 -1
  285. package/dist/components/bindable/BindVariable.d.ts.map +1 -1
  286. package/dist/components/bindable/BindableCheckbox.d.ts +1 -1
  287. package/dist/components/bindable/BindableCheckbox.d.ts.map +1 -1
  288. package/dist/components/bindable/BindableInput.d.ts +1 -1
  289. package/dist/components/bindable/BindableInput.d.ts.map +1 -1
  290. package/dist/components/bindable/BindableInputNonString.d.ts.map +1 -1
  291. package/dist/components/bindable/BindableInputString.d.ts.map +1 -1
  292. package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +1 -1
  293. package/dist/components/bindable/BindableRadio.d.ts +1 -1
  294. package/dist/components/bindable/BindableRadio.d.ts.map +1 -1
  295. package/dist/components/bindable/BindableSelect.d.ts +1 -1
  296. package/dist/components/bindable/BindableSelect.d.ts.map +1 -1
  297. package/dist/components/bindable/BindableTextarea.d.ts +1 -1
  298. package/dist/components/bindable/BindableTextarea.d.ts.map +1 -1
  299. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts +1 -1
  300. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  301. package/dist/components/library/RichTextEditor/StoredContentNode.d.ts.map +1 -1
  302. package/dist/components/library/RichTextEditor/contentTree.d.ts.map +1 -1
  303. package/dist/components/library/RichTextEditor/sanitizeAuthoredHtml.d.ts.map +1 -1
  304. package/dist/components/library/__StatefulMessage/StatefulMessage.d.ts +1 -1
  305. package/dist/components/library/__StatefulMessage/StatefulMessage.d.ts.map +1 -1
  306. package/dist/components/library/index.d.ts.map +1 -1
  307. package/dist/copy.d.ts.map +1 -1
  308. package/dist/createRoutes.d.ts +1 -1
  309. package/dist/createRoutes.d.ts.map +1 -1
  310. package/dist/deleteDirs.d.ts.map +1 -1
  311. package/dist/devBanner.d.ts.map +1 -1
  312. package/dist/docInit.d.ts.map +1 -1
  313. package/dist/env/Interfaces.d.ts.map +1 -1
  314. package/dist/env/addToEnv.d.ts.map +1 -1
  315. package/dist/env/getEnvSchemas.d.ts.map +1 -1
  316. package/dist/env/privateEnv.d.ts.map +1 -1
  317. package/dist/env/privateEnvOrThrow.d.ts.map +1 -1
  318. package/dist/env/publicEnv.d.ts.map +1 -1
  319. package/dist/env/publicEnvOrThrow.d.ts.map +1 -1
  320. package/dist/env/registerEnvSchemas.d.ts +1 -1
  321. package/dist/env/registerEnvSchemas.d.ts.map +1 -1
  322. package/dist/env/setPrivateEnvValidator.d.ts.map +1 -1
  323. package/dist/env/setPublicEnvValidator.d.ts.map +1 -1
  324. package/dist/env/windowGlobalEnvStatement.d.ts.map +1 -1
  325. package/dist/filePathFromUrl.d.ts.map +1 -1
  326. package/dist/findProjectDir.d.ts.map +1 -1
  327. package/dist/findUserConfig.d.ts.map +1 -1
  328. package/dist/foreach.d.ts +3 -2
  329. package/dist/foreach.d.ts.map +1 -1
  330. package/dist/frameworkConfigSchema.d.ts +2 -2
  331. package/dist/frameworkConfigSchema.d.ts.map +1 -1
  332. package/dist/getComponent.d.ts +1 -1
  333. package/dist/getComponent.d.ts.map +1 -1
  334. package/dist/getComponent.js +4 -2
  335. package/dist/getComponentDev.d.ts.map +1 -1
  336. package/dist/getContentFromFunctionComponent.d.ts +1 -1
  337. package/dist/getContentFromFunctionComponent.d.ts.map +1 -1
  338. package/dist/getFrameworkDir.d.ts.map +1 -1
  339. package/dist/getRoutes.d.ts +2 -2
  340. package/dist/getRoutes.d.ts.map +1 -1
  341. package/dist/getRoutes.js +4 -0
  342. package/dist/getRoutesDevs.d.ts.map +1 -1
  343. package/dist/getStackTrace.d.ts.map +1 -1
  344. package/dist/getStyledContentFromFunctionComponent.d.ts.map +1 -1
  345. package/dist/getUserConfig.d.ts +1 -1
  346. package/dist/getUserConfig.d.ts.map +1 -1
  347. package/dist/getUserConfig.js +2 -1
  348. package/dist/glob.d.ts.map +1 -1
  349. package/dist/hasValidKey.d.ts.map +1 -1
  350. package/dist/helpers/forwardingFetch.d.ts.map +1 -1
  351. package/dist/helpers/getFetchCompatibleHeaders.d.ts.map +1 -1
  352. package/dist/helpers/perRequest.d.ts.map +1 -1
  353. package/dist/hmr/applyHmrModule.d.ts.map +1 -1
  354. package/dist/hmr/componentIdentity.d.ts.map +1 -1
  355. package/dist/hmr/instanceRegistry.d.ts.map +1 -1
  356. package/dist/hmr/refreshStylesheets.d.ts.map +1 -1
  357. package/dist/hooks/clearCurrentComponent.d.ts.map +1 -1
  358. package/dist/hooks/getCurrentComponent.d.ts +1 -1
  359. package/dist/hooks/getCurrentComponent.d.ts.map +1 -1
  360. package/dist/hooks/setCurrentComponent.d.ts.map +1 -1
  361. package/dist/hooks/useCallback.d.ts +1 -1
  362. package/dist/hooks/useCallback.d.ts.map +1 -1
  363. package/dist/hooks/useCallback.js +1 -1
  364. package/dist/hooks/useEffect.d.ts.map +1 -1
  365. package/dist/hooks/useInstance.d.ts.map +1 -1
  366. package/dist/hooks/useMemo.d.ts +1 -1
  367. package/dist/hooks/useMemo.d.ts.map +1 -1
  368. package/dist/hooks/useMemo.js +5 -4
  369. package/dist/hooks/useReducer.d.ts +1 -1
  370. package/dist/hooks/useReducer.d.ts.map +1 -1
  371. package/dist/hooks/useState.d.ts.map +1 -1
  372. package/dist/hooks/useState.js +1 -1
  373. package/dist/htmlEventHandlerKey.d.ts.map +1 -1
  374. package/dist/htmlEvents.d.ts.map +1 -1
  375. package/dist/hydrate/hydrate.d.ts +1 -1
  376. package/dist/hydrate/hydrate.d.ts.map +1 -1
  377. package/dist/hydrate/hydrate.js +5 -3
  378. package/dist/hydrate/hydrateGlobalData.d.ts +1 -1
  379. package/dist/hydrate/hydrateGlobalData.d.ts.map +1 -1
  380. package/dist/hydrate/reconcileHydratedAttributes.d.ts.map +1 -1
  381. package/dist/hydrate/renderHydrationMismatchBanner.d.ts.map +1 -1
  382. package/dist/innerHtmlFromProps.d.ts.map +1 -1
  383. package/dist/isBrowser.d.ts.map +1 -1
  384. package/dist/isClient.d.ts.map +1 -1
  385. package/dist/isDev.d.ts.map +1 -1
  386. package/dist/isProd.d.ts.map +1 -1
  387. package/dist/isServer.d.ts.map +1 -1
  388. package/dist/isServer.js +2 -2
  389. package/dist/jsxRuntime.d.ts +1 -1
  390. package/dist/jsxRuntime.d.ts.map +1 -1
  391. package/dist/jsxRuntimeSignals.d.ts.map +1 -1
  392. package/dist/loadPackageDotJsonFromDir.d.ts.map +1 -1
  393. package/dist/makeFinalConfig.d.ts.map +1 -1
  394. package/dist/makeInstanceConfigFromFrameworkConfig.d.ts.map +1 -1
  395. package/dist/makeServerRpc.d.ts.map +1 -1
  396. package/dist/markOptionSelected.d.ts.map +1 -1
  397. package/dist/mergeConfigs.d.ts.map +1 -1
  398. package/dist/output.d.ts.map +1 -1
  399. package/dist/pop.d.ts.map +1 -1
  400. package/dist/postcssPlugins/TransformCssNames.d.ts.map +1 -1
  401. package/dist/postcssPlugins/TransformCssNames.js +12 -4
  402. package/dist/postcssPlugins/parseSelectors.d.ts.map +1 -1
  403. package/dist/postcssPlugins/parseSelectorsRich.d.ts.map +1 -1
  404. package/dist/postcssPlugins/scopeAnimationValue.d.ts.map +1 -1
  405. package/dist/propsAreEqual.d.ts.map +1 -1
  406. package/dist/rawHtml/filterContentNode.d.ts.map +1 -1
  407. package/dist/rawHtml/parseHtml.d.ts.map +1 -1
  408. package/dist/rawHtml/safeHtmlAllowList.d.ts.map +1 -1
  409. package/dist/rawHtml/sanitizeHtml.d.ts.map +1 -1
  410. package/dist/rawHtml/tokenizeHtml.d.ts.map +1 -1
  411. package/dist/reRouting/importLoader.d.ts.map +1 -1
  412. package/dist/ref.d.ts +1 -1
  413. package/dist/ref.d.ts.map +1 -1
  414. package/dist/ref.js +5 -4
  415. package/dist/removeRecursive.d.ts.map +1 -1
  416. package/dist/render/HeadData.d.ts +1 -1
  417. package/dist/render/HeadData.d.ts.map +1 -1
  418. package/dist/render/SxyFrameworkModules.d.ts.map +1 -1
  419. package/dist/render/addImportMap.d.ts.map +1 -1
  420. package/dist/render/componentNodeToRenderingTree.d.ts +1 -1
  421. package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -1
  422. package/dist/render/contentNodeToHtml.d.ts.map +1 -1
  423. package/dist/render/contentToHtml.d.ts +2 -2
  424. package/dist/render/contentToHtml.d.ts.map +1 -1
  425. package/dist/render/contentToHtml.js +1 -1
  426. package/dist/render/contentToHtmlDev.d.ts +2 -2
  427. package/dist/render/contentToHtmlDev.d.ts.map +1 -1
  428. package/dist/render/contentTreeToRenderingTree.d.ts.map +1 -1
  429. package/dist/render/functionComponentNodeToRenderingTree.d.ts +1 -1
  430. package/dist/render/functionComponentNodeToRenderingTree.d.ts.map +1 -1
  431. package/dist/render/functionComponentNodeToRenderingTree.js +2 -2
  432. package/dist/render/getFunctionBodyAsString.d.ts.map +1 -1
  433. package/dist/render/getFunctionBodyAsString.js +3 -1
  434. package/dist/render/instantiateClassComponent.d.ts.map +1 -1
  435. package/dist/render/instantiateComponent.d.ts +2 -2
  436. package/dist/render/instantiateComponent.d.ts.map +1 -1
  437. package/dist/render/instantiateFunctionComponent.d.ts.map +1 -1
  438. package/dist/render/printComponentNameInSource.d.ts.map +1 -1
  439. package/dist/render/processHead.d.ts +1 -1
  440. package/dist/render/processHead.d.ts.map +1 -1
  441. package/dist/render/processHead.js +1 -1
  442. package/dist/render/processHtmlNode.d.ts.map +1 -1
  443. package/dist/render/processProps.d.ts +1 -1
  444. package/dist/render/processProps.d.ts.map +1 -1
  445. package/dist/render/processRenderingNodeHtml.d.ts +1 -1
  446. package/dist/render/processRenderingNodeHtml.d.ts.map +1 -1
  447. package/dist/render/readDocInitScript.d.ts.map +1 -1
  448. package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
  449. package/dist/render/rootToHtml.d.ts +2 -2
  450. package/dist/render/rootToHtml.d.ts.map +1 -1
  451. package/dist/render/rootToHtmlDev.d.ts.map +1 -1
  452. package/dist/requests/fetch/delete.d.ts.map +1 -1
  453. package/dist/requests/fetch/get.d.ts.map +1 -1
  454. package/dist/requests/fetch/get.js +3 -1
  455. package/dist/requests/fetch/patch.d.ts.map +1 -1
  456. package/dist/requests/fetch/patch.js +3 -1
  457. package/dist/requests/fetch/post.d.ts.map +1 -1
  458. package/dist/requests/fetch/post.js +3 -1
  459. package/dist/requests/fetch/put.d.ts.map +1 -1
  460. package/dist/requests/fetch/put.js +3 -1
  461. package/dist/routing/AppRoutes.d.ts.map +1 -1
  462. package/dist/routing/Default404.d.ts.map +1 -1
  463. package/dist/routing/ErrorRouteType.d.ts.map +1 -1
  464. package/dist/routing/Group.d.ts +2 -2
  465. package/dist/routing/Group.d.ts.map +1 -1
  466. package/dist/routing/MatchedRoute.d.ts +1 -1
  467. package/dist/routing/MatchedRoute.d.ts.map +1 -1
  468. package/dist/routing/ParamsFromPath.d.ts +1 -1
  469. package/dist/routing/ParamsFromPath.d.ts.map +1 -1
  470. package/dist/routing/RouteContent.d.ts.map +1 -1
  471. package/dist/routing/RouteContentFunction.d.ts.map +1 -1
  472. package/dist/routing/RouteDataFunction.type.d.ts +2 -2
  473. package/dist/routing/RouteDataFunction.type.d.ts.map +1 -1
  474. package/dist/routing/RouteDataReturnType.d.ts.map +1 -1
  475. package/dist/routing/RouteProp.d.ts.map +1 -1
  476. package/dist/routing/RouteTypes.d.ts.map +1 -1
  477. package/dist/routing/Routes.d.ts.map +1 -1
  478. package/dist/routing/RoutesFunction.d.ts.map +1 -1
  479. package/dist/routing/RoutingRedirect.d.ts +1 -1
  480. package/dist/routing/RoutingRedirect.d.ts.map +1 -1
  481. package/dist/routing/WebRedirect.d.ts +1 -1
  482. package/dist/routing/WebRedirect.d.ts.map +1 -1
  483. package/dist/routing/__fluentRouteBuilder.d.ts +2 -2
  484. package/dist/routing/__fluentRouteBuilder.d.ts.map +1 -1
  485. package/dist/routing/getPathPriority.d.ts.map +1 -1
  486. package/dist/routing/getPathPriority.js +6 -2
  487. package/dist/routing/matchPath.d.ts.map +1 -1
  488. package/dist/routing/patternToRegex.d.ts.map +1 -1
  489. package/dist/routing/registerGlobalData.d.ts.map +1 -1
  490. package/dist/serverModuleLocation.d.ts.map +1 -1
  491. package/dist/serverRpc.d.ts.map +1 -1
  492. package/dist/serverRpcs.d.ts.map +1 -1
  493. package/dist/settings.d.ts.map +1 -1
  494. package/dist/signals/tracking.d.ts.map +1 -1
  495. package/dist/slash.d.ts.map +1 -1
  496. package/dist/spawnShellCommand.d.ts +1 -1
  497. package/dist/spawnShellCommand.d.ts.map +1 -1
  498. package/dist/standardSchema.d.ts.map +1 -1
  499. package/dist/standardizeWebPath.d.ts.map +1 -1
  500. package/dist/stateTracking.d.ts.map +1 -1
  501. package/dist/staticGen/RouteDefinition.d.ts.map +1 -1
  502. package/dist/staticGen/getAppRoutes.d.ts +2 -2
  503. package/dist/staticGen/getAppRoutes.d.ts.map +1 -1
  504. package/dist/staticGen/getAppRoutes.js +15 -20
  505. package/dist/staticGen/staticGen.d.ts.map +1 -1
  506. package/dist/staticGen/staticGen.js +5 -3
  507. package/dist/staticGen/staticGenFunctions.d.ts +1 -1
  508. package/dist/staticGen/staticGenFunctions.d.ts.map +1 -1
  509. package/dist/style/jssToCss.d.ts.map +1 -1
  510. package/dist/style/styleContent.d.ts.map +1 -1
  511. package/dist/style/styleContentSxy.d.ts.map +1 -1
  512. package/dist/style/styleContentSxy.js +2 -2
  513. package/dist/style/unusedStyles.d.ts.map +1 -1
  514. package/dist/styleProcessors.js +2 -2
  515. package/dist/sync/index.d.ts +1 -1
  516. package/dist/sync/index.d.ts.map +1 -1
  517. package/dist/testing/createTestApp.d.ts +35 -0
  518. package/dist/testing/createTestApp.d.ts.map +1 -0
  519. package/dist/testing/createTestApp.js +159 -0
  520. package/dist/testing/helpers/contentHtmlElements.d.ts.map +1 -0
  521. package/dist/testing/host.d.ts +75 -7
  522. package/dist/testing/host.d.ts.map +1 -1
  523. package/dist/testing/host.js +64 -24
  524. package/dist/testing/hydrateTestApp.d.ts +1 -1
  525. package/dist/testing/hydrateTestApp.d.ts.map +1 -1
  526. package/dist/testing/index.d.ts +5 -37
  527. package/dist/testing/index.d.ts.map +1 -1
  528. package/dist/testing/index.js +4 -161
  529. package/dist/testing/installTestDocInit.d.ts.map +1 -1
  530. package/dist/testing/installTestStyleProcessors.d.ts.map +1 -1
  531. package/dist/testing/loadEnv.d.ts.map +1 -1
  532. package/dist/testing/testEnvIsRequested.d.ts.map +1 -1
  533. package/dist/testing/testingComponentPackage.d.ts +37 -0
  534. package/dist/testing/testingComponentPackage.d.ts.map +1 -0
  535. package/dist/testing/{temp/componentPackageMock.js → testingComponentPackage.js} +13 -13
  536. package/dist/throwError.d.ts.map +1 -1
  537. package/dist/timeProfiler.d.ts.map +1 -1
  538. package/dist/todo.d.ts.map +1 -1
  539. package/dist/update/UpdateResult.d.ts.map +1 -1
  540. package/dist/update/UpdateScheduler.d.ts.map +1 -1
  541. package/dist/update/guardedUpdate.d.ts.map +1 -1
  542. package/dist/update/integrateUpdateVdom.d.ts +9 -9
  543. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  544. package/dist/update/integrateUpdateVdom.js +2 -2
  545. package/dist/update/pendingMounts.d.ts.map +1 -1
  546. package/dist/validChildren.d.ts +2 -2
  547. package/dist/validChildren.d.ts.map +1 -1
  548. package/dist/warnOnFrameworkChange.d.ts.map +1 -1
  549. package/dist/watch.d.ts.map +1 -1
  550. package/dist/when.d.ts.map +1 -1
  551. package/dist/zones/react.d.ts +2 -2
  552. package/dist/zones/react.d.ts.map +1 -1
  553. package/package.json +5 -3
  554. package/types/assets.d.ts +1 -0
  555. package/types/babel-plugin-dependencies.d.ts +1 -0
  556. package/types/env.d.ts +0 -4
  557. package/types/helpers.d.ts +2 -2
  558. package/types/index.d.ts +2 -3
  559. package/types/jsx/html.d.ts +14 -12
  560. package/types/jsx/html.events.d.ts +2 -2
  561. package/types/jsx/html.global.d.ts +1 -0
  562. package/types/jsx/jsx.d.ts +3 -4
  563. package/types/modules.d.ts +1 -0
  564. package/types/regexpMatches.d.ts +1 -0
  565. package/vendor/manifest.json +2 -2
  566. package/dist/TypeExtraction.d.ts +0 -2
  567. package/dist/TypeExtraction.d.ts.map +0 -1
  568. package/dist/testing/temp/componentPackageMock.d.ts +0 -29
  569. package/dist/testing/temp/componentPackageMock.d.ts.map +0 -1
  570. package/dist/testing/temp/contentHtmlElements.d.ts.map +0 -1
  571. /package/dist/{TypeExtraction.js → AppTypeExtraction.js} +0 -0
  572. /package/dist/testing/{temp → helpers}/contentHtmlElements.d.ts +0 -0
  573. /package/dist/testing/{temp → helpers}/contentHtmlElements.js +0 -0
@@ -1,6 +1,10 @@
1
- import { TungstenBaseComponent, TungstenSimpleComponent, type ConstructPackage, type TungstenComponent, type TungstenComponentPropsBase, type TungstenStatefulComponent } from '../Components.jsx';
2
1
  import type { ContentNode } from '../ContentNode.js';
3
- import { type MockEnvironment } from './temp/componentPackageMock.js';
2
+ import type { InternalStoreSchema } from '../Store/InternalStoreSchema.js';
3
+ import type { TrueStore } from '../Store/makeStore.js';
4
+ import type { Routes } from '../routing/Routes.js';
5
+ import type { RoutesFunction } from '../routing/RoutesFunction.js';
6
+ import type { Path, RouteKey } from '../routing/RouteTypes.js';
7
+ import { TungstenBaseComponent, TungstenSimpleComponent, type ComponentStore, type TungstenComponent, type TungstenComponentClass, type TungstenComponentPropsBase, type TungstenStatefulComponent } from '../Components.jsx';
4
8
  type StateOf<Component> = Component extends {
5
9
  state?: infer State;
6
10
  } ? State : never;
@@ -10,10 +14,6 @@ type ReservedMember = keyof HostedCore<TungstenBaseComponent<any, any>>;
10
14
  export type ComponentApi<Component extends TungstenBaseComponent<any, any>> = {
11
15
  [Key in keyof Component as Key extends FrameworkMember | ReservedMember ? never : NonNullable<Component[Key]> extends (...args: any[]) => any ? Key : never]: Component[Key];
12
16
  };
13
- export type HostOptions = {
14
- environment?: MockEnvironment;
15
- };
16
- export type HostArgs<Props extends TungstenComponentPropsBase> = object extends Props ? [props?: Props, options?: HostOptions] : keyof Props extends never ? [props?: Props, options?: HostOptions] : [props: Props, options?: HostOptions];
17
17
  export type Navigation = {
18
18
  kind: 'goto' | 'redirect';
19
19
  to: string;
@@ -30,6 +30,64 @@ type HostedCore<Component extends TungstenBaseComponent<any, any>> = {
30
30
  updateState: (setter: StateSetter<Component>) => Promise<Awaited<ContentOf<Component>>>;
31
31
  };
32
32
  export type Hosted<Component extends TungstenBaseComponent<any, any>> = HostedCore<Component> & ComponentApi<Component>;
33
+ type StoreSchemaOf<Component> = Component extends {
34
+ store: ComponentStore<infer Schema extends object>;
35
+ } ? Schema : never;
36
+ type StoreOf<Component> = [StoreSchemaOf<Component>] extends [never] ? never : [StoreSchemaOf<Component>] extends [InternalStoreSchema] ? never : StoreSchemaOf<Component>;
37
+ export type HostedRoute = {
38
+ key: RouteKey | null;
39
+ params?: Record<string, string>;
40
+ data?: unknown;
41
+ };
42
+ type RouteOptions = {
43
+ routing: true;
44
+ location: Path;
45
+ routes: Routes | RoutesFunction;
46
+ matchedRoute?: never;
47
+ } | {
48
+ routing?: false;
49
+ location?: Path;
50
+ routes?: Routes;
51
+ matchedRoute?: HostedRoute;
52
+ };
53
+ type NoStore = {
54
+ store?: never;
55
+ partialStore?: never;
56
+ storeData?: never;
57
+ partialStoreData?: never;
58
+ };
59
+ type StoreOptionsFor<Schema extends object> = {
60
+ /** A real store (makeStore), used as-is: its cells keep state, so one can be shared between hosts. */
61
+ store: TrueStore<Schema>;
62
+ partialStore?: never;
63
+ storeData?: never;
64
+ partialStoreData?: never;
65
+ } | {
66
+ /** Some real cells. A key not given is missing, not defaulted: reading it throws, naming it. */
67
+ partialStore: Partial<TrueStore<Schema>>;
68
+ store?: never;
69
+ storeData?: never;
70
+ partialStoreData?: never;
71
+ } | {
72
+ /** Values for every key, each wrapped in a cell of its own. */
73
+ storeData: Schema;
74
+ store?: never;
75
+ partialStore?: never;
76
+ partialStoreData?: never;
77
+ } | {
78
+ /** Values for some keys. A key not given is missing, not defaulted: reading it throws, naming it. */
79
+ partialStoreData: Partial<Schema>;
80
+ store?: never;
81
+ partialStore?: never;
82
+ storeData?: never;
83
+ };
84
+ export type HostStoreOptions<Schema extends object> = (RouteOptions & StoreOptionsFor<Schema>) extends infer Options ? Options extends unknown ? {
85
+ [K in keyof Options]: Options[K];
86
+ } : never : never;
87
+ export type HostOptions<Component> = [StoreOf<Component>] extends [never] ? (RouteOptions & NoStore) extends infer Options ? Options extends unknown ? {
88
+ [K in keyof Options]: Options[K];
89
+ } : never : never : HostStoreOptions<StoreOf<Component>>;
90
+ type HostArgs<Props, Component> = [StoreOf<Component>] extends [never] ? object extends Props ? [props?: Props, options?: HostOptions<Component>] : [props: Props, options?: HostOptions<Component>] : object extends Props ? [props: Props | undefined, options: HostOptions<Component>] : [props: Props, options: HostOptions<Component>];
33
91
  /**
34
92
  * Constructs a component outside of any app and drives it the way the framework
35
93
  * does - init, then the mount lifecycles - calling its content function with
@@ -43,7 +101,17 @@ export type Hosted<Component extends TungstenBaseComponent<any, any>> = HostedCo
43
101
  *
44
102
  * State is not proxied (the construct package is marked `hosted`), so nothing
45
103
  * re-renders on its own: updateProps() and updateState() are the renders.
104
+ *
105
+ * Store components have a structural overload: Schema is its own parameter, inferred from
106
+ * the class, so a generic wrapper (`Component extends { store: ComponentStore<S> }`) can
107
+ * call through without a cast. HostArgs is a conditional on Component, and a conditional
108
+ * on a type parameter is deferred, so nothing is assignable to it inside such a wrapper.
46
109
  */
47
- export declare function host<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>>(ComponentType: new (pkg: ConstructPackage<Props, undefined>) => Component, ...args: HostArgs<Props>): Promise<Hosted<Component>>;
110
+ export declare function host<Props extends TungstenComponentPropsBase, Schema extends object, Component extends TungstenBaseComponent<any, any> & {
111
+ store: ComponentStore<Schema>;
112
+ }>(ComponentType: TungstenComponentClass<Props, Component> & (new (...args: any) => {
113
+ store: ComponentStore<Schema>;
114
+ }), props: Props, options: NoInfer<[Schema] extends [InternalStoreSchema] ? never : HostStoreOptions<Schema>>): Promise<Hosted<Component>>;
115
+ export declare function host<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>>(ComponentType: TungstenComponentClass<Props, Component>, ...[props, options]: HostArgs<Props, Component>): Promise<Hosted<Component>>;
48
116
  export {};
49
117
  //# sourceMappingURL=host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/testing/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/testing/host.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,58 @@
1
- import { TungstenBaseComponent, TungstenSimpleComponent } from "../Components.js";
2
- import { componentPackageMock } from './temp/componentPackageMock.js';
1
+ import { TungstenBaseComponent, TungstenBaseSimpleStoreComponent, TungstenBaseStatefulStoreComponent, TungstenBaseStoreComponent, TungstenSimpleComponent } from "../Components.js";
2
+ import { objectMap } from '../objectMap.js';
3
+ import { routing } from "../Servers/routing.js";
4
+ import { missingStoreValue, storeValue, testingComponentPackage } from './testingComponentPackage.js';
3
5
  const isPromise = value => value instanceof Promise || typeof value === 'object' && value !== null && 'then' in value;
4
6
  // The same list at runtime. Underscore-prefixed members are excluded by rule
5
7
  // (the framework's naming scheme), so only the plain-named ones are listed, and
6
8
  // frameworkMembersAreComplete below fails to compile if one is ever missed.
7
9
  const frameworkMemberNames = ['props', 'routeParams', 'routeData', 'parentComponent', 'childComponents', 'globalData', 'state', 'storeData', 'style', 'title', 'content', 'render', 'init', 'clientInit', 'serverInit', 'componentDidMount', 'componentDidHydrate', 'componentDidUpdate', 'componentDidRender', 'componentWillUnmount', 'componentDidUnmount', 'shouldStoreComponentUpdate', 'setState', 'triggerUpdate', 'pickProps', 'pickState', 'using', 'reactive', 'setTimeout', 'setInterval', 'clearTimeout', 'clearInterval'];
8
10
  const frameworkMembers = new Set(frameworkMemberNames);
9
- /**
10
- * Constructs a component outside of any app and drives it the way the framework
11
- * does - init, then the mount lifecycles - calling its content function with
12
- * whatever arguments its flavour takes, so tests don't have to match the
13
- * (props) / (props, state) signature themselves.
14
- *
15
- * No DOM: content is returned as a content node tree, unstyled, and never
16
- * reconciled. createTestApp() is the harness for anything that needs a document
17
- * or app state. Lifecycle failures are thrown rather than only reported, so a
18
- * test can't pass over one.
19
- *
20
- * State is not proxied (the construct package is marked `hosted`), so nothing
21
- * re-renders on its own: updateProps() and updateState() are the renders.
22
- */
23
- export async function host(ComponentType, ...args) {
24
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the conditional tuple isn't destructurable as written
25
- const [props, options] = args;
11
+ const isStoreComponent = component => component instanceof TungstenBaseStoreComponent || component instanceof TungstenBaseSimpleStoreComponent || component instanceof TungstenBaseStatefulStoreComponent;
12
+ // Runs routing only when asked: a unit test otherwise states the route itself.
13
+ async function hostedRouting(options) {
14
+ if (options.routing === true) {
15
+ const routes = typeof options.routes === 'function' ? options.routes(null) : options.routes;
16
+ return {
17
+ routes,
18
+ internalStore: {
19
+ location: options.location,
20
+ matchedRouteInfo: await routing(options.location, routes),
21
+ popMessages: []
22
+ }
23
+ };
24
+ }
25
+ const {
26
+ location,
27
+ matchedRoute
28
+ } = options;
29
+ const matchedRouteInfo = matchedRoute === undefined ? undefined : {
30
+ key: matchedRoute.key,
31
+ params: matchedRoute.params ?? {},
32
+ content: null,
33
+ ...('data' in matchedRoute ? {
34
+ data: matchedRoute.data
35
+ } : {})
36
+ };
37
+ return {
38
+ routes: options.routes,
39
+ internalStore: {
40
+ location: location ?? '/',
41
+ ...(matchedRouteInfo !== undefined ? {
42
+ matchedRouteInfo
43
+ } : {}),
44
+ popMessages: []
45
+ }
46
+ };
47
+ }
48
+ export async function host(ComponentType, props,
49
+ // unknown, not a loose object type: the general overload's rest tuple can't be related to one
50
+ options) {
51
+ const stored = options ?? {};
52
+ const storeData = stored.storeData ?? stored.partialStoreData;
53
+ const store = stored.store ?? stored.partialStore ?? (storeData === undefined ? undefined : objectMap(storeData, (_, value) => storeValue(value)));
54
+ const partial = stored.partialStore !== undefined || stored.partialStoreData !== undefined;
55
+ const route = await hostedRouting(stored);
26
56
  const pending = [];
27
57
  const failures = [];
28
58
  // Instance.trackWork's no-scheduler path, except the work is kept so host
@@ -48,9 +78,16 @@ export async function host(ComponentType, ...args) {
48
78
  };
49
79
  let title;
50
80
  const navigations = [];
51
- const component = new ComponentType(componentPackageMock(
81
+ const component = new ComponentType(testingComponentPackage(
52
82
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- an absent props object is only reachable when Props allows {}
53
83
  props ?? {}, {
84
+ ...(store !== undefined ? {
85
+ store
86
+ } : {}),
87
+ ...(route.routes !== undefined ? {
88
+ routes: route.routes
89
+ } : {}),
90
+ internalStore: route.internalStore,
54
91
  trackWork,
55
92
  // setState's work, run and awaited here rather than left to a timer
56
93
  queueTask: (task, description) => {
@@ -72,11 +109,14 @@ export async function host(ComponentType, ...args) {
72
109
  kind: 'redirect',
73
110
  to
74
111
  });
75
- },
76
- ...(options?.environment !== undefined ? {
77
- environment: options.environment
78
- } : {})
112
+ }
79
113
  }));
114
+ // a partial store only has the keys supplied, so name any other it reads
115
+ if (partial && isStoreComponent(component)) {
116
+ component.store = new Proxy(component.store, {
117
+ get: (target, key) => typeof key === 'symbol' || key in target ? Reflect.get(target, key) : missingStoreValue(`store.${key}`)
118
+ });
119
+ }
80
120
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- state isn't on the base class, see StateOf
81
121
  const stateful = component;
82
122
  const simple = component instanceof TungstenSimpleComponent;
@@ -1,6 +1,6 @@
1
1
  import type { ConstructPackage, TungstenBaseComponent, TungstenComponentPropsBase } from '../Components.jsx';
2
2
  import type { TaggedAttributeMismatch } from '../hydrate/renderHydrationMismatchBanner.js';
3
- import type { TestAppOptions } from './index.js';
3
+ import type { TestAppOptions } from './createTestApp.js';
4
4
  export type HydrateTestAppOptions<Props extends object> = TestAppOptions<Props> & {
5
5
  serverProps?: Props;
6
6
  csr?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"hydrateTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/hydrateTestApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAA;AAO1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAY1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG;IAM9E,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,GAAG,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC9D,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,MAAM,KAAK,SAAS,KAAK,GACrB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,CAAC,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAEpE,MAAM,MAAM,cAAc,CAAC,SAAS,SAAS,qBAAqB,IAAI;IAClE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAG7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAIrB,QAAQ,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAA;IAEvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B,CAAA;AAkGD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAChC,KAAK,SAAS,0BAA0B,EACxC,SAAS,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,SAAS,GAAG,SAAS,EAErB,aAAa,EAAE,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,EACzE,GAAG,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CA6HpC"}
1
+ {"version":3,"file":"hydrateTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/hydrateTestApp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAA;AAI1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAK1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAaxD,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG;IAM9E,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,GAAG,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC9D,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,MAAM,KAAK,SAAS,KAAK,GACrB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GACxC,CAAC,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAEpE,MAAM,MAAM,cAAc,CAAC,SAAS,SAAS,qBAAqB,IAAI;IAClE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAG7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAIrB,QAAQ,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAA;IAEvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B,CAAA;AAkGD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAChC,KAAK,SAAS,0BAA0B,EACxC,SAAS,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,SAAS,GAAG,SAAS,EAErB,aAAa,EAAE,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,EACzE,GAAG,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CA6HpC"}
@@ -1,41 +1,9 @@
1
- import type { ConstructPackage, TungstenBaseComponent, TungstenBaseComponentType, TungstenComponentPropsBase } from '../Components.jsx';
2
1
  export { loadEnv } from './loadEnv.js';
3
2
  export { testEnvVariableName } from './testEnvIsRequested.js';
4
3
  export { hydrateTestApp, type HydrateTestApp, type HydrateTestAppOptions } from './hydrateTestApp.js';
5
- export { host, type Hosted, type HostOptions } from './host.js';
6
- export { componentPackageMock } from './temp/componentPackageMock.js';
7
- export { contentHtmlElements } from './temp/contentHtmlElements.js';
8
- import type { TrueStore } from '../Store/makeStore.js';
9
- export type ComponentProps<ComponentType extends TungstenBaseComponentType<any, any>> = InstanceType<ComponentType>['props'];
10
- export type TestStoreRegistration<Schema extends object> = {
11
- getStore: (stores: TrueStore<unknown>[]) => TrueStore<Schema>;
12
- };
13
- export type TestStore<Schema extends object> = TrueStore<Schema>;
14
- export type TestStoreOverride<Schema extends object = object> = {
15
- registration: TestStoreRegistration<Schema>;
16
- initialize: (store: TrueStore<Schema>) => void | Promise<void>;
17
- };
18
- export declare function testStore<Schema extends object>(registration: TestStoreRegistration<Schema>, initialize: (store: TestStore<Schema>) => void | Promise<void>): TestStoreOverride<Schema>;
19
- export type TestAppOptions<Props extends object> = {
20
- document?: Document;
21
- props?: Props;
22
- container?: HTMLElement;
23
- location?: string;
24
- routeParams?: Record<string, string>;
25
- routeData?: unknown;
26
- globalData?: Record<string, unknown>;
27
- stores?: readonly TestStoreOverride<any>[];
28
- };
29
- export type TestApp<Component extends TungstenBaseComponent> = {
30
- readonly document: Document;
31
- readonly container: HTMLElement;
32
- readonly component: Component;
33
- resolved(): Promise<void>;
34
- setProps(props: Component['props']): Promise<void>;
35
- unmount(): Promise<void>;
36
- };
37
- export type CreateTestAppArgs<Props extends object> = object extends Props ? [options?: TestAppOptions<Props>] : keyof Props extends never ? [options?: TestAppOptions<Props>] : [options: TestAppOptions<Props> & {
38
- props: Props;
39
- }];
40
- export declare function createTestApp<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>, RouteData = undefined>(RootComponent: new (pkg: ConstructPackage<Props, RouteData>) => Component, ...args: CreateTestAppArgs<Props>): Promise<TestApp<Component>>;
4
+ export { createTestApp, testStore, type ComponentProps, type CreateTestAppArgs, type TestApp, type TestAppOptions, type TestStore, type TestStoreOverride, type TestStoreRegistration, } from './createTestApp.js';
5
+ export { host, type HostOptions, type HostStoreOptions, type Hosted } from './host.js';
6
+ export { testingComponentPackage } from './testingComponentPackage.js';
7
+ export { contentHtmlElements } from './helpers/contentHtmlElements.js';
8
+ export { makeStore, type TrueStore } from '../Store/makeStore.js';
41
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAUtD,MAAM,MAAM,cAAc,CACtB,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,IACzD,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAA;AAExC,MAAM,MAAM,qBAAqB,CAAC,MAAM,SAAS,MAAM,IAAI;IACvD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAA;CAChE,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;AAEhE,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAC5D,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC3C,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjE,CAAA;AAED,wBAAgB,SAAS,CAAC,MAAM,SAAS,MAAM,EAC3C,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAC3C,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC/D,iBAAiB,CAAC,MAAM,CAAC,CAE3B;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI;IAC/C,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,SAAS,SAAS,qBAAqB,IAAI;IAC3D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAE7B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GACpE,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,GACjC,MAAM,KAAK,SAAS,KAAK,GACrB,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,GACjC,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAqE7D,wBAAsB,aAAa,CAC/B,KAAK,SAAS,0BAA0B,EACxC,SAAS,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,SAAS,GAAG,SAAS,EAGrB,aAAa,EAAE,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,EACzE,GAAG,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAqH7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EACH,aAAa,EACb,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC7B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,165 +1,8 @@
1
- function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
2
- function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
3
- 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; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
- 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); }
6
- function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
7
- function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
8
- function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
9
- import { Instance } from '../Instance/Instance.js';
10
- import { initStores } from '../Servers/initStores.js';
11
- import { waitForEnvIfLoading } from './loadEnv.js';
12
1
  export { loadEnv } from './loadEnv.js';
13
2
  export { testEnvVariableName } from './testEnvIsRequested.js';
14
3
  export { hydrateTestApp } from './hydrateTestApp.js';
4
+ export { createTestApp, testStore } from './createTestApp.js';
15
5
  export { host } from './host.js';
16
- export { componentPackageMock } from './temp/componentPackageMock.js';
17
- export { contentHtmlElements } from './temp/contentHtmlElements.js';
18
- import { createTungstenRootComponent, deleteTungstenRoot } from '../update/integrateUpdateVdom.js';
19
- import { UpdateScheduler } from '../update/UpdateScheduler.js';
20
- export function testStore(registration, initialize) {
21
- return {
22
- registration,
23
- initialize
24
- };
25
- }
26
- var _instance = /*#__PURE__*/new WeakMap();
27
- var _scheduler = /*#__PURE__*/new WeakMap();
28
- var _root = /*#__PURE__*/new WeakMap();
29
- var _ownsContainer = /*#__PURE__*/new WeakMap();
30
- var _unmounted = /*#__PURE__*/new WeakMap();
31
- class TestAppImplementation {
32
- constructor(document, container, component, instance, scheduler, root, ownsContainer) {
33
- _defineProperty(this, "document", void 0);
34
- _defineProperty(this, "container", void 0);
35
- _defineProperty(this, "component", void 0);
36
- _classPrivateFieldInitSpec(this, _instance, void 0);
37
- _classPrivateFieldInitSpec(this, _scheduler, void 0);
38
- _classPrivateFieldInitSpec(this, _root, void 0);
39
- _classPrivateFieldInitSpec(this, _ownsContainer, void 0);
40
- _classPrivateFieldInitSpec(this, _unmounted, false);
41
- _defineProperty(this, "resolved", async () => {
42
- await _classPrivateFieldGet(_scheduler, this).resolved();
43
- });
44
- _defineProperty(this, "setProps", async props => {
45
- if (_classPrivateFieldGet(_unmounted, this)) throw new Error('Cannot set props on an unmounted Tungsten TestApp.');
46
- this.component.props = props;
47
- _classPrivateFieldGet(_instance, this).queueUpdate(this.component);
48
- await this.resolved();
49
- });
50
- _defineProperty(this, "unmount", async () => {
51
- if (_classPrivateFieldGet(_unmounted, this)) return;
52
- _classPrivateFieldSet(_unmounted, this, true);
53
- _classPrivateFieldGet(_scheduler, this).cancelPending();
54
- let cleanupError;
55
- try {
56
- deleteTungstenRoot(_classPrivateFieldGet(_root, this));
57
- _classPrivateFieldGet(_instance, this).disposeRegisteredComponents();
58
- await _classPrivateFieldGet(_scheduler, this).resolved();
59
- } catch (error) {
60
- cleanupError = error;
61
- try {
62
- _classPrivateFieldGet(_instance, this).disposeRegisteredComponents();
63
- } catch {
64
- // Preserve the first cleanup failure.
65
- }
66
- } finally {
67
- _classPrivateFieldGet(_scheduler, this).dispose();
68
- if (_classPrivateFieldGet(_ownsContainer, this)) this.container.remove();else while (this.container.firstChild !== null) this.container.removeChild(this.container.firstChild);
69
- }
70
- if (cleanupError !== undefined) throw cleanupError;
71
- });
72
- this.document = document;
73
- this.container = container;
74
- this.component = component;
75
- _classPrivateFieldSet(_instance, this, instance);
76
- _classPrivateFieldSet(_scheduler, this, scheduler);
77
- _classPrivateFieldSet(_root, this, root);
78
- _classPrivateFieldSet(_ownsContainer, this, ownsContainer);
79
- }
80
- }
81
- export async function createTestApp(
82
- // Props is inferred from both the class and `props`, so literal props are typed by the component
83
- RootComponent, ...args) {
84
- await waitForEnvIfLoading();
85
- const options = args[0];
86
- const suppliedDocument = options?.document ?? globalThis.document;
87
- if (suppliedDocument === undefined) {
88
- // eslint-disable-line @typescript-eslint/no-unnecessary-condition
89
- throw new Error('createTestApp() requires options.document when no global document is available.');
90
- }
91
- const document = suppliedDocument;
92
- const ownsContainer = options?.container === undefined;
93
- const container = options?.container ?? document.createElement('div');
94
- if (container.ownerDocument !== document) {
95
- throw new Error('The TestApp container must belong to options.document.');
96
- }
97
- if (container.childNodes.length > 0) {
98
- throw new Error('The TestApp container must be empty before mounting.');
99
- }
100
- if (ownsContainer) {
101
- if (document.body === null) {
102
- // eslint-disable-line @typescript-eslint/no-unnecessary-condition
103
- throw new Error('The supplied document must have a body element.');
104
- }
105
- document.body.appendChild(container);
106
- }
107
- const location = options?.location ?? '/';
108
- const globalData = options?.globalData ?? {};
109
- const matchedRouteInfo = {
110
- key: null,
111
- params: options?.routeParams ?? {},
112
- content: null,
113
- ...(options !== undefined && 'routeData' in options ? {
114
- data: options.routeData
115
- } : {})
116
- };
117
- const scheduler = new UpdateScheduler();
118
- const runtimeContext = {
119
- document,
120
- window: document.defaultView,
121
- scheduler,
122
- navigation: false
123
- };
124
- const {
125
- internalStore,
126
- stores,
127
- storeSubscriptions
128
- } = initStores(location, null, globalData, matchedRouteInfo);
129
- const instanceConfig = {
130
- prod: false,
131
- useRootComponent: true,
132
- clientSideNav: false,
133
- siteBasePath: '/',
134
- staticSite: false,
135
- csr: false
136
- };
137
- const emptyRoutes = {};
138
- const instance = new Instance(location, instanceConfig, null, emptyRoutes, emptyRoutes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
139
- try {
140
- for (const override of options?.stores ?? []) {
141
- const store = override.registration.getStore(instance.stores);
142
- await override.initialize(store);
143
- }
144
- const props = options?.props ?? {};
145
- const root = await createTungstenRootComponent(RootComponent, props, options?.routeParams, options?.routeData, instance, container);
146
- const testApp = new TestAppImplementation(document, container, root.component, instance, scheduler, root, ownsContainer);
147
- try {
148
- await testApp.resolved();
149
- return testApp;
150
- } catch (error) {
151
- await testApp.unmount();
152
- throw error;
153
- }
154
- } catch (error) {
155
- try {
156
- instance.disposeRegisteredComponents();
157
- } catch {
158
- // Preserve the mount failure.
159
- }
160
- scheduler.dispose();
161
- while (container.firstChild !== null) container.removeChild(container.firstChild);
162
- if (ownsContainer) container.remove();
163
- throw error;
164
- }
165
- }
6
+ export { testingComponentPackage } from './testingComponentPackage.js';
7
+ export { contentHtmlElements } from './helpers/contentHtmlElements.js';
8
+ export { makeStore } from '../Store/makeStore.js';
@@ -1 +1 @@
1
- {"version":3,"file":"installTestDocInit.d.ts","sourceRoot":"","sources":["../../src/testing/installTestDocInit.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC"}
1
+ {"version":3,"file":"installTestDocInit.d.ts","sourceRoot":"","sources":["../../src/testing/installTestDocInit.ts"],"names":[],"mappings":"AAIA,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"installTestStyleProcessors.d.ts","sourceRoot":"","sources":["../../src/testing/installTestStyleProcessors.ts"],"names":[],"mappings":"AAeA,wBAAgB,0BAA0B,CAAC,UAAU,SAAS,GAAG,IAAI,CAMpE"}
1
+ {"version":3,"file":"installTestStyleProcessors.d.ts","sourceRoot":"","sources":["../../src/testing/installTestStyleProcessors.ts"],"names":[],"mappings":"AAiBA,wBAAgB,0BAA0B,CAAC,UAAU,SAAS,GAAG,IAAI,CAMpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/testing/loadEnv.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GAAG;IAGzB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AASD,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnE;AAID,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnD"}
1
+ {"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/testing/loadEnv.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,cAAc,GAAG;IAGzB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AASD,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnE;AAID,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"testEnvIsRequested.d.ts","sourceRoot":"","sources":["../../src/testing/testEnvIsRequested.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,sBAAsB,CAAA;AAEtD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAIrE"}
1
+ {"version":3,"file":"testEnvIsRequested.d.ts","sourceRoot":"","sources":["../../src/testing/testEnvIsRequested.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,sBAAsB,CAAA;AAEtD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAIrE"}
@@ -0,0 +1,37 @@
1
+ import type { ConstructPackage } from '../Components.jsx';
2
+ import type { Instance } from '../Instance/Instance.js';
3
+ import type { InstanceConfig } from '../Instance/InstanceConfig.js';
4
+ import type { PartialInternalStoreSchema } from '../Store/InternalStoreSchema.js';
5
+ import type { GlobalData } from '../routing/registerGlobalData.js';
6
+ import { $trueStoreCell, type TrueStore } from '../Store/makeStore.js';
7
+ export type TestingComponentPackageOptions = {
8
+ store?: Partial<TrueStore<any>>;
9
+ routes?: object;
10
+ globalData?: GlobalData;
11
+ internalStore?: PartialInternalStoreSchema;
12
+ config?: Partial<InstanceConfig>;
13
+ trackWork?: Instance['trackWork'];
14
+ queueUpdate?: Instance['queueUpdate'];
15
+ queueTask?: Instance['queueTask'];
16
+ setTitle?: Instance['setTitle'];
17
+ goto?: Instance['goto'];
18
+ redirect?: Instance['redirect'];
19
+ };
20
+ export declare const storeValue: <Value>(initialValue: Value) => {
21
+ [$trueStoreCell]: true;
22
+ get: () => Value;
23
+ set: (newValue: Value) => void;
24
+ subscribe: () => undefined;
25
+ unsubscribe: () => undefined;
26
+ sync: () => Value;
27
+ };
28
+ export declare const missingStoreValue: <Value>(key: string) => {
29
+ [$trueStoreCell]: true;
30
+ get: () => Value;
31
+ set: () => undefined;
32
+ subscribe: () => undefined;
33
+ unsubscribe: () => undefined;
34
+ sync: () => Value;
35
+ };
36
+ export declare const testingComponentPackage: <Props extends object>(props: Props, options?: TestingComponentPackageOptions) => ConstructPackage<Props, undefined>;
37
+ //# sourceMappingURL=testingComponentPackage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testingComponentPackage.d.ts","sourceRoot":"","sources":["../../src/testing/testingComponentPackage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAuB,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AACtG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGtE,MAAM,MAAM,8BAA8B,GAAG;IAIzC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAG/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,UAAU,CAAA;IAMvB,aAAa,CAAC,EAAE,0BAA0B,CAAA;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAGhC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IAIjC,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAGrC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAG/B,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;CAClC,CAAA;AASD,eAAO,MAAM,UAAU,GAAI,KAAK,EAAE,cAAc,KAAK;;;oBAK7B,KAAK;;;;CAK5B,CAAA;AAID,eAAO,MAAM,iBAAiB,GAAI,KAAK,EAAE,KAAK,MAAM;;eAEvC,KAAK;;;;gBAIJ,KAAK;CACjB,CAAA;AAuBF,eAAO,MAAM,uBAAuB,GAAI,KAAK,SAAS,MAAM,EACxD,OAAO,KAAK,EACZ,UAAS,8BAAmC,KAC7C,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAyClC,CAAA"}