foldkit 0.168.0 → 0.169.0-canary.1f6776fa7ece

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 (584) hide show
  1. package/README.md +53 -36
  2. package/dist/asyncData/asyncData.d.ts +48 -40
  3. package/dist/asyncData/asyncData.d.ts.map +1 -1
  4. package/dist/asyncData/asyncData.js +48 -40
  5. package/dist/asyncData/index.d.ts.map +1 -1
  6. package/dist/asyncData/public.d.ts.map +1 -1
  7. package/dist/block/assemblyState.d.ts +25 -0
  8. package/dist/block/assemblyState.d.ts.map +1 -0
  9. package/dist/block/assemblyState.js +34 -0
  10. package/dist/block/bindChild.d.ts +582 -0
  11. package/dist/block/bindChild.d.ts.map +1 -0
  12. package/dist/block/bindChild.js +516 -0
  13. package/dist/block/binding.d.ts +601 -0
  14. package/dist/block/binding.d.ts.map +1 -0
  15. package/dist/block/binding.js +349 -0
  16. package/dist/block/bindingOutMessagePolicy.d.ts +19 -0
  17. package/dist/block/bindingOutMessagePolicy.d.ts.map +1 -0
  18. package/dist/block/bindingOutMessagePolicy.js +82 -0
  19. package/dist/block/childEnvelope.d.ts +47 -0
  20. package/dist/block/childEnvelope.d.ts.map +1 -0
  21. package/dist/block/childEnvelope.js +85 -0
  22. package/dist/block/commandsStep.d.ts +26 -0
  23. package/dist/block/commandsStep.d.ts.map +1 -0
  24. package/dist/block/commandsStep.js +7 -0
  25. package/dist/block/composition.d.ts +98 -0
  26. package/dist/block/composition.d.ts.map +1 -0
  27. package/dist/block/composition.js +100 -0
  28. package/dist/block/decodedSchemaShape.d.ts +5 -0
  29. package/dist/block/decodedSchemaShape.d.ts.map +1 -0
  30. package/dist/block/decodedSchemaShape.js +126 -0
  31. package/dist/block/defaultView.d.ts +14 -0
  32. package/dist/block/defaultView.d.ts.map +1 -0
  33. package/dist/block/defaultView.js +17 -0
  34. package/dist/block/deferredPolicy.d.ts +52 -0
  35. package/dist/block/deferredPolicy.d.ts.map +1 -0
  36. package/dist/block/define.d.ts +124 -0
  37. package/dist/block/define.d.ts.map +1 -0
  38. package/dist/block/define.js +48 -0
  39. package/dist/block/definition.d.ts +1173 -0
  40. package/dist/block/definition.d.ts.map +1 -0
  41. package/dist/block/definition.js +457 -0
  42. package/dist/block/delivery.d.ts +263 -0
  43. package/dist/block/delivery.d.ts.map +1 -0
  44. package/dist/block/delivery.js +190 -0
  45. package/dist/block/directConnection.d.ts +33 -0
  46. package/dist/block/directConnection.d.ts.map +1 -0
  47. package/dist/block/directConnection.js +187 -0
  48. package/dist/block/fieldStep.d.ts +42 -0
  49. package/dist/block/fieldStep.d.ts.map +1 -0
  50. package/dist/block/fieldStep.js +10 -0
  51. package/dist/block/fromAssembly.d.ts +285 -0
  52. package/dist/block/fromAssembly.d.ts.map +1 -0
  53. package/dist/block/fromAssembly.js +8 -0
  54. package/dist/block/identity.d.ts +73 -0
  55. package/dist/block/identity.d.ts.map +1 -0
  56. package/dist/block/identity.js +87 -0
  57. package/dist/block/initRecipe.d.ts +46 -0
  58. package/dist/block/initRecipe.d.ts.map +1 -0
  59. package/dist/block/initRecipe.js +25 -0
  60. package/dist/block/initialization.d.ts +195 -0
  61. package/dist/block/initialization.d.ts.map +1 -0
  62. package/dist/block/initialization.js +1 -0
  63. package/dist/block/initializationRuntime.d.ts +14 -0
  64. package/dist/block/initializationRuntime.d.ts.map +1 -0
  65. package/dist/block/initializationRuntime.js +312 -0
  66. package/dist/block/instanceContext.d.ts +48 -0
  67. package/dist/block/instanceContext.d.ts.map +1 -0
  68. package/dist/block/instanceContext.js +82 -0
  69. package/dist/block/keyedBinding.d.ts +194 -0
  70. package/dist/block/keyedBinding.d.ts.map +1 -0
  71. package/dist/block/keyedBinding.js +223 -0
  72. package/dist/block/keyedFieldConnection.d.ts +103 -0
  73. package/dist/block/keyedFieldConnection.d.ts.map +1 -0
  74. package/dist/block/keyedFieldConnection.js +349 -0
  75. package/dist/block/lowering.d.ts +11 -0
  76. package/dist/block/lowering.d.ts.map +1 -0
  77. package/dist/block/lowering.js +85 -0
  78. package/dist/block/messageSchemaContract.d.ts +9 -0
  79. package/dist/block/messageSchemaContract.d.ts.map +1 -0
  80. package/dist/block/messageSchemaContract.js +43 -0
  81. package/dist/block/named.d.ts +154 -0
  82. package/dist/block/named.d.ts.map +1 -0
  83. package/dist/block/named.js +56 -0
  84. package/dist/block/operation.d.ts +18 -0
  85. package/dist/block/operation.d.ts.map +1 -0
  86. package/dist/block/operation.js +16 -0
  87. package/dist/block/operationGraph.d.ts +14 -0
  88. package/dist/block/operationGraph.d.ts.map +1 -0
  89. package/dist/block/operationGraph.js +39 -0
  90. package/dist/block/operationMessage.d.ts +4 -0
  91. package/dist/block/operationMessage.d.ts.map +1 -0
  92. package/dist/block/operationMessage.js +22 -0
  93. package/dist/block/outMessageFold.d.ts +104 -0
  94. package/dist/block/outMessageFold.d.ts.map +1 -0
  95. package/dist/block/outMessageFold.js +20 -0
  96. package/dist/block/outMessageForward.d.ts +83 -0
  97. package/dist/block/outMessageForward.d.ts.map +1 -0
  98. package/dist/block/outMessageForward.js +25 -0
  99. package/dist/block/outMessageHandlers.d.ts +13 -0
  100. package/dist/block/outMessageHandlers.d.ts.map +1 -0
  101. package/dist/block/outMessageHandlers.js +66 -0
  102. package/dist/block/outMessageHelperEvidence.d.ts +11 -0
  103. package/dist/block/outMessageHelperEvidence.d.ts.map +1 -0
  104. package/dist/block/outMessageHelperEvidence.js +1 -0
  105. package/dist/block/outMessagePolicyRuntime.d.ts +14 -0
  106. package/dist/block/outMessagePolicyRuntime.d.ts.map +1 -0
  107. package/dist/block/outMessagePolicyRuntime.js +23 -0
  108. package/dist/block/outMessageStep.d.ts +23 -0
  109. package/dist/block/outMessageStep.d.ts.map +1 -0
  110. package/dist/block/outMessageStep.js +2 -0
  111. package/dist/block/owner.d.ts +15 -0
  112. package/dist/block/owner.d.ts.map +1 -0
  113. package/dist/block/owner.js +9 -0
  114. package/dist/block/ownerName.d.ts +11 -0
  115. package/dist/block/ownerName.d.ts.map +1 -0
  116. package/dist/block/ownerName.js +20 -0
  117. package/dist/block/policyEvidence.d.ts +70 -0
  118. package/dist/block/policyEvidence.d.ts.map +1 -0
  119. package/dist/block/policyEvidence.js +1 -0
  120. package/dist/block/public.d.ts +29 -0
  121. package/dist/block/public.d.ts.map +1 -0
  122. package/dist/block/public.js +4 -0
  123. package/dist/block/requirements.d.ts +355 -0
  124. package/dist/block/requirements.d.ts.map +1 -0
  125. package/dist/block/requirements.js +1 -0
  126. package/dist/block/scope.d.ts +67 -0
  127. package/dist/block/scope.d.ts.map +1 -0
  128. package/dist/block/scope.js +238 -0
  129. package/dist/block/viewScope.d.ts +11 -0
  130. package/dist/block/viewScope.d.ts.map +1 -0
  131. package/dist/block/viewScope.js +58 -0
  132. package/dist/brand/brand.d.ts.map +1 -1
  133. package/dist/brand/index.d.ts.map +1 -1
  134. package/dist/brand/public.d.ts.map +1 -1
  135. package/dist/buildToken.d.ts.map +1 -1
  136. package/dist/calendar/arithmetic.d.ts.map +1 -1
  137. package/dist/calendar/calendarDate.d.ts.map +1 -1
  138. package/dist/calendar/comparison.d.ts.map +1 -1
  139. package/dist/calendar/index.d.ts.map +1 -1
  140. package/dist/calendar/info.d.ts.map +1 -1
  141. package/dist/calendar/locale.d.ts +4 -56
  142. package/dist/calendar/locale.d.ts.map +1 -1
  143. package/dist/calendar/public.d.ts.map +1 -1
  144. package/dist/calendar/today.d.ts.map +1 -1
  145. package/dist/canvas/index.d.ts.map +1 -1
  146. package/dist/canvas/paint.d.ts.map +1 -1
  147. package/dist/canvas/public.d.ts.map +1 -1
  148. package/dist/canvas/shape.d.ts.map +1 -1
  149. package/dist/canvas/view.d.ts.map +1 -1
  150. package/dist/command/brand.d.ts.map +1 -1
  151. package/dist/command/handler.d.ts +38 -0
  152. package/dist/command/handler.d.ts.map +1 -0
  153. package/dist/command/handler.js +24 -0
  154. package/dist/command/index.d.ts +159 -70
  155. package/dist/command/index.d.ts.map +1 -1
  156. package/dist/command/index.js +45 -26
  157. package/dist/command/interruptible/index.d.ts.map +1 -1
  158. package/dist/command/interruptible/interruptible.d.ts +3 -2
  159. package/dist/command/interruptible/interruptible.d.ts.map +1 -1
  160. package/dist/command/interruptible/interruptible.js +13 -2
  161. package/dist/command/interruptible/public.d.ts.map +1 -1
  162. package/dist/command/public.d.ts +16 -1
  163. package/dist/command/public.d.ts.map +1 -1
  164. package/dist/controlledDomState.d.ts.map +1 -1
  165. package/dist/cssStyleProperties.d.ts.map +1 -1
  166. package/dist/customElement/index.d.ts +25 -18
  167. package/dist/customElement/index.d.ts.map +1 -1
  168. package/dist/customElement/index.js +1 -1
  169. package/dist/customElement/public.d.ts.map +1 -1
  170. package/dist/devTools/{submodelPath.d.ts → blockPath.d.ts} +8 -8
  171. package/dist/devTools/blockPath.d.ts.map +1 -0
  172. package/dist/devTools/{submodelPath.js → blockPath.js} +6 -6
  173. package/dist/devTools/historyQuery.d.ts.map +1 -1
  174. package/dist/devTools/host.d.ts +1 -1
  175. package/dist/devTools/host.d.ts.map +1 -1
  176. package/dist/devTools/host.js +1 -1
  177. package/dist/devTools/protocol.d.ts +16 -16
  178. package/dist/devTools/protocol.d.ts.map +1 -1
  179. package/dist/devTools/protocol.js +5 -5
  180. package/dist/devTools/public.d.ts.map +1 -1
  181. package/dist/devTools/schemaSummarize.d.ts +2 -2
  182. package/dist/devTools/schemaSummarize.d.ts.map +1 -1
  183. package/dist/devTools/schemaSummarize.js +4 -4
  184. package/dist/devTools/serialize.d.ts.map +1 -1
  185. package/dist/devTools/serialize.js +4 -4
  186. package/dist/devTools/store.d.ts +3 -3
  187. package/dist/devTools/store.d.ts.map +1 -1
  188. package/dist/devTools/store.js +6 -5
  189. package/dist/devTools/summarize.d.ts.map +1 -1
  190. package/dist/devTools/webSocketBridge.d.ts +11 -6
  191. package/dist/devTools/webSocketBridge.d.ts.map +1 -1
  192. package/dist/devTools/webSocketBridge.js +52 -23
  193. package/dist/dom/animationFrameTicks.d.ts +37 -0
  194. package/dist/dom/animationFrameTicks.d.ts.map +1 -0
  195. package/dist/dom/animationFrameTicks.js +49 -0
  196. package/dist/dom/dialogRuntime.d.ts.map +1 -1
  197. package/dist/dom/dom.d.ts.map +1 -1
  198. package/dist/dom/elementMovement.d.ts.map +1 -1
  199. package/dist/dom/error.d.ts.map +1 -1
  200. package/dist/dom/index.d.ts +1 -0
  201. package/dist/dom/index.d.ts.map +1 -1
  202. package/dist/dom/index.js +1 -0
  203. package/dist/dom/inert.d.ts +7 -3
  204. package/dist/dom/inert.d.ts.map +1 -1
  205. package/dist/dom/inert.js +19 -9
  206. package/dist/dom/public.d.ts +1 -1
  207. package/dist/dom/public.d.ts.map +1 -1
  208. package/dist/dom/public.js +1 -1
  209. package/dist/dom/scrollLock.d.ts.map +1 -1
  210. package/dist/dom/streamFromEvent.d.ts +95 -60
  211. package/dist/dom/streamFromEvent.d.ts.map +1 -1
  212. package/dist/dom/streamFromEvent.js +69 -54
  213. package/dist/dom/streamFromKeyBindings.d.ts +70 -36
  214. package/dist/dom/streamFromKeyBindings.d.ts.map +1 -1
  215. package/dist/dom/streamFromKeyBindings.js +58 -37
  216. package/dist/dom/streamFromMediaQuery.d.ts +22 -14
  217. package/dist/dom/streamFromMediaQuery.d.ts.map +1 -1
  218. package/dist/dom/streamFromMediaQuery.js +19 -12
  219. package/dist/dom/waitForAnimation.d.ts.map +1 -1
  220. package/dist/domReflection.d.ts.map +1 -1
  221. package/dist/effectExtensions/index.d.ts.map +1 -1
  222. package/dist/effectExtensions/optionExtensions.d.ts.map +1 -1
  223. package/dist/effectExtensions/stringExtensions.d.ts.map +1 -1
  224. package/dist/experimental/index.d.ts +1 -1
  225. package/dist/experimental/index.d.ts.map +1 -1
  226. package/dist/experimental/index.js +1 -1
  227. package/dist/experimental/machine/index.d.ts.map +1 -1
  228. package/dist/experimental/machine/machine.d.ts +7 -5
  229. package/dist/experimental/machine/machine.d.ts.map +1 -1
  230. package/dist/experimental/machine/machine.js +1 -1
  231. package/dist/experimental/machine/public.d.ts.map +1 -1
  232. package/dist/experimental/public.d.ts.map +1 -1
  233. package/dist/experimental/query/define.d.ts +36 -8
  234. package/dist/experimental/query/define.d.ts.map +1 -1
  235. package/dist/experimental/query/define.js +17 -3
  236. package/dist/experimental/query/index.d.ts +2 -2
  237. package/dist/experimental/query/index.d.ts.map +1 -1
  238. package/dist/experimental/query/internal.d.ts +1 -39
  239. package/dist/experimental/query/internal.d.ts.map +1 -1
  240. package/dist/experimental/query/internal.js +1 -15
  241. package/dist/experimental/query/keyedQuery.d.ts +116 -44
  242. package/dist/experimental/query/keyedQuery.d.ts.map +1 -1
  243. package/dist/experimental/query/keyedQuery.js +167 -59
  244. package/dist/experimental/query/public.d.ts +2 -2
  245. package/dist/experimental/query/public.d.ts.map +1 -1
  246. package/dist/experimental/query/query.d.ts +85 -43
  247. package/dist/experimental/query/query.d.ts.map +1 -1
  248. package/dist/experimental/query/query.js +110 -43
  249. package/dist/experimental/server/document.d.ts.map +1 -1
  250. package/dist/experimental/server/entry.d.ts.map +1 -1
  251. package/dist/experimental/server/fetch.d.ts.map +1 -1
  252. package/dist/experimental/server/fragment.d.ts +15 -0
  253. package/dist/experimental/server/fragment.d.ts.map +1 -0
  254. package/dist/experimental/server/fragment.js +14 -0
  255. package/dist/experimental/server/host.d.ts.map +1 -1
  256. package/dist/experimental/server/index.d.ts.map +1 -1
  257. package/dist/experimental/server/public.d.ts.map +1 -1
  258. package/dist/experimental/server/serialize.d.ts.map +1 -1
  259. package/dist/experimental/server/server.d.ts +75 -23
  260. package/dist/experimental/server/server.d.ts.map +1 -1
  261. package/dist/experimental/server/server.js +57 -24
  262. package/dist/experimental/server/template.d.ts.map +1 -1
  263. package/dist/experimental/server/template.js +20 -19
  264. package/dist/fieldValidation/fieldValidation.d.ts.map +1 -1
  265. package/dist/fieldValidation/index.d.ts.map +1 -1
  266. package/dist/fieldValidation/public.d.ts.map +1 -1
  267. package/dist/fieldValidation/rule.d.ts.map +1 -1
  268. package/dist/file/error.d.ts.map +1 -1
  269. package/dist/file/file.d.ts +1 -1
  270. package/dist/file/file.d.ts.map +1 -1
  271. package/dist/file/index.d.ts.map +1 -1
  272. package/dist/file/public.d.ts.map +1 -1
  273. package/dist/file/reader.d.ts.map +1 -1
  274. package/dist/file/select.d.ts.map +1 -1
  275. package/dist/html/block.d.ts +220 -0
  276. package/dist/html/block.d.ts.map +1 -0
  277. package/dist/html/{submodel.js → block.js} +129 -64
  278. package/dist/html/boundary.d.ts +54 -48
  279. package/dist/html/boundary.d.ts.map +1 -1
  280. package/dist/html/boundary.js +219 -88
  281. package/dist/html/childAttribute.d.ts +50 -15
  282. package/dist/html/childAttribute.d.ts.map +1 -1
  283. package/dist/html/childAttribute.js +9 -5
  284. package/dist/html/dragZoneTracking.d.ts.map +1 -1
  285. package/dist/html/index.d.ts +4520 -836
  286. package/dist/html/index.d.ts.map +1 -1
  287. package/dist/html/index.js +103 -40
  288. package/dist/html/lazy.d.ts +132 -1
  289. package/dist/html/lazy.d.ts.map +1 -1
  290. package/dist/html/lazy.js +66 -7
  291. package/dist/html/public.d.ts +3 -0
  292. package/dist/html/public.d.ts.map +1 -1
  293. package/dist/html/runtimeSingleton.d.ts +30 -17
  294. package/dist/html/runtimeSingleton.d.ts.map +1 -1
  295. package/dist/html/runtimeSingleton.js +41 -25
  296. package/dist/html/viewInputs.d.ts +38 -0
  297. package/dist/html/viewInputs.d.ts.map +1 -0
  298. package/dist/html/viewInputs.js +1 -0
  299. package/dist/http/http.d.ts +25 -18
  300. package/dist/http/http.d.ts.map +1 -1
  301. package/dist/http/http.js +25 -18
  302. package/dist/http/index.d.ts.map +1 -1
  303. package/dist/http/public.d.ts.map +1 -1
  304. package/dist/hydrate.d.ts.map +1 -1
  305. package/dist/hydrationMarker.d.ts.map +1 -1
  306. package/dist/hydrationMarkers.d.ts.map +1 -1
  307. package/dist/imeComposition.d.ts +3 -0
  308. package/dist/imeComposition.d.ts.map +1 -0
  309. package/dist/imeComposition.js +6 -0
  310. package/dist/index.d.ts +2 -1
  311. package/dist/index.d.ts.map +1 -1
  312. package/dist/index.js +2 -1
  313. package/dist/managedResource/handler.d.ts +43 -0
  314. package/dist/managedResource/handler.d.ts.map +1 -0
  315. package/dist/managedResource/handler.js +30 -0
  316. package/dist/managedResource/index.d.ts.map +1 -1
  317. package/dist/managedResource/managedResource.d.ts +154 -86
  318. package/dist/managedResource/managedResource.d.ts.map +1 -1
  319. package/dist/managedResource/managedResource.js +99 -41
  320. package/dist/managedResource/public.d.ts +20 -1
  321. package/dist/managedResource/public.d.ts.map +1 -1
  322. package/dist/message/index.d.ts.map +1 -1
  323. package/dist/message/public.d.ts +1 -0
  324. package/dist/message/public.d.ts.map +1 -1
  325. package/dist/mount/handler.d.ts +55 -0
  326. package/dist/mount/handler.d.ts.map +1 -0
  327. package/dist/mount/handler.js +47 -0
  328. package/dist/mount/index.d.ts +228 -148
  329. package/dist/mount/index.d.ts.map +1 -1
  330. package/dist/mount/index.js +61 -9
  331. package/dist/mount/public.d.ts +11 -2
  332. package/dist/mount/public.d.ts.map +1 -1
  333. package/dist/mount/public.js +1 -1
  334. package/dist/nativeInnerHtml.d.ts.map +1 -1
  335. package/dist/navigation/index.d.ts +1 -1
  336. package/dist/navigation/index.d.ts.map +1 -1
  337. package/dist/navigation/public.d.ts +1 -1
  338. package/dist/navigation/public.d.ts.map +1 -1
  339. package/dist/navigation/urlRequest.d.ts +10 -12
  340. package/dist/navigation/urlRequest.d.ts.map +1 -1
  341. package/dist/onUnmountModule.d.ts.map +1 -1
  342. package/dist/port/index.d.ts.map +1 -1
  343. package/dist/port/port.d.ts +19 -33
  344. package/dist/port/port.d.ts.map +1 -1
  345. package/dist/port/port.js +17 -32
  346. package/dist/port/public.d.ts +1 -1
  347. package/dist/port/public.d.ts.map +1 -1
  348. package/dist/port/public.js +1 -1
  349. package/dist/propertyProvenance.d.ts.map +1 -1
  350. package/dist/propsModule.d.ts.map +1 -1
  351. package/dist/render/commit.d.ts.map +1 -1
  352. package/dist/render/index.d.ts.map +1 -1
  353. package/dist/render/public.d.ts.map +1 -1
  354. package/dist/render/render.d.ts.map +1 -1
  355. package/dist/route/index.d.ts.map +1 -1
  356. package/dist/route/parser.d.ts.map +1 -1
  357. package/dist/route/public.d.ts.map +1 -1
  358. package/dist/route/transition.d.ts +50 -0
  359. package/dist/route/transition.d.ts.map +1 -1
  360. package/dist/route/transition.js +48 -0
  361. package/dist/runtime/application.d.ts +176 -0
  362. package/dist/runtime/application.d.ts.map +1 -0
  363. package/dist/runtime/application.js +107 -0
  364. package/dist/runtime/browserListeners.d.ts +31 -0
  365. package/dist/runtime/browserListeners.d.ts.map +1 -1
  366. package/dist/runtime/browserListeners.js +14 -0
  367. package/dist/runtime/browserScheduler.d.ts.map +1 -1
  368. package/dist/runtime/childOrigin.d.ts +16 -0
  369. package/dist/runtime/childOrigin.d.ts.map +1 -0
  370. package/dist/runtime/childOrigin.js +124 -0
  371. package/dist/runtime/compositionRuntime.d.ts +29 -0
  372. package/dist/runtime/compositionRuntime.d.ts.map +1 -0
  373. package/dist/runtime/compositionRuntime.js +343 -0
  374. package/dist/runtime/crashUI.d.ts.map +1 -1
  375. package/dist/runtime/deepFreeze.d.ts.map +1 -1
  376. package/dist/runtime/devToolsConfig.d.ts +9 -9
  377. package/dist/runtime/devToolsConfig.d.ts.map +1 -1
  378. package/dist/runtime/devToolsIntegration.d.ts +13 -9
  379. package/dist/runtime/devToolsIntegration.d.ts.map +1 -1
  380. package/dist/runtime/devToolsIntegration.js +38 -28
  381. package/dist/runtime/dispatch.d.ts.map +1 -1
  382. package/dist/runtime/documentMetadata.d.ts.map +1 -1
  383. package/dist/runtime/documentMetadata.js +18 -19
  384. package/dist/runtime/duplicateIdScanner.d.ts.map +1 -1
  385. package/dist/runtime/handlerContracts.d.ts +30 -0
  386. package/dist/runtime/handlerContracts.d.ts.map +1 -0
  387. package/dist/runtime/handlerContracts.js +1 -0
  388. package/dist/runtime/hostConnector.d.ts.map +1 -1
  389. package/dist/runtime/hydrationHandoff.d.ts +4 -5
  390. package/dist/runtime/hydrationHandoff.d.ts.map +1 -1
  391. package/dist/runtime/hydrationHandoff.js +3 -3
  392. package/dist/runtime/index.d.ts.map +1 -1
  393. package/dist/runtime/makeApplication.d.ts +126 -23
  394. package/dist/runtime/makeApplication.d.ts.map +1 -1
  395. package/dist/runtime/makeApplication.js +1 -1
  396. package/dist/runtime/makeElement.d.ts +99 -21
  397. package/dist/runtime/makeElement.d.ts.map +1 -1
  398. package/dist/runtime/makeElement.js +1 -1
  399. package/dist/runtime/managedResourceFibers.d.ts +2 -1
  400. package/dist/runtime/managedResourceFibers.d.ts.map +1 -1
  401. package/dist/runtime/managedResourceFibers.js +19 -16
  402. package/dist/runtime/messageQueue.d.ts +9 -7
  403. package/dist/runtime/messageQueue.d.ts.map +1 -1
  404. package/dist/runtime/messageQueue.js +54 -10
  405. package/dist/runtime/modelPreservation.d.ts.map +1 -1
  406. package/dist/runtime/modelPreservationBridge.d.ts.map +1 -1
  407. package/dist/runtime/modelPreservationPublic.d.ts.map +1 -1
  408. package/dist/runtime/preserveScheduler.d.ts.map +1 -1
  409. package/dist/runtime/program.d.ts +184 -0
  410. package/dist/runtime/program.d.ts.map +1 -0
  411. package/dist/runtime/program.js +58 -0
  412. package/dist/runtime/programPublic.d.ts +2 -0
  413. package/dist/runtime/programPublic.d.ts.map +1 -0
  414. package/dist/runtime/programPublic.js +1 -0
  415. package/dist/runtime/programRoot.d.ts +76 -0
  416. package/dist/runtime/programRoot.d.ts.map +1 -0
  417. package/dist/runtime/programRoot.js +149 -0
  418. package/dist/runtime/public.d.ts +2 -2
  419. package/dist/runtime/public.d.ts.map +1 -1
  420. package/dist/runtime/public.js +1 -1
  421. package/dist/runtime/renderer.d.ts +6 -4
  422. package/dist/runtime/renderer.d.ts.map +1 -1
  423. package/dist/runtime/renderer.js +81 -31
  424. package/dist/runtime/resourceProvider.d.ts +13 -13
  425. package/dist/runtime/resourceProvider.d.ts.map +1 -1
  426. package/dist/runtime/resourceProvider.js +29 -64
  427. package/dist/runtime/runtime.d.ts +21 -46
  428. package/dist/runtime/runtime.d.ts.map +1 -1
  429. package/dist/runtime/runtime.js +122 -50
  430. package/dist/runtime/runtimeStatus.d.ts.map +1 -1
  431. package/dist/runtime/scrollPreservation.d.ts.map +1 -1
  432. package/dist/runtime/slowPhase.d.ts.map +1 -1
  433. package/dist/runtime/start.d.ts +22 -4
  434. package/dist/runtime/start.d.ts.map +1 -1
  435. package/dist/runtime/start.js +24 -8
  436. package/dist/runtime/subscriptionFibers.d.ts.map +1 -1
  437. package/dist/runtime/subscriptionFibers.js +1 -1
  438. package/dist/runtime/viewTransition.d.ts.map +1 -1
  439. package/dist/runtime/visibility.d.ts.map +1 -1
  440. package/dist/scene/public.d.ts.map +1 -1
  441. package/dist/schema/index.d.ts +50 -27
  442. package/dist/schema/index.d.ts.map +1 -1
  443. package/dist/schema/index.js +21 -16
  444. package/dist/schema/public.d.ts.map +1 -1
  445. package/dist/snabbdom/attributes.d.ts.map +1 -1
  446. package/dist/snabbdom/class.d.ts.map +1 -1
  447. package/dist/snabbdom/dataset.d.ts.map +1 -1
  448. package/dist/snabbdom/eventlisteners.d.ts.map +1 -1
  449. package/dist/snabbdom/h.d.ts.map +1 -1
  450. package/dist/snabbdom/hooks.d.ts +2 -0
  451. package/dist/snabbdom/hooks.d.ts.map +1 -1
  452. package/dist/snabbdom/htmldomapi.d.ts.map +1 -1
  453. package/dist/snabbdom/index.d.ts.map +1 -1
  454. package/dist/snabbdom/init.d.ts.map +1 -1
  455. package/dist/snabbdom/init.js +42 -12
  456. package/dist/snabbdom/is.d.ts.map +1 -1
  457. package/dist/snabbdom/module.d.ts.map +1 -1
  458. package/dist/snabbdom/props.d.ts.map +1 -1
  459. package/dist/snabbdom/style.d.ts.map +1 -1
  460. package/dist/snabbdom/tovnode.d.ts.map +1 -1
  461. package/dist/snabbdom/vnode.d.ts +3 -0
  462. package/dist/snabbdom/vnode.d.ts.map +1 -1
  463. package/dist/story/public.d.ts.map +1 -1
  464. package/dist/struct/index.d.ts +1 -1
  465. package/dist/struct/index.d.ts.map +1 -1
  466. package/dist/struct/public.d.ts.map +1 -1
  467. package/dist/subscription/handler.d.ts +48 -0
  468. package/dist/subscription/handler.d.ts.map +1 -0
  469. package/dist/subscription/handler.js +24 -0
  470. package/dist/subscription/public.d.ts +16 -4
  471. package/dist/subscription/public.d.ts.map +1 -1
  472. package/dist/subscription/public.js +1 -2
  473. package/dist/subscription/subscription.d.ts +184 -77
  474. package/dist/subscription/subscription.d.ts.map +1 -1
  475. package/dist/subscription/subscription.js +139 -45
  476. package/dist/tagName.d.ts.map +1 -1
  477. package/dist/test/apps/attributes.d.ts +6 -10
  478. package/dist/test/apps/attributes.d.ts.map +1 -1
  479. package/dist/test/apps/bubbling.d.ts +14 -18
  480. package/dist/test/apps/bubbling.d.ts.map +1 -1
  481. package/dist/test/apps/colorPicker.d.ts +6 -10
  482. package/dist/test/apps/colorPicker.d.ts.map +1 -1
  483. package/dist/test/apps/contentEditableEditor.d.ts +9 -13
  484. package/dist/test/apps/contentEditableEditor.d.ts.map +1 -1
  485. package/dist/test/apps/contextMenu.d.ts +11 -15
  486. package/dist/test/apps/contextMenu.d.ts.map +1 -1
  487. package/dist/test/apps/counter.d.ts +111 -34
  488. package/dist/test/apps/counter.d.ts.map +1 -1
  489. package/dist/test/apps/counter.js +11 -5
  490. package/dist/test/apps/crashOnRender.d.ts +67 -29
  491. package/dist/test/apps/crashOnRender.d.ts.map +1 -1
  492. package/dist/test/apps/crashOnRender.js +8 -4
  493. package/dist/test/apps/drafts.d.ts +48 -16
  494. package/dist/test/apps/drafts.d.ts.map +1 -1
  495. package/dist/test/apps/drafts.js +8 -4
  496. package/dist/test/apps/feedSocket.d.ts +160 -57
  497. package/dist/test/apps/feedSocket.d.ts.map +1 -1
  498. package/dist/test/apps/feedSocket.js +16 -7
  499. package/dist/test/apps/fileUpload.d.ts +7 -11
  500. package/dist/test/apps/fileUpload.d.ts.map +1 -1
  501. package/dist/test/apps/focusBoundary.d.ts +7 -11
  502. package/dist/test/apps/focusBoundary.d.ts.map +1 -1
  503. package/dist/test/apps/formChild.d.ts +96 -49
  504. package/dist/test/apps/formChild.d.ts.map +1 -1
  505. package/dist/test/apps/formChild.js +18 -11
  506. package/dist/test/apps/interactions.d.ts +20 -24
  507. package/dist/test/apps/interactions.d.ts.map +1 -1
  508. package/dist/test/apps/keypress.d.ts +10 -14
  509. package/dist/test/apps/keypress.d.ts.map +1 -1
  510. package/dist/test/apps/keypressSelf.d.ts +6 -10
  511. package/dist/test/apps/keypressSelf.d.ts.map +1 -1
  512. package/dist/test/apps/login.d.ts +68 -26
  513. package/dist/test/apps/login.d.ts.map +1 -1
  514. package/dist/test/apps/login.js +8 -4
  515. package/dist/test/apps/logoutButton.d.ts +12 -13
  516. package/dist/test/apps/logoutButton.d.ts.map +1 -1
  517. package/dist/test/apps/logoutButton.js +2 -0
  518. package/dist/test/apps/mountPanel.d.ts +140 -25
  519. package/dist/test/apps/mountPanel.d.ts.map +1 -1
  520. package/dist/test/apps/mountPanel.js +22 -11
  521. package/dist/test/apps/multiRole.d.ts +5 -9
  522. package/dist/test/apps/multiRole.d.ts.map +1 -1
  523. package/dist/test/apps/pointer.d.ts +13 -17
  524. package/dist/test/apps/pointer.d.ts.map +1 -1
  525. package/dist/test/apps/resumeUpload.d.ts +84 -29
  526. package/dist/test/apps/resumeUpload.d.ts.map +1 -1
  527. package/dist/test/apps/resumeUpload.js +14 -8
  528. package/dist/test/apps/scorePanel.d.ts +7 -11
  529. package/dist/test/apps/scorePanel.d.ts.map +1 -1
  530. package/dist/test/apps/scorePanel.js +1 -1
  531. package/dist/test/apps/selectiveKeys.d.ts +29 -16
  532. package/dist/test/apps/selectiveKeys.d.ts.map +1 -1
  533. package/dist/test/apps/selectiveKeys.js +8 -4
  534. package/dist/test/apps/uploads.d.ts +106 -34
  535. package/dist/test/apps/uploads.d.ts.map +1 -1
  536. package/dist/test/apps/uploads.js +8 -4
  537. package/dist/test/bindingMatcher.d.ts +29 -0
  538. package/dist/test/bindingMatcher.d.ts.map +1 -0
  539. package/dist/test/bindingMatcher.js +83 -0
  540. package/dist/test/internal.d.ts +39 -30
  541. package/dist/test/internal.d.ts.map +1 -1
  542. package/dist/test/internal.js +54 -31
  543. package/dist/test/lazy.d.ts +26 -0
  544. package/dist/test/lazy.d.ts.map +1 -0
  545. package/dist/test/lazy.js +103 -0
  546. package/dist/test/matchers.d.ts.map +1 -1
  547. package/dist/test/public.d.ts +4 -0
  548. package/dist/test/public.d.ts.map +1 -1
  549. package/dist/test/public.js +4 -0
  550. package/dist/test/query.d.ts.map +1 -1
  551. package/dist/test/scene.d.ts +114 -43
  552. package/dist/test/scene.d.ts.map +1 -1
  553. package/dist/test/scene.js +127 -48
  554. package/dist/test/story.d.ts +8 -6
  555. package/dist/test/story.d.ts.map +1 -1
  556. package/dist/test/story.js +9 -7
  557. package/dist/test/vitest-setup.d.ts.map +1 -1
  558. package/dist/test/vitest.d.ts.map +1 -1
  559. package/dist/update/index.d.ts.map +1 -1
  560. package/dist/update/operationRecipe.d.ts +12 -0
  561. package/dist/update/operationRecipe.d.ts.map +1 -0
  562. package/dist/update/operationRecipe.js +41 -0
  563. package/dist/update/public.d.ts +2 -2
  564. package/dist/update/public.d.ts.map +1 -1
  565. package/dist/update/public.js +1 -1
  566. package/dist/update/update.d.ts +452 -101
  567. package/dist/update/update.d.ts.map +1 -1
  568. package/dist/update/update.js +132 -70
  569. package/dist/url/index.d.ts.map +1 -1
  570. package/dist/url/public.d.ts.map +1 -1
  571. package/dist/vdom.d.ts.map +1 -1
  572. package/package.json +13 -6
  573. package/dist/devTools/submodelPath.d.ts.map +0 -1
  574. package/dist/html/submodel.d.ts +0 -137
  575. package/dist/html/submodel.d.ts.map +0 -1
  576. package/dist/submodel/public.d.ts +0 -4
  577. package/dist/submodel/public.d.ts.map +0 -1
  578. package/dist/submodel/public.js +0 -1
  579. package/dist/submodel/submodel.d.ts +0 -32
  580. package/dist/submodel/submodel.d.ts.map +0 -1
  581. package/dist/subscription/animationFrame.d.ts +0 -50
  582. package/dist/subscription/animationFrame.d.ts.map +0 -1
  583. package/dist/subscription/animationFrame.js +0 -46
  584. /package/dist/{submodel/submodel.js → block/deferredPolicy.js} +0 -0
package/README.md CHANGED
@@ -18,10 +18,12 @@
18
18
 
19
19
  ---
20
20
 
21
- Foldkit is a TypeScript frontend framework built on [Effect](https://effect.website/). It gives your entire application one architecture: a [Schema](https://effect.website/docs/schema/introduction/)-defined Model as the single source of truth, fact-named Messages, an exhaustive update function, and explicit Commands for side effects. Routing, server rendering, UI components, Submodels, and browser lifecycles all use that same Model and Message flow.
21
+ Foldkit is a TypeScript frontend framework built on [Effect](https://effect.website/). It gives your entire application one architecture: a [Schema](https://effect.website/docs/schema/introduction/)-defined Model as the single source of truth, fact-named Messages, an exhaustive update function, and explicit Commands for side effects. Routing, server rendering, UI components, Blocks, and browser lifecycles all use that same Model and Message flow.
22
22
 
23
23
  Foldkit uses [The Elm Architecture](https://guide.elm-lang.org/architecture/) instead of component-owned state and hook lifecycles. That discipline is a real commitment. Foldkit works best when the team wants shared conventions across the application and is ready to build on Effect throughout. If your backend already uses Effect, Foldkit carries the same tools and patterns into the browser: Schema, services, Streams, and scoped resources.
24
24
 
25
+ Each feature declares the effects it needs and bundles their handlers in [Effect Layers](https://foldkit.dev/core/layers). At the application root, compose those bundles with their required services. TypeScript checks that the requirements are satisfied before the application can run. Tests can provide controlled services while running the same effect handlers.
26
+
25
27
  A Foldkit program can own the whole page or run as a widget inside an existing application, React included, through [`Runtime.embed`](https://foldkit.dev/core/embedding). The same program can [render on the server](https://foldkit.dev/core/server-rendering) at build time or per request, then hydrate in place. Coming from React? [Start here](https://foldkit.dev/react/coming-from-react), or compare the [same pixel-art editor built in both frameworks](https://foldkit.dev/react/foldkit-vs-react-side-by-side).
26
28
 
27
29
  > [!NOTE]
@@ -37,34 +39,30 @@ npx create-foldkit-app@latest
37
39
 
38
40
  ## Counter
39
41
 
40
- A complete Foldkit program. State lives in a single Model, events become Messages, and a pure function handles every transition. `main.ts` defines the program and `entry.ts` boots the Runtime, so `main.ts` stays importable from tests without booting a Runtime as a side effect.
42
+ A complete Foldkit program. State lives in a single Model, events become Messages, and a pure function handles every transition. `application.ts` exports `ApplicationComposition`, `ApplicationBlock`, and its implementation. `entry.ts` supplies the browser container and boots the Runtime, so importing the application from a test has no startup side effect.
41
43
 
42
44
  ```ts
43
- // src/main.ts
45
+ // src/application.ts
44
46
  import { Schema } from 'effect'
45
- import { Runtime, Update } from 'foldkit'
46
- import { Document, HtmlBuilder } from 'foldkit/html'
47
+ import { Block } from 'foldkit'
47
48
  import { defineMessageUnion } from 'foldkit/message'
48
49
  import { modifyFields } from 'foldkit/struct'
49
50
 
50
- // MODEL
51
-
52
51
  export const Model = Schema.Struct({ count: Schema.Number })
53
- export type Model = typeof Model.Type
54
-
55
- // MESSAGE
56
52
 
57
53
  export const Message = defineMessageUnion({
58
54
  ClickedDecrement: {},
59
55
  ClickedIncrement: {},
60
56
  ClickedReset: {},
61
57
  })
62
- export type Message = typeof Message.Type
63
58
 
64
- // UPDATE
59
+ export const ApplicationComposition = Block.makeDefinition('Application', {
60
+ Model,
61
+ Message,
62
+ }).makeComposition()
65
63
 
66
- export const update = (model: Model, message: Message) =>
67
- Message.match<Update.Return<Model, Message>>(message, {
64
+ export const update = ApplicationComposition.makeUpdate((model, message) =>
65
+ Message.match(message, {
68
66
  ClickedDecrement: () => ({
69
67
  model: modifyFields(model, { count: count => count - 1 }),
70
68
  }),
@@ -72,17 +70,14 @@ export const update = (model: Model, message: Message) =>
72
70
  model: modifyFields(model, { count: count => count + 1 }),
73
71
  }),
74
72
  ClickedReset: () => ({ model: modifyFields(model, { count: () => 0 }) }),
75
- })
73
+ }),
74
+ )
76
75
 
77
- // INIT
76
+ export const init = ApplicationComposition.makeInit(() => ({
77
+ model: Model.make({ count: 0 }),
78
+ }))
78
79
 
79
- export const init: Runtime.ApplicationInit<Model, Message> = () => ({
80
- model: { count: 0 },
81
- })
82
-
83
- // VIEW
84
-
85
- export const view = (model: Model, h: HtmlBuilder<Message>): Document => ({
80
+ export const view = ApplicationComposition.makeView((model, h) => ({
86
81
  title: `Counter: ${model.count}`,
87
82
  body: h.div(
88
83
  [],
@@ -93,27 +88,49 @@ export const view = (model: Model, h: HtmlBuilder<Message>): Document => ({
93
88
  h.button([h.OnClick(Message.ClickedIncrement())], ['+']),
94
89
  ],
95
90
  ),
96
- })
91
+ }))
92
+
93
+ const prepare = () =>
94
+ ApplicationComposition.prepareBlock({
95
+ init,
96
+ update,
97
+ view,
98
+ })
99
+ export const ApplicationBlock: Block.FromAssemblyWithView<
100
+ typeof Model,
101
+ typeof prepare
102
+ > = Block.assemble(prepare)
97
103
  ```
98
104
 
99
105
  ```ts
100
106
  // src/entry.ts
101
- import { Runtime } from 'foldkit'
107
+ import { Program, Runtime } from 'foldkit'
102
108
 
103
- import { Model, init, update, view } from './main'
109
+ import { ApplicationBlock } from './application'
104
110
 
105
- const application = Runtime.makeApplication({
106
- Model,
107
- init,
108
- update,
109
- view,
111
+ const program = Program.make({
112
+ block: ApplicationBlock,
110
113
  container: document.getElementById('root'),
111
114
  })
112
115
 
113
- Runtime.run(application)
116
+ Runtime.run(program)
117
+ ```
118
+
119
+ The root is an ordinary Block. `Block.makeDefinition('Application', ...)` owns effect constructors, Steps, lifecycle definitions, and child Bindings. Retain that result as `ApplicationDefinition` when those authoring methods use it. This graphless application chains the top-level factory directly into `makeComposition()` and names the result `ApplicationComposition`. Author init, update, and the primary view through that Composition. Call `prepareBlock` inside the private `prepare` function, then assemble `ApplicationBlock` with its matching `FromAssembly` annotation and `Block.assemble(prepare)`. The explicit Model Schema in that annotation reduces the inference work needed when a parent Schema reads the Block's `Model`. Pass root-owned handler recipes to `prepareBlock` as `EffectsLayer`.
120
+
121
+ A feature follows the same passive Definition → Composition → assembly sequence. Create `FeatureDefinition` with `Block.makeDefinition('Feature', { Model, Message, OutMessage })` and author effects and Steps through that Definition. Name `FeatureComposition = FeatureDefinition.makeComposition({ bindings, mounts })`, using `FeatureDefinition.makeComposition()` for an empty graph, then author init, update, and the primary view. Prepare and assemble the completed `FeatureBlock` using the checked pattern above. A parent imports that Block, creates a Binding with `const FeatureBinding = ParentDefinition.makeBinding(FeatureBlock, config)`, and includes that Binding in its Composition's child graph. Only the Runtime starts the assembled program.
122
+
123
+ When local view helpers need the Composition's exact builder capabilities, declare `type FeatureViewBuilder = Block.ViewBuilderFor<typeof FeatureComposition>` immediately after the Composition and export it only for cross-file use. The owner prefix identifies that specific Composition; structural contracts keep the standard `Model`, `Message`, and `OutMessage` names and normally travel through the feature namespace.
124
+
125
+ Ordinary Effect services stay in `ApplicationLayer`. Keep a small provider composition in `entry.ts`, and extract `layer.ts` only when it is substantial or reused. Supply that Layer after the Program is complete:
126
+
127
+ ```ts
128
+ Runtime.run(program.provide(ApplicationLayer))
114
129
  ```
115
130
 
116
- Source: [examples/counter](https://github.com/foldkit/foldkit/blob/main/examples/counter/src/main.ts).
131
+ `program.provide(ApplicationLayer)` returns another passive program. The Runtime builds the Layer only when it starts that program.
132
+
133
+ Source: [examples/counter](https://github.com/foldkit/foldkit/blob/main/examples/counter/src/application.ts).
117
134
 
118
135
  ## What Ships With Foldkit
119
136
 
@@ -124,8 +141,8 @@ Routing, server rendering, UI components, composition, and browser lifecycles al
124
141
  - **Subscriptions**: External event streams declared as a function of the Model.
125
142
  - **Managed Resources**: Model-driven lifecycle for WebSockets, AudioContext, and other long-lived handles.
126
143
  - **Mount**: The seam where view code hands a real DOM element to a third-party library that owns its own DOM.
127
- - **Submodels**: A self-contained Model, update, and view that a parent embeds, wrapping child Messages in a `Got*` envelope.
128
- - **OutMessage**: A typed channel for a child Submodel to emit domain events up to its parent.
144
+ - **Blocks**: A self-contained Model, update, and view connected to a parent through parent-owned child Bindings.
145
+ - **OutMessage**: A typed channel for a child Block to emit domain events up to its parent.
129
146
  - **Embedding**: Run a Foldkit program inside a host app through Schema-typed Ports with `Runtime.embed`.
130
147
  - **UI Components**: Accessible, keyboard-friendly primitives in the `@foldkit/ui` package.
131
148
  - **Field Validation**: Per-field validation state modeled as a discriminated union.
@@ -158,7 +175,7 @@ Some of what you can build with Foldkit. [See all example apps on foldkit.dev](h
158
175
  - **[Route Transitions](https://foldkit.dev/example-apps/route-transitions)**: Live transition log with entry, exit, and stayed navigation policies
159
176
  - **[Query Sync](https://foldkit.dev/example-apps/query-sync)**: URL query parameter sync with filtering and sorting
160
177
  - **[Snake](https://foldkit.dev/example-apps/snake)**: Classic game built with Subscriptions
161
- - **[Auth](https://foldkit.dev/example-apps/auth)**: Authentication flow with Submodels and OutMessage
178
+ - **[Auth](https://foldkit.dev/example-apps/auth)**: Authentication flow with Blocks and OutMessage
162
179
  - **[Shopping Cart](https://foldkit.dev/example-apps/shopping-cart)**: Nested models and complex state
163
180
  - **[WebSocket Chat](https://foldkit.dev/example-apps/websocket-chat)**: Managed Resources with WebSocket integration
164
181
  - **[Kanban](https://foldkit.dev/example-apps/kanban)**: Drag-and-drop kanban board with cross-column reordering and keyboard navigation
@@ -130,42 +130,44 @@ export type AsyncDataSchema<A, AI, E, EI> = Readonly<{
130
130
  data: A;
131
131
  }>) => AsyncData<A, E>;
132
132
  }>;
133
- /** Builds the six-state `AsyncData` Schema for the given data and error
133
+ /**
134
+ * Builds the six-state `AsyncData` Schema for the given data and error
134
135
  * Schemas (value-first). Put `schema` in your Model; use the returned
135
136
  * constructors when you want ones typed to this instance's `A` and `E`.
136
137
  *
137
138
  * @example
138
139
  * ```ts
139
- * import { AsyncData } from 'foldkit'
140
- * import { Schema } from 'effect'
140
+ * import { AsyncData } from 'foldkit'
141
+ * import { Schema } from 'effect'
141
142
  *
142
- * const Note = Schema.Struct({ id: Schema.String, body: Schema.String })
143
- * const Notes = AsyncData.Schema(Schema.Array(Note), Schema.String)
143
+ * const Note = Schema.Struct({ id: Schema.String, body: Schema.String })
144
+ * const Notes = AsyncData.Schema(Schema.Array(Note), Schema.String)
144
145
  *
145
- * // Model field: typeof Notes.schema.Type
146
- * const initial = AsyncData.Idle()
147
- * const loaded = Notes.Success({ data: [] })
148
- * ```
146
+ * // Model field: typeof Notes.schema.Type
147
+ * const initial = AsyncData.Idle()
148
+ * const loaded = Notes.Success({ data: [] })
149
+ * ```
149
150
  */
150
151
  export declare const Schema: <A, AI, E, EI>(dataSchema: EffectSchema.Codec<A, AI>, errorSchema: EffectSchema.Codec<E, EI>) => AsyncDataSchema<A, AI, E, EI>;
151
- /** Handles all six states exhaustively, passing each handler its unwrapped
152
+ /**
153
+ * Handles all six states exhaustively, passing each handler its unwrapped
152
154
  * payload. `onStale` alone receives the whole `{ error, data }` payload
153
155
  * object because `Stale` carries two fields. Use `matchData` when the view
154
156
  * does not care which of the data-bearing states it is rendering.
155
157
  *
156
158
  * @example
157
159
  * ```ts
158
- * import { AsyncData } from 'foldkit'
160
+ * import { AsyncData } from 'foldkit'
159
161
  *
160
- * AsyncData.match(notes, {
161
- * onIdle: () => 'Not loaded',
162
- * onLoading: () => 'Loading',
163
- * onRefreshing: notes => `Refreshing ${notes.length} notes`,
164
- * onFailure: error => `Failed: ${error}`,
165
- * onStale: ({ error, data }) => `${data.length} notes (stale: ${error})`,
166
- * onSuccess: notes => `${notes.length} notes`,
167
- * })
168
- * ```
162
+ * AsyncData.match(notes, {
163
+ * onIdle: () => 'Not loaded',
164
+ * onLoading: () => 'Loading',
165
+ * onRefreshing: notes => `Refreshing ${notes.length} notes`,
166
+ * onFailure: error => `Failed: ${error}`,
167
+ * onStale: ({ error, data }) => `${data.length} notes (stale: ${error})`,
168
+ * onSuccess: notes => `${notes.length} notes`,
169
+ * })
170
+ * ```
169
171
  */
170
172
  export declare const match: {
171
173
  <A, E, B, C = B, D = B, F = B, G = B, H = B>(handlers: Readonly<{
@@ -281,14 +283,16 @@ export declare const getOrElse: {
281
283
  <B>(onEmpty: Function.LazyArg<B>): <A, E>(self: AsyncData<A, E>) => A | B;
282
284
  <A, E, B>(self: AsyncData<A, E>, onEmpty: Function.LazyArg<B>): A | B;
283
285
  };
284
- /** Collapses a possibly-missing cache entry to an AsyncData: `Some(entry)`
286
+ /**
287
+ * Collapses a possibly-missing cache entry to an AsyncData: `Some(entry)`
285
288
  * is the entry, `None` is `Idle`. The keyed-cache read idiom, where a key
286
289
  * that was never fetched is simply absent and absence means nothing was
287
290
  * requested yet:
288
291
  *
289
292
  * ```ts
290
- * const notes = AsyncData.fromOptionOrIdle(HashMap.get(model.notesByNotebook, notebookId))
291
- * ``` */
293
+ * const notes = AsyncData.fromOptionOrIdle(HashMap.get(model.notesByNotebook, notebookId))
294
+ * ```
295
+ */
292
296
  export declare const fromOptionOrIdle: <A, E>(maybeEntry: Option.Option<AsyncData<A, E>>) => AsyncData<A, E>;
293
297
  /** Returns `true` only for the `Idle` state. Refinement. */
294
298
  export declare const isIdle: <A, E>(self: AsyncData<A, E>) => self is Idle;
@@ -380,7 +384,8 @@ export declare const all: <const Inputs extends Iterable<AsyncData<any, any>> |
380
384
  AsyncData<infer A, any>
381
385
  ] ? A : never;
382
386
  }, Inputs[keyof Inputs] extends never ? never : [Inputs[keyof Inputs]] extends [AsyncData<any, infer E>] ? E : never>;
383
- /** Folds a settled `Result` into the previous state, keeping the last good
387
+ /**
388
+ * Folds a settled `Result` into the previous state, keeping the last good
384
389
  * data: a `Result` success becomes `Success`, and a `Result` failure
385
390
  * becomes `Stale({ error, data })` when `self` holds data, else a bare
386
391
  * `Failure`. The primary way to fold a fetch back into the Model, and the
@@ -392,24 +397,27 @@ export declare const all: <const Inputs extends Iterable<AsyncData<any, any>> |
392
397
  *
393
398
  * @example
394
399
  * ```ts
395
- * import { Effect, pipe } from 'effect'
396
- * import { AsyncData, Command } from 'foldkit'
400
+ * import { Effect, pipe } from 'effect'
401
+ * import { AsyncData, Command } from 'foldkit'
402
+ *
403
+ * // The Command settles the fetch into a Result instead of throwing:
404
+ * const LoadNotes = Command.define(
405
+ * 'LoadNotes',
406
+ * { messages: [Message.SettledLoadNotes], handler: function* () { return () =>
407
+ * pipe(
408
+ * fetchNotes,
409
+ * Effect.result,
410
+ * Effect.map(result => Message.SettledLoadNotes({ result })),
411
+ * ) }},
412
+ * )
397
413
  *
398
- * // The Command settles the fetch into a Result instead of throwing:
399
- * const LoadNotes = Command.define('LoadNotes', {
400
- * messages: [SettledLoadNotes],
401
- * execute: pipe(
402
- * fetchNotes,
403
- * Effect.result,
404
- * Effect.map(result => SettledLoadNotes({ result })),
405
- * ),
406
- * })
414
+ * const EffectsLayer = LoadNotes.layer
407
415
  *
408
- * // One update arm folds it in, whatever the previous state was:
409
- * SettledLoadNotes: ({ result }) => ({
410
- * model: modifyFields(model, { notes: AsyncData.settle(result) }),
411
- * })
412
- * ```
416
+ * // One update arm folds it in, whatever the previous state was:
417
+ * SettledLoadNotes: ({ result }) => ({
418
+ * model: modifyFields(model, { notes: AsyncData.settle(result) }),
419
+ * })
420
+ * ```
413
421
  */
414
422
  export declare const settle: {
415
423
  <A, E>(result: Result.Result<A, E>): (self: AsyncData<A, E>) => AsyncData<A, E>;
@@ -1 +1 @@
1
- {"version":3,"file":"asyncData.d.ts","sourceRoot":"","sources":["../../src/asyncData/asyncData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asyncData.d.ts","sources":["../../src/asyncData/asyncData.ts"],"names":[],"mappings":"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"}
@@ -39,22 +39,23 @@ export const Success = (payload) => ({
39
39
  export const succeed = (data) => Success({ data });
40
40
  /** Bare-value alias for `Failure({ error })`, mirroring `Result.fail`. */
41
41
  export const fail = (error) => Failure({ error });
42
- /** Builds the six-state `AsyncData` Schema for the given data and error
42
+ /**
43
+ * Builds the six-state `AsyncData` Schema for the given data and error
43
44
  * Schemas (value-first). Put `schema` in your Model; use the returned
44
45
  * constructors when you want ones typed to this instance's `A` and `E`.
45
46
  *
46
47
  * @example
47
48
  * ```ts
48
- * import { AsyncData } from 'foldkit'
49
- * import { Schema } from 'effect'
49
+ * import { AsyncData } from 'foldkit'
50
+ * import { Schema } from 'effect'
50
51
  *
51
- * const Note = Schema.Struct({ id: Schema.String, body: Schema.String })
52
- * const Notes = AsyncData.Schema(Schema.Array(Note), Schema.String)
52
+ * const Note = Schema.Struct({ id: Schema.String, body: Schema.String })
53
+ * const Notes = AsyncData.Schema(Schema.Array(Note), Schema.String)
53
54
  *
54
- * // Model field: typeof Notes.schema.Type
55
- * const initial = AsyncData.Idle()
56
- * const loaded = Notes.Success({ data: [] })
57
- * ```
55
+ * // Model field: typeof Notes.schema.Type
56
+ * const initial = AsyncData.Idle()
57
+ * const loaded = Notes.Success({ data: [] })
58
+ * ```
58
59
  */
59
60
  export const Schema = (dataSchema, errorSchema) => {
60
61
  const RefreshingSchema = taggedStruct('Refreshing', { data: dataSchema });
@@ -83,24 +84,25 @@ export const Schema = (dataSchema, errorSchema) => {
83
84
  };
84
85
  };
85
86
  // OPERATION
86
- /** Handles all six states exhaustively, passing each handler its unwrapped
87
+ /**
88
+ * Handles all six states exhaustively, passing each handler its unwrapped
87
89
  * payload. `onStale` alone receives the whole `{ error, data }` payload
88
90
  * object because `Stale` carries two fields. Use `matchData` when the view
89
91
  * does not care which of the data-bearing states it is rendering.
90
92
  *
91
93
  * @example
92
94
  * ```ts
93
- * import { AsyncData } from 'foldkit'
95
+ * import { AsyncData } from 'foldkit'
94
96
  *
95
- * AsyncData.match(notes, {
96
- * onIdle: () => 'Not loaded',
97
- * onLoading: () => 'Loading',
98
- * onRefreshing: notes => `Refreshing ${notes.length} notes`,
99
- * onFailure: error => `Failed: ${error}`,
100
- * onStale: ({ error, data }) => `${data.length} notes (stale: ${error})`,
101
- * onSuccess: notes => `${notes.length} notes`,
102
- * })
103
- * ```
97
+ * AsyncData.match(notes, {
98
+ * onIdle: () => 'Not loaded',
99
+ * onLoading: () => 'Loading',
100
+ * onRefreshing: notes => `Refreshing ${notes.length} notes`,
101
+ * onFailure: error => `Failed: ${error}`,
102
+ * onStale: ({ error, data }) => `${data.length} notes (stale: ${error})`,
103
+ * onSuccess: notes => `${notes.length} notes`,
104
+ * })
105
+ * ```
104
106
  */
105
107
  // NOTE: match, matchData, matchDataSplitEmpty, getData, and getError use
106
108
  // refinement chains instead of Match because tagsExhaustive returns
@@ -232,14 +234,16 @@ export const getError = (self) => {
232
234
  * `Option.getOrElse`, because the no-data states collapse to empty with no
233
235
  * single payload. */
234
236
  export const getOrElse = Function.dual(2, (self, onEmpty) => Option.getOrElse(getData(self), onEmpty));
235
- /** Collapses a possibly-missing cache entry to an AsyncData: `Some(entry)`
237
+ /**
238
+ * Collapses a possibly-missing cache entry to an AsyncData: `Some(entry)`
236
239
  * is the entry, `None` is `Idle`. The keyed-cache read idiom, where a key
237
240
  * that was never fetched is simply absent and absence means nothing was
238
241
  * requested yet:
239
242
  *
240
243
  * ```ts
241
- * const notes = AsyncData.fromOptionOrIdle(HashMap.get(model.notesByNotebook, notebookId))
242
- * ``` */
244
+ * const notes = AsyncData.fromOptionOrIdle(HashMap.get(model.notesByNotebook, notebookId))
245
+ * ```
246
+ */
243
247
  export const fromOptionOrIdle = (maybeEntry) => Option.getOrElse(maybeEntry, () => Idle());
244
248
  /** Returns `true` only for the `Idle` state. Refinement. */
245
249
  export const isIdle = (self) => self._tag === 'Idle';
@@ -391,7 +395,8 @@ export const all = (inputs) => {
391
395
  }
392
396
  return allRecord(inputs);
393
397
  };
394
- /** Folds a settled `Result` into the previous state, keeping the last good
398
+ /**
399
+ * Folds a settled `Result` into the previous state, keeping the last good
395
400
  * data: a `Result` success becomes `Success`, and a `Result` failure
396
401
  * becomes `Stale({ error, data })` when `self` holds data, else a bare
397
402
  * `Failure`. The primary way to fold a fetch back into the Model, and the
@@ -403,24 +408,27 @@ export const all = (inputs) => {
403
408
  *
404
409
  * @example
405
410
  * ```ts
406
- * import { Effect, pipe } from 'effect'
407
- * import { AsyncData, Command } from 'foldkit'
411
+ * import { Effect, pipe } from 'effect'
412
+ * import { AsyncData, Command } from 'foldkit'
413
+ *
414
+ * // The Command settles the fetch into a Result instead of throwing:
415
+ * const LoadNotes = Command.define(
416
+ * 'LoadNotes',
417
+ * { messages: [Message.SettledLoadNotes], handler: function* () { return () =>
418
+ * pipe(
419
+ * fetchNotes,
420
+ * Effect.result,
421
+ * Effect.map(result => Message.SettledLoadNotes({ result })),
422
+ * ) }},
423
+ * )
408
424
  *
409
- * // The Command settles the fetch into a Result instead of throwing:
410
- * const LoadNotes = Command.define('LoadNotes', {
411
- * messages: [SettledLoadNotes],
412
- * execute: pipe(
413
- * fetchNotes,
414
- * Effect.result,
415
- * Effect.map(result => SettledLoadNotes({ result })),
416
- * ),
417
- * })
425
+ * const EffectsLayer = LoadNotes.layer
418
426
  *
419
- * // One update arm folds it in, whatever the previous state was:
420
- * SettledLoadNotes: ({ result }) => ({
421
- * model: modifyFields(model, { notes: AsyncData.settle(result) }),
422
- * })
423
- * ```
427
+ * // One update arm folds it in, whatever the previous state was:
428
+ * SettledLoadNotes: ({ result }) => ({
429
+ * model: modifyFields(model, { notes: AsyncData.settle(result) }),
430
+ * })
431
+ * ```
424
432
  */
425
433
  export const settle = Function.dual(2, (self, result) => Result.match(result, {
426
434
  onSuccess: data => Success({ data }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/asyncData/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../src/asyncData/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/asyncData/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,UAAU,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,mBAAmB,EACnB,GAAG,EACH,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,GAAG,EACH,MAAM,GACP,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sources":["../../src/asyncData/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,UAAU,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,mBAAmB,EACnB,GAAG,EACH,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,GAAG,EACH,MAAM,GACP,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,25 @@
1
+ /** @internal Identifies the checked completion contract without a runtime field. */
2
+ declare const CompletionTypeId: unique symbol;
3
+ /** @internal Records completion through the checked Model and producer boundary. */
4
+ export interface CompletionProof {
5
+ readonly [CompletionTypeId]: true;
6
+ }
7
+ /** @internal Retains the completed contract behind an opaque assembly token. */
8
+ export declare const AssemblyDraftTypeId: unique symbol;
9
+ /**
10
+ * An opaque assembly awaiting `Block.assemble`. Its completed
11
+ * contract is available only after the checked Model and producer boundary.
12
+ */
13
+ export interface AssemblyDraft<Completed extends object> {
14
+ readonly [AssemblyDraftTypeId]: Completed;
15
+ }
16
+ /** @internal Requires an original Block registered by checked completion. */
17
+ export declare function assertCompletedBlock(block: unknown): asserts block is object & CompletionProof;
18
+ /** @internal Marks a Block derived from a previously checked completed Block. */
19
+ export declare const completeDerivedBlock: <Completed extends object>(block: Completed) => Completed & CompletionProof;
20
+ /** @internal Registers a passive assembly behind an opaque runtime token. */
21
+ export declare const makeAssemblyDraft: <Completed extends object>(block: Completed) => AssemblyDraft<Completed>;
22
+ /** @internal Completes a registered assembly and preserves its original object. */
23
+ export declare const completeAssemblyDraft: (draft: unknown) => object & CompletionProof;
24
+ export {};
25
+ //# sourceMappingURL=assemblyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemblyState.d.ts","sources":["../../src/block/assemblyState.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAA;AAE7C,oFAAoF;AACpF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAA;CAClC;AAED,gFAAgF;AAChF,MAAM,CAAC,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAA;AAEvD;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,SAAS,SAAS,MAAM;IACrD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAA;CAC1C;AAWD,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,MAAM,GAAG,eAAe,CAM3C;AAED,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,MAAM,SACpD,SAAS,KACf,SAAS,GAAG,eAKd,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,GAAI,SAAS,SAAS,MAAM,SACjD,SAAS,KACf,aAAa,CAAC,SAAS,CAKzB,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,UACzB,OAAO,KACb,MAAM,GAAG,eAgBX,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { Predicate } from 'effect';
2
+ class AssemblyToken {
3
+ }
4
+ const assemblyBlocks = new WeakMap();
5
+ const completedBlocks = new WeakSet();
6
+ /** @internal Requires an original Block registered by checked completion. */
7
+ export function assertCompletedBlock(block) {
8
+ if (!Predicate.isObject(block) || !completedBlocks.has(block)) {
9
+ throw new Error('[foldkit] This operation requires a completed Block. Initialize its FromAssembly annotation with Block.assemble(prepare).');
10
+ }
11
+ }
12
+ /** @internal Marks a Block derived from a previously checked completed Block. */
13
+ export const completeDerivedBlock = (block) => {
14
+ completedBlocks.add(block);
15
+ assertCompletedBlock(block);
16
+ return block;
17
+ };
18
+ /** @internal Registers a passive assembly behind an opaque runtime token. */
19
+ export const makeAssemblyDraft = (block) => {
20
+ const draft = Object.freeze(new AssemblyToken());
21
+ assemblyBlocks.set(draft, block);
22
+ return draft;
23
+ };
24
+ /** @internal Completes a registered assembly and preserves its original object. */
25
+ export const completeAssemblyDraft = (draft) => {
26
+ if (!Predicate.isObject(draft)) {
27
+ throw new Error('[foldkit] Block.assemble requires a producer returning an original Composition.prepareBlock draft.');
28
+ }
29
+ const block = assemblyBlocks.get(draft);
30
+ if (block === undefined) {
31
+ throw new Error('[foldkit] Block.assemble requires a producer returning an original Composition.prepareBlock draft.');
32
+ }
33
+ return completeDerivedBlock(block);
34
+ };