octane 0.13.8 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/README.md +3 -1
  2. package/dist/behavior-form-submissions.js +1 -1
  3. package/dist/behavior-root-types.d.ts +1 -1
  4. package/dist/cjs/behavior-form-submissions.cjs +2 -2
  5. package/dist/cjs/constants.cjs +22 -22
  6. package/dist/cjs/context-epoch.cjs +2 -0
  7. package/dist/cjs/devtools-hook.cjs +6 -6
  8. package/dist/cjs/dom-binding-protocol.cjs +5 -42
  9. package/dist/cjs/dom-binding-styles.cjs +4 -85
  10. package/dist/cjs/dom-bindings.cjs +225 -223
  11. package/dist/cjs/dom-focused-move.cjs +3 -2
  12. package/dist/cjs/error-codes.client.generated.cjs +17 -18
  13. package/dist/cjs/error-codes.server.generated.cjs +2 -16
  14. package/dist/cjs/form-diagnostics.cjs +13 -13
  15. package/dist/cjs/form-submission.cjs +2 -2
  16. package/dist/cjs/hydration/control-capture.cjs +5 -5
  17. package/dist/cjs/hydration/dev-values.cjs +155 -0
  18. package/dist/cjs/hydration/event-capture.cjs +11 -11
  19. package/dist/cjs/hydration/use-seeds.cjs +76 -0
  20. package/dist/cjs/hydration-flag.cjs +8 -0
  21. package/dist/cjs/hydration-input-control.cjs +31 -0
  22. package/dist/cjs/hydration-inputs.cjs +184 -0
  23. package/dist/cjs/{hydration-markers.cjs → hydration-protocol.cjs} +73 -11
  24. package/dist/cjs/independent-hydration-protocol.cjs +5 -5
  25. package/dist/cjs/index.cjs +10 -0
  26. package/dist/cjs/internal/client.cjs +21 -1
  27. package/dist/cjs/method-dep.cjs +2 -0
  28. package/dist/cjs/radio-group.cjs +39 -0
  29. package/dist/cjs/render-slice.cjs +33 -0
  30. package/dist/cjs/resize-observer.cjs +1 -1
  31. package/dist/cjs/resource-hint-diagnostics.cjs +4 -4
  32. package/dist/cjs/runtime/actions.cjs +433 -0
  33. package/dist/cjs/runtime/activity.cjs +584 -0
  34. package/dist/cjs/runtime/block.cjs +890 -0
  35. package/dist/cjs/runtime/branches.cjs +767 -0
  36. package/dist/cjs/runtime/child-slots.cjs +1114 -0
  37. package/dist/cjs/runtime/commit.cjs +1094 -0
  38. package/dist/cjs/runtime/component-slots.cjs +1409 -0
  39. package/dist/cjs/runtime/context.cjs +615 -0
  40. package/dist/cjs/runtime/deopt.cjs +1604 -0
  41. package/dist/cjs/runtime/diagnostics.cjs +217 -0
  42. package/dist/cjs/runtime/drivers.cjs +510 -0
  43. package/dist/cjs/runtime/effects.cjs +377 -0
  44. package/dist/cjs/runtime/elements.cjs +680 -0
  45. package/dist/cjs/runtime/engine.cjs +3835 -0
  46. package/dist/cjs/runtime/events.cjs +942 -0
  47. package/dist/cjs/runtime/forms.cjs +1033 -0
  48. package/dist/cjs/runtime/head.cjs +725 -0
  49. package/dist/cjs/runtime/hooks.cjs +963 -0
  50. package/dist/cjs/runtime/host-props.cjs +1328 -0
  51. package/dist/cjs/runtime/hydrate-boundary.cjs +981 -0
  52. package/dist/cjs/runtime/hydration-presentation.cjs +856 -0
  53. package/dist/cjs/runtime/hydration.cjs +1592 -0
  54. package/dist/cjs/runtime/lists.cjs +1395 -0
  55. package/dist/cjs/runtime/portals.cjs +427 -0
  56. package/dist/cjs/runtime/profile-probes.cjs +69 -0
  57. package/dist/cjs/runtime/refs.cjs +778 -0
  58. package/dist/cjs/runtime/render.cjs +1849 -0
  59. package/dist/cjs/runtime/roots.cjs +779 -0
  60. package/dist/cjs/runtime/signal-bindings.cjs +1103 -0
  61. package/dist/cjs/runtime/signal-owners.cjs +995 -0
  62. package/dist/cjs/runtime/suspense.cjs +2242 -0
  63. package/dist/cjs/runtime/templates.cjs +629 -0
  64. package/dist/cjs/runtime/transitions.cjs +608 -0
  65. package/dist/cjs/runtime/use.cjs +725 -0
  66. package/dist/cjs/runtime/view-transition.cjs +1267 -0
  67. package/dist/cjs/runtime.cjs +402 -32545
  68. package/dist/cjs/runtime.server.cjs +383 -361
  69. package/dist/cjs/server/index.cjs +6 -0
  70. package/dist/cjs/server-rpc-client.cjs +13 -3
  71. package/dist/cjs/signals/action-capability-elsewhere.cjs +4 -5
  72. package/dist/cjs/signals/action-capability.cjs +2 -4
  73. package/dist/cjs/signals/candidate-producers.cjs +27 -30
  74. package/dist/cjs/signals/computations.cjs +15 -8
  75. package/dist/cjs/signals/control-binding.cjs +16 -85
  76. package/dist/cjs/signals/document-owner.cjs +1 -0
  77. package/dist/cjs/signals/early-values.cjs +2 -2
  78. package/dist/cjs/signals/engine.cjs +11 -11
  79. package/dist/cjs/signals/errors.cjs +7 -2
  80. package/dist/cjs/signals/graph-flags.cjs +46 -0
  81. package/dist/cjs/signals/graph.cjs +339 -169
  82. package/dist/cjs/signals/native-read-client.cjs +16 -19
  83. package/dist/cjs/signals/native-read-retry.cjs +2 -4
  84. package/dist/cjs/signals/native-read-seeds.cjs +2 -2
  85. package/dist/cjs/signals/owner-context.cjs +6 -0
  86. package/dist/cjs/signals/pending.cjs +477 -0
  87. package/dist/cjs/signals/read-protocol.cjs +15 -23
  88. package/dist/cjs/signals/redeclaration.cjs +0 -2
  89. package/dist/cjs/signals/requests.cjs +21 -17
  90. package/dist/cjs/signals/scalar-computations.cjs +13 -4
  91. package/dist/cjs/signals/seed-serialization.cjs +3 -3
  92. package/dist/cjs/signals/server-reads.cjs +32 -0
  93. package/dist/cjs/signals/transition-state.cjs +44 -41
  94. package/dist/cjs/stream-protocol.cjs +12 -33
  95. package/dist/cjs/streamed-signals-protocol.cjs +15 -15
  96. package/dist/cjs/version.cjs +1 -1
  97. package/dist/compiler/bundler.js +16 -4
  98. package/dist/compiler/compile-universal.js +69 -6
  99. package/dist/compiler/compile.js +2238 -550
  100. package/dist/compiler/dom-binding-directive.js +5 -0
  101. package/dist/compiler/dom-binding-program.js +97 -23
  102. package/dist/compiler/dom-bindings.js +192 -79
  103. package/dist/compiler/hydrate-boundaries.js +39 -6
  104. package/dist/compiler/index.d.ts +2 -0
  105. package/dist/compiler/native-read-codegen.js +29 -23
  106. package/dist/compiler/native-read-diagnostics.js +1451 -52
  107. package/dist/compiler/render-classification.js +174 -0
  108. package/dist/compiler/signal-declarations.js +41 -0
  109. package/dist/compiler/strong-render-policy.js +1 -1
  110. package/dist/compiler/volar.js +130 -56
  111. package/dist/constants.d.ts +9 -8
  112. package/dist/constants.js +4 -4
  113. package/dist/context-epoch.d.ts +3 -0
  114. package/dist/context-epoch.js +1 -0
  115. package/dist/devtools-hook.js +6 -6
  116. package/dist/dom-binding-handoff.d.ts +2 -2
  117. package/dist/dom-binding-island.js +5 -2
  118. package/dist/dom-binding-program.d.ts +26 -36
  119. package/dist/dom-binding-program.js +76 -173
  120. package/dist/dom-binding-projections.d.ts +0 -2
  121. package/dist/dom-binding-projections.js +4 -75
  122. package/dist/dom-binding-protocol.d.ts +0 -16
  123. package/dist/dom-binding-protocol.js +1 -36
  124. package/dist/dom-binding-signals.d.ts +0 -8
  125. package/dist/dom-binding-signals.js +8 -56
  126. package/dist/dom-binding-styles.d.ts +2 -4
  127. package/dist/dom-binding-styles.js +4 -85
  128. package/dist/dom-bindings.d.ts +31 -8
  129. package/dist/dom-bindings.js +221 -226
  130. package/dist/dom-focused-move.js +3 -2
  131. package/dist/error-codes.client.generated.d.ts +4 -9
  132. package/dist/error-codes.client.generated.js +17 -18
  133. package/dist/error-codes.server.generated.d.ts +1 -8
  134. package/dist/error-codes.server.generated.js +2 -16
  135. package/dist/form-diagnostics.js +13 -13
  136. package/dist/form-submission.d.ts +1 -1
  137. package/dist/form-submission.js +1 -1
  138. package/dist/hydration/control-capture.d.ts +2 -2
  139. package/dist/hydration/control-capture.js +1 -1
  140. package/dist/hydration/dev-values.d.ts +43 -0
  141. package/dist/hydration/dev-values.js +126 -0
  142. package/dist/hydration/event-capture.js +2 -2
  143. package/dist/hydration/independent-island.js +1 -1
  144. package/dist/hydration/strategy-attributes.d.ts +1 -1
  145. package/dist/hydration/stream-receiver.js +1 -1
  146. package/dist/hydration/stream-result-receiver.d.ts +3 -3
  147. package/dist/hydration/stream-result-receiver.js +2 -6
  148. package/dist/hydration/streamed-signals.js +4 -4
  149. package/dist/hydration/use-seeds.d.ts +31 -0
  150. package/dist/hydration/use-seeds.js +51 -0
  151. package/dist/hydration-flag.d.ts +6 -2
  152. package/dist/hydration-flag.js +6 -0
  153. package/dist/hydration-input-control.d.ts +2 -0
  154. package/dist/hydration-input-control.js +7 -0
  155. package/dist/hydration-inputs.d.ts +21 -0
  156. package/dist/hydration-inputs.js +153 -0
  157. package/dist/hydration-protocol.d.ts +93 -0
  158. package/dist/hydration-protocol.js +94 -0
  159. package/dist/independent-hydration-protocol.js +5 -5
  160. package/dist/index.d.ts +1 -1
  161. package/dist/index.js +10 -0
  162. package/dist/internal/client.d.ts +2 -0
  163. package/dist/internal/client.js +21 -1
  164. package/dist/method-dep.d.ts +1 -0
  165. package/dist/method-dep.js +1 -0
  166. package/dist/node/behavior-form-submissions.js +1 -1
  167. package/dist/node/constants.js +4 -4
  168. package/dist/node/context-epoch.js +1 -0
  169. package/dist/node/devtools-hook.js +6 -6
  170. package/dist/node/dom-binding-island.js +5 -2
  171. package/dist/node/dom-binding-program.js +76 -173
  172. package/dist/node/dom-binding-projections.js +4 -75
  173. package/dist/node/dom-binding-protocol.js +1 -36
  174. package/dist/node/dom-binding-signals.js +8 -56
  175. package/dist/node/dom-binding-styles.js +4 -85
  176. package/dist/node/dom-bindings.js +221 -226
  177. package/dist/node/dom-focused-move.js +3 -2
  178. package/dist/node/error-codes.client.generated.js +17 -18
  179. package/dist/node/error-codes.server.generated.js +2 -16
  180. package/dist/node/form-diagnostics.js +13 -13
  181. package/dist/node/form-submission.js +1 -1
  182. package/dist/node/hydration/control-capture.js +1 -1
  183. package/dist/node/hydration/dev-values.js +126 -0
  184. package/dist/node/hydration/event-capture.js +2 -2
  185. package/dist/node/hydration/independent-island.js +1 -1
  186. package/dist/node/hydration/stream-receiver.js +1 -1
  187. package/dist/node/hydration/stream-result-receiver.js +2 -6
  188. package/dist/node/hydration/streamed-signals.js +4 -4
  189. package/dist/node/hydration/use-seeds.js +51 -0
  190. package/dist/node/hydration-flag.js +6 -0
  191. package/dist/node/hydration-input-control.js +7 -0
  192. package/dist/node/hydration-inputs.js +153 -0
  193. package/dist/node/hydration-protocol.js +94 -0
  194. package/dist/node/independent-hydration-protocol.js +5 -5
  195. package/dist/node/index.js +10 -0
  196. package/dist/node/internal/client.js +21 -1
  197. package/dist/node/method-dep.js +1 -0
  198. package/dist/node/radio-group.js +15 -0
  199. package/dist/node/react/react-compat-server.js +1 -1
  200. package/dist/node/render-slice.js +8 -0
  201. package/dist/node/resize-observer.js +1 -1
  202. package/dist/node/resource-hint-diagnostics.js +4 -4
  203. package/dist/node/runtime/actions.js +411 -0
  204. package/dist/node/runtime/activity.js +595 -0
  205. package/dist/node/runtime/block.js +894 -0
  206. package/dist/node/runtime/branches.js +762 -0
  207. package/dist/node/runtime/child-slots.js +1152 -0
  208. package/dist/node/runtime/commit.js +1042 -0
  209. package/dist/node/runtime/component-slots.js +1417 -0
  210. package/dist/node/runtime/context.js +598 -0
  211. package/dist/node/runtime/deopt.js +1643 -0
  212. package/dist/node/runtime/diagnostics.js +192 -0
  213. package/dist/node/runtime/drivers.js +527 -0
  214. package/dist/node/runtime/effects.js +353 -0
  215. package/dist/node/runtime/elements.js +643 -0
  216. package/dist/node/runtime/engine.js +3925 -0
  217. package/dist/node/runtime/events.js +924 -0
  218. package/dist/node/runtime/forms.js +999 -0
  219. package/dist/node/runtime/head.js +688 -0
  220. package/dist/node/runtime/hooks.js +908 -0
  221. package/dist/node/runtime/host-props.js +1291 -0
  222. package/dist/node/runtime/hydrate-boundary.js +1001 -0
  223. package/dist/node/runtime/hydration-presentation.js +871 -0
  224. package/dist/node/runtime/hydration.js +1595 -0
  225. package/dist/node/runtime/lists.js +1406 -0
  226. package/dist/node/runtime/portals.js +407 -0
  227. package/dist/node/runtime/profile-probes.js +45 -0
  228. package/dist/node/runtime/refs.js +745 -0
  229. package/dist/node/runtime/render.js +1971 -0
  230. package/dist/node/runtime/roots.js +819 -0
  231. package/dist/node/runtime/signal-bindings.js +1091 -0
  232. package/dist/node/runtime/signal-owners.js +982 -0
  233. package/dist/node/runtime/suspense.js +2261 -0
  234. package/dist/node/runtime/templates.js +576 -0
  235. package/dist/node/runtime/transitions.js +601 -0
  236. package/dist/node/runtime/types.js +0 -0
  237. package/dist/node/runtime/use.js +686 -0
  238. package/dist/node/runtime/view-transition.js +1214 -0
  239. package/dist/node/runtime.js +431 -32486
  240. package/dist/node/runtime.server.js +393 -370
  241. package/dist/node/server/index.js +6 -0
  242. package/dist/node/server-rpc-client.js +13 -3
  243. package/dist/node/signals/action-capability-elsewhere.js +3 -3
  244. package/dist/node/signals/action-capability-renderer.js +5 -6
  245. package/dist/node/signals/action-capability.js +3 -8
  246. package/dist/node/signals/candidate-producers.js +28 -31
  247. package/dist/node/signals/computations.js +15 -8
  248. package/dist/node/signals/control-binding.js +17 -89
  249. package/dist/node/signals/document-owner.js +3 -1
  250. package/dist/node/signals/early-values.js +1 -1
  251. package/dist/node/signals/engine.js +13 -11
  252. package/dist/node/signals/errors.js +5 -1
  253. package/dist/node/signals/graph-flags.js +16 -0
  254. package/dist/node/signals/graph.js +302 -128
  255. package/dist/node/signals/hydration-input-source.js +21 -0
  256. package/dist/node/signals/native-read-client.js +16 -19
  257. package/dist/node/signals/native-read-retry.js +2 -4
  258. package/dist/node/signals/native-read-seeds.js +1 -1
  259. package/dist/node/signals/owner-context.js +5 -0
  260. package/dist/node/signals/pending.js +468 -0
  261. package/dist/node/signals/read-protocol.js +11 -19
  262. package/dist/node/signals/redeclaration.js +0 -2
  263. package/dist/node/signals/requests.js +21 -17
  264. package/dist/node/signals/scalar-computations.js +14 -5
  265. package/dist/node/signals/seed-serialization.js +5 -5
  266. package/dist/node/signals/server-reads-elsewhere.js +5 -0
  267. package/dist/node/signals/server-reads.js +8 -0
  268. package/dist/node/signals/transition-state.js +35 -32
  269. package/dist/node/stream-protocol.js +11 -35
  270. package/dist/node/streamed-signals-protocol.js +15 -15
  271. package/dist/node/tsrx-boundary.js +2 -0
  272. package/dist/node/universal-core.js +210 -56
  273. package/dist/node/version.js +1 -1
  274. package/dist/radio-group.d.ts +2 -0
  275. package/dist/radio-group.js +15 -0
  276. package/dist/react/react-compat-server.js +1 -1
  277. package/dist/render-slice.d.ts +10 -0
  278. package/dist/render-slice.js +8 -0
  279. package/dist/resize-observer.js +1 -1
  280. package/dist/resource-hint-diagnostics.js +4 -4
  281. package/dist/runtime/actions.d.ts +55 -0
  282. package/dist/runtime/actions.js +410 -0
  283. package/dist/runtime/activity.d.ts +55 -0
  284. package/dist/runtime/activity.js +595 -0
  285. package/dist/runtime/block.d.ts +301 -0
  286. package/dist/runtime/block.js +894 -0
  287. package/dist/runtime/branches.d.ts +88 -0
  288. package/dist/runtime/branches.js +762 -0
  289. package/dist/runtime/child-slots.d.ts +73 -0
  290. package/dist/runtime/child-slots.js +1151 -0
  291. package/dist/runtime/commit.d.ts +274 -0
  292. package/dist/runtime/commit.js +1041 -0
  293. package/dist/runtime/component-slots.d.ts +237 -0
  294. package/dist/runtime/component-slots.js +1417 -0
  295. package/dist/runtime/context.d.ts +163 -0
  296. package/dist/runtime/context.js +597 -0
  297. package/dist/runtime/deopt.d.ts +46 -0
  298. package/dist/runtime/deopt.js +1642 -0
  299. package/dist/runtime/diagnostics.d.ts +18 -0
  300. package/dist/runtime/diagnostics.js +191 -0
  301. package/dist/runtime/drivers.d.ts +131 -0
  302. package/dist/runtime/drivers.js +526 -0
  303. package/dist/runtime/effects.d.ts +136 -0
  304. package/dist/runtime/effects.js +353 -0
  305. package/dist/runtime/elements.d.ts +114 -0
  306. package/dist/runtime/elements.js +642 -0
  307. package/dist/runtime/engine.d.ts +471 -0
  308. package/dist/runtime/engine.js +3924 -0
  309. package/dist/runtime/events.d.ts +122 -0
  310. package/dist/runtime/events.js +923 -0
  311. package/dist/runtime/forms.d.ts +173 -0
  312. package/dist/runtime/forms.js +998 -0
  313. package/dist/runtime/head.d.ts +66 -0
  314. package/dist/runtime/head.js +687 -0
  315. package/dist/runtime/hooks.d.ts +222 -0
  316. package/dist/runtime/hooks.js +907 -0
  317. package/dist/runtime/host-props.d.ts +207 -0
  318. package/dist/runtime/host-props.js +1290 -0
  319. package/dist/runtime/hydrate-boundary.d.ts +80 -0
  320. package/dist/runtime/hydrate-boundary.js +1000 -0
  321. package/dist/runtime/hydration-presentation.d.ts +113 -0
  322. package/dist/runtime/hydration-presentation.js +870 -0
  323. package/dist/runtime/hydration.d.ts +591 -0
  324. package/dist/runtime/hydration.js +1594 -0
  325. package/dist/runtime/lists.d.ts +101 -0
  326. package/dist/runtime/lists.js +1405 -0
  327. package/dist/runtime/portals.d.ts +70 -0
  328. package/dist/runtime/portals.js +407 -0
  329. package/dist/runtime/profile-probes.d.ts +5 -0
  330. package/dist/runtime/profile-probes.js +45 -0
  331. package/dist/runtime/refs.d.ts +234 -0
  332. package/dist/runtime/refs.js +744 -0
  333. package/dist/runtime/render.d.ts +119 -0
  334. package/dist/runtime/render.js +1970 -0
  335. package/dist/runtime/roots.d.ts +177 -0
  336. package/dist/runtime/roots.js +818 -0
  337. package/dist/runtime/signal-bindings.d.ts +136 -0
  338. package/dist/runtime/signal-bindings.js +1090 -0
  339. package/dist/runtime/signal-owners.d.ts +134 -0
  340. package/dist/runtime/signal-owners.js +981 -0
  341. package/dist/runtime/suspense.d.ts +361 -0
  342. package/dist/runtime/suspense.js +2260 -0
  343. package/dist/runtime/templates.d.ts +174 -0
  344. package/dist/runtime/templates.js +575 -0
  345. package/dist/runtime/transitions.d.ts +245 -0
  346. package/dist/runtime/transitions.js +601 -0
  347. package/dist/runtime/types.d.ts +953 -0
  348. package/dist/runtime/types.js +0 -0
  349. package/dist/runtime/use.d.ts +142 -0
  350. package/dist/runtime/use.js +685 -0
  351. package/dist/runtime/view-transition.d.ts +240 -0
  352. package/dist/runtime/view-transition.js +1213 -0
  353. package/dist/runtime.d.ts +97 -3679
  354. package/dist/runtime.js +431 -32485
  355. package/dist/runtime.server.d.ts +42 -41
  356. package/dist/runtime.server.js +393 -370
  357. package/dist/server/index.d.ts +1 -1
  358. package/dist/server/index.js +6 -0
  359. package/dist/server/streamed-signals.d.ts +2 -2
  360. package/dist/server-rpc-client.js +13 -3
  361. package/dist/server-rpc-protocol.d.ts +4 -0
  362. package/dist/server-rpc-stream-client.d.ts +1 -1
  363. package/dist/signals/action-capability-elsewhere.d.ts +2 -2
  364. package/dist/signals/action-capability-elsewhere.js +3 -3
  365. package/dist/signals/action-capability-renderer.d.ts +6 -7
  366. package/dist/signals/action-capability-renderer.js +5 -6
  367. package/dist/signals/action-capability.d.ts +15 -15
  368. package/dist/signals/action-capability.js +3 -8
  369. package/dist/signals/candidate-producers.d.ts +7 -6
  370. package/dist/signals/candidate-producers.js +28 -31
  371. package/dist/signals/computations.d.ts +4 -2
  372. package/dist/signals/computations.js +15 -8
  373. package/dist/signals/control-binding.d.ts +0 -5
  374. package/dist/signals/control-binding.js +17 -89
  375. package/dist/signals/control-handoff.d.ts +1 -1
  376. package/dist/signals/document-owner.js +3 -1
  377. package/dist/signals/early-values.js +1 -1
  378. package/dist/signals/engine.d.ts +2 -2
  379. package/dist/signals/engine.js +13 -11
  380. package/dist/signals/errors.d.ts +2 -0
  381. package/dist/signals/errors.js +5 -1
  382. package/dist/signals/graph-flags.d.ts +7 -0
  383. package/dist/signals/graph-flags.js +16 -0
  384. package/dist/signals/graph.d.ts +72 -20
  385. package/dist/signals/graph.js +302 -128
  386. package/dist/signals/hydration-input-source.d.ts +3 -0
  387. package/dist/signals/hydration-input-source.js +21 -0
  388. package/dist/signals/native-read-client.d.ts +3 -6
  389. package/dist/signals/native-read-client.js +16 -19
  390. package/dist/signals/native-read-retry.d.ts +2 -2
  391. package/dist/signals/native-read-retry.js +2 -4
  392. package/dist/signals/native-read-seeds.d.ts +1 -1
  393. package/dist/signals/native-read-seeds.js +1 -1
  394. package/dist/signals/owner-context.d.ts +10 -0
  395. package/dist/signals/owner-context.js +5 -0
  396. package/dist/signals/pending.d.ts +2 -0
  397. package/dist/signals/pending.js +467 -0
  398. package/dist/signals/read-protocol.d.ts +23 -20
  399. package/dist/signals/read-protocol.js +11 -19
  400. package/dist/signals/redeclaration.js +0 -2
  401. package/dist/signals/requests.d.ts +3 -1
  402. package/dist/signals/requests.js +21 -17
  403. package/dist/signals/scalar-computations.js +14 -5
  404. package/dist/signals/seed-serialization.js +5 -5
  405. package/dist/signals/server-reads-elsewhere.d.ts +2 -0
  406. package/dist/signals/server-reads-elsewhere.js +5 -0
  407. package/dist/signals/server-reads.d.ts +9 -0
  408. package/dist/signals/server-reads.js +8 -0
  409. package/dist/signals/transition-state.d.ts +87 -39
  410. package/dist/signals/transition-state.js +35 -32
  411. package/dist/signals/types.d.ts +1 -1
  412. package/dist/stream-protocol.d.ts +7 -6
  413. package/dist/stream-protocol.js +11 -35
  414. package/dist/streamed-signals-protocol.js +15 -15
  415. package/dist/tsrx-boundary.d.ts +13 -6
  416. package/dist/tsrx-boundary.js +2 -0
  417. package/dist/universal-core.d.ts +2 -2
  418. package/dist/universal-core.js +210 -56
  419. package/dist/version.js +1 -1
  420. package/package.json +11 -2
  421. package/dist/cjs/dom-stage.cjs +0 -902
  422. package/dist/cjs/signals/transition-action.cjs +0 -554
  423. package/dist/cjs/signals/transition-candidate.cjs +0 -113
  424. package/dist/cjs/signals/transition-coordinator.cjs +0 -279
  425. package/dist/dom-stage.d.ts +0 -52
  426. package/dist/dom-stage.js +0 -878
  427. package/dist/hydration-markers.d.ts +0 -60
  428. package/dist/hydration-markers.js +0 -46
  429. package/dist/node/dom-stage.js +0 -878
  430. package/dist/node/hydration-markers.js +0 -46
  431. package/dist/node/signals/transition-action.js +0 -540
  432. package/dist/node/signals/transition-candidate.js +0 -91
  433. package/dist/node/signals/transition-coordinator.js +0 -255
  434. package/dist/signals/transition-action.d.ts +0 -98
  435. package/dist/signals/transition-action.js +0 -539
  436. package/dist/signals/transition-candidate.d.ts +0 -5
  437. package/dist/signals/transition-candidate.js +0 -90
  438. package/dist/signals/transition-coordinator.d.ts +0 -146
  439. package/dist/signals/transition-coordinator.js +0 -255
package/README.md CHANGED
@@ -29,7 +29,9 @@ Applications that use only the Octane runtime do not need this peer.
29
29
  [Signals](https://octanejs.dev/docs/signals) are stable. Import `createScope` and
30
30
  `query` from `octane/signals`, or `useSignal$` from `octane/signals/client`, for
31
31
  scoped state, derived values, async resources, and native component reads.
32
- The standard compiler handles signals automatically; no extra option is needed.
32
+ Each module that consumes native signal reads needs its own runtime import from
33
+ `octane/signals`, `octane/signals/client`, or `octane/signals/server`. No extra
34
+ compiler option is needed.
33
35
 
34
36
  ## Dynamically selected compiled views
35
37
 
@@ -8,7 +8,7 @@ import {
8
8
  HYDRATE_ID_ATTR,
9
9
  HYDRATE_INDEPENDENT_ATTR,
10
10
  HYDRATE_WHEN_ATTR
11
- } from "./hydration-markers.js";
11
+ } from "./hydration-protocol.js";
12
12
  import {
13
13
  EARLY_HYDRATION_INTENTS_KEY,
14
14
  HYDRATE_INTERACTION_EVENTS_ATTR
@@ -9,7 +9,7 @@ export type Readiness = {
9
9
  export type DocumentRegistry = {
10
10
  roots: Map<Element, RootRecord>;
11
11
  ranges: Map<Element, RangeRecord>;
12
- capture?: BehaviorCaptureHooks;
12
+ capture?: BehaviorCaptureHooks | undefined;
13
13
  };
14
14
  export type BehaviorDOM = Pick<NativeHydrationDOM, 'element' | 'parent' | 'matches' | 'query' | 'target'> & {
15
15
  contains(container: Element, element: Element, document: Document): boolean;
@@ -22,7 +22,7 @@ __export(behavior_form_submissions_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(behavior_form_submissions_exports);
24
24
  var import_form_submission = require("./form-submission.cjs");
25
- var import_hydration_markers = require("./hydration-markers.cjs");
25
+ var import_hydration_protocol = require("./hydration-protocol.cjs");
26
26
  var import_interaction_config = require("./hydration/interaction-config.cjs");
27
27
  var import_event_capture = require("./hydration/event-capture.cjs");
28
28
  var import_native_intent = require("./hydration/native-intent.cjs");
@@ -65,7 +65,7 @@ function installFormSubmissionActivation(document, mailbox) {
65
65
  const record = mailbox.q.find((submission) => submission.event === event);
66
66
  const parent = record === void 0 ? dom.parent(form) : record.parent;
67
67
  const key = record?.key ?? elementPrototype.getAttribute.call(form, import_form_submission.FORM_SUBMISSION_ATTR);
68
- const current = () => !record?.discarded && (record?.valid?.() ?? true) && mailbox.captures(form) && event.target === form && dom.connected(form) && dom.connected(boundary) && dom.owner(form) === document && dom.owner(boundary) === document && dom.parent(form) === parent && elementPrototype.getAttribute.call(form, import_form_submission.FORM_SUBMISSION_ATTR) === key && elementPrototype.closest.call(form, `[${import_hydration_markers.HYDRATE_INDEPENDENT_ATTR}]`) === boundary && elementPrototype.getAttribute.call(boundary, import_hydration_markers.HYDRATE_ID_ATTR) === id && (when === "interaction" || when === "dynamic") && elementPrototype.getAttribute.call(boundary, import_hydration_markers.HYDRATE_WHEN_ATTR) === when && elementPrototype.getAttribute.call(boundary, import_interaction_config.HYDRATE_INTERACTION_EVENTS_ATTR) === events;
68
+ const current = () => !record?.discarded && (record?.valid?.() ?? true) && mailbox.captures(form) && event.target === form && dom.connected(form) && dom.connected(boundary) && dom.owner(form) === document && dom.owner(boundary) === document && dom.parent(form) === parent && elementPrototype.getAttribute.call(form, import_form_submission.FORM_SUBMISSION_ATTR) === key && elementPrototype.closest.call(form, `[${import_hydration_protocol.HYDRATE_INDEPENDENT_ATTR}]`) === boundary && elementPrototype.getAttribute.call(boundary, import_hydration_protocol.HYDRATE_ID_ATTR) === id && (when === "interaction" || when === "dynamic") && elementPrototype.getAttribute.call(boundary, import_hydration_protocol.HYDRATE_WHEN_ATTR) === when && elementPrototype.getAttribute.call(boundary, import_interaction_config.HYDRATE_INTERACTION_EVENTS_ATTR) === events;
69
69
  (0, import_event_capture.captureNativeHydrationIntent)(boundary, event, current);
70
70
  };
71
71
  feature.push = queued;
@@ -26,33 +26,33 @@ __export(constants_exports, {
26
26
  EXTERNAL_HYDRATION_PROMISE: () => EXTERNAL_HYDRATION_PROMISE,
27
27
  FOR_BLOCK_OPEN_EMPTY: () => FOR_BLOCK_OPEN_EMPTY,
28
28
  FOR_BLOCK_OPEN_ITEMS: () => FOR_BLOCK_OPEN_ITEMS,
29
- HYDRATE_ID_ATTR: () => import_hydration_markers3.HYDRATE_ID_ATTR,
30
- HYDRATE_ID_COUNT_ATTR: () => import_hydration_markers3.HYDRATE_ID_COUNT_ATTR,
31
- HYDRATE_INDEPENDENT_ATTR: () => import_hydration_markers3.HYDRATE_INDEPENDENT_ATTR,
32
- HYDRATE_INPUT_ATTR: () => import_hydration_markers3.HYDRATE_INPUT_ATTR,
33
- HYDRATE_SEED_ATTR: () => import_hydration_markers3.HYDRATE_SEED_ATTR,
29
+ HYDRATE_ID_ATTR: () => import_hydration_protocol3.HYDRATE_ID_ATTR,
30
+ HYDRATE_ID_COUNT_ATTR: () => import_hydration_protocol3.HYDRATE_ID_COUNT_ATTR,
31
+ HYDRATE_INDEPENDENT_ATTR: () => import_hydration_protocol3.HYDRATE_INDEPENDENT_ATTR,
32
+ HYDRATE_INPUT_ATTR: () => import_hydration_protocol3.HYDRATE_INPUT_ATTR,
33
+ HYDRATE_SEED_ATTR: () => import_hydration_protocol3.HYDRATE_SEED_ATTR,
34
34
  HYDRATE_STATIC_END: () => HYDRATE_STATIC_END,
35
35
  HYDRATE_STATIC_ID_COUNT_PREFIX: () => HYDRATE_STATIC_ID_COUNT_PREFIX,
36
36
  HYDRATE_STREAM_TOKEN_ATTR: () => import_stream_protocol2.HYDRATE_STREAM_TOKEN_ATTR,
37
- HYDRATE_WHEN_ATTR: () => import_hydration_markers3.HYDRATE_WHEN_ATTR,
38
- HYDRATION_END: () => import_hydration_markers.HYDRATION_END,
39
- HYDRATION_FOR_EMPTY: () => import_hydration_markers.HYDRATION_FOR_EMPTY,
40
- HYDRATION_FOR_ITEMS: () => import_hydration_markers.HYDRATION_FOR_ITEMS,
37
+ HYDRATE_WHEN_ATTR: () => import_hydration_protocol3.HYDRATE_WHEN_ATTR,
38
+ HYDRATION_END: () => import_hydration_protocol.HYDRATION_END,
39
+ HYDRATION_FOR_EMPTY: () => import_hydration_protocol.HYDRATION_FOR_EMPTY,
40
+ HYDRATION_FOR_ITEMS: () => import_hydration_protocol.HYDRATION_FOR_ITEMS,
41
41
  HYDRATION_RANGE_BOUNDARY: () => HYDRATION_RANGE_BOUNDARY,
42
- HYDRATION_START: () => import_hydration_markers.HYDRATION_START,
42
+ HYDRATION_START: () => import_hydration_protocol.HYDRATION_START,
43
43
  HYDRATION_TEXT_SEP: () => HYDRATION_TEXT_SEP,
44
- INDEPENDENT_HYDRATE_MANIFEST_ATTR: () => import_hydration_markers3.INDEPENDENT_HYDRATE_MANIFEST_ATTR,
44
+ INDEPENDENT_HYDRATE_MANIFEST_ATTR: () => import_hydration_protocol3.INDEPENDENT_HYDRATE_MANIFEST_ATTR,
45
45
  MUST_USE_PROPERTY_PROPS: () => MUST_USE_PROPERTY_PROPS,
46
46
  POSITIVE_NUMERIC_ATTR_PROPS: () => POSITIVE_NUMERIC_ATTR_PROPS,
47
47
  REJECTION_SENTINEL_KEY: () => REJECTION_SENTINEL_KEY,
48
- SIGNAL_CONTROL_ATTR: () => import_hydration_markers3.SIGNAL_CONTROL_ATTR,
48
+ SIGNAL_CONTROL_ATTR: () => import_hydration_protocol3.SIGNAL_CONTROL_ATTR,
49
49
  STREAM_BOUNDARY_ATTR: () => import_stream_protocol3.STREAM_BOUNDARY_ATTR,
50
50
  STREAM_RESOURCE_ATTR: () => STREAM_RESOURCE_ATTR,
51
51
  STREAM_SCRIPT_ATTR: () => import_stream_protocol4.STREAM_SCRIPT_ATTR,
52
52
  STREAM_SEED_ATTR: () => STREAM_SEED_ATTR,
53
- STREAM_SEED_COMMENT: () => import_hydration_markers4.STREAM_SEED_COMMENT,
53
+ STREAM_SEED_COMMENT: () => import_hydration_protocol4.STREAM_SEED_COMMENT,
54
54
  STREAM_SEGMENT_ATTR: () => STREAM_SEGMENT_ATTR,
55
- SUSPENSE_RESOLVED_COMMENT: () => import_hydration_markers2.SUSPENSE_RESOLVED_COMMENT,
55
+ SUSPENSE_RESOLVED_COMMENT: () => import_hydration_protocol2.SUSPENSE_RESOLVED_COMMENT,
56
56
  SUSPENSE_RESOLVED_NATIVE_ATTR: () => SUSPENSE_RESOLVED_NATIVE_ATTR,
57
57
  SUSPENSE_RESOLVED_SEED_ATTR: () => SUSPENSE_RESOLVED_SEED_ATTR,
58
58
  SUSPENSE_SCRIPT_ATTR: () => import_stream_protocol.SUSPENSE_SCRIPT_ATTR,
@@ -67,19 +67,19 @@ __export(constants_exports, {
67
67
  isUnitlessStyleProp: () => isUnitlessStyleProp
68
68
  });
69
69
  module.exports = __toCommonJS(constants_exports);
70
- var import_hydration_markers = require("./hydration-markers.cjs");
70
+ var import_hydration_protocol = require("./hydration-protocol.cjs");
71
71
  var import_stream_protocol = require("./stream-protocol.cjs");
72
- var import_hydration_markers2 = require("./hydration-markers.cjs");
72
+ var import_hydration_protocol2 = require("./hydration-protocol.cjs");
73
73
  var import_stream_protocol2 = require("./stream-protocol.cjs");
74
- var import_hydration_markers3 = require("./hydration-markers.cjs");
74
+ var import_hydration_protocol3 = require("./hydration-protocol.cjs");
75
75
  var import_stream_protocol3 = require("./stream-protocol.cjs");
76
76
  var import_stream_protocol4 = require("./stream-protocol.cjs");
77
- var import_hydration_markers4 = require("./hydration-markers.cjs");
77
+ var import_hydration_protocol4 = require("./hydration-protocol.cjs");
78
78
  var import_dom_tables = require("./dom-tables.cjs");
79
- const BLOCK_OPEN = `<!--${import_hydration_markers.HYDRATION_START}-->`;
80
- const BLOCK_CLOSE = `<!--${import_hydration_markers.HYDRATION_END}-->`;
81
- const FOR_BLOCK_OPEN_EMPTY = `<!--${import_hydration_markers.HYDRATION_FOR_EMPTY}-->`;
82
- const FOR_BLOCK_OPEN_ITEMS = `<!--${import_hydration_markers.HYDRATION_FOR_ITEMS}-->`;
79
+ const BLOCK_OPEN = `<!--${import_hydration_protocol.HYDRATION_START}-->`;
80
+ const BLOCK_CLOSE = `<!--${import_hydration_protocol.HYDRATION_END}-->`;
81
+ const FOR_BLOCK_OPEN_EMPTY = `<!--${import_hydration_protocol.HYDRATION_FOR_EMPTY}-->`;
82
+ const FOR_BLOCK_OPEN_ITEMS = `<!--${import_hydration_protocol.HYDRATION_FOR_ITEMS}-->`;
83
83
  const EMPTY_COMMENT = "<!---->";
84
84
  const HYDRATION_TEXT_SEP = " ";
85
85
  const TEXT_SEPARATOR = `<!--${HYDRATION_TEXT_SEP}-->`;
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var context_epoch_exports = {};
20
20
  __export(context_epoch_exports, {
21
+ EPOCH_CELL: () => EPOCH_CELL,
21
22
  bumpContextEpoch: () => bumpContextEpoch,
22
23
  contextEpochNow: () => contextEpochNow
23
24
  });
@@ -33,6 +34,7 @@ function bumpContextEpoch() {
33
34
  }
34
35
  // Annotate the CommonJS export names for ESM import in node:
35
36
  0 && (module.exports = {
37
+ EPOCH_CELL,
36
38
  bumpContextEpoch,
37
39
  contextEpochNow
38
40
  });
@@ -69,7 +69,7 @@ function safePreview(value, depth = 0) {
69
69
  if (typeof Node !== "undefined" && value instanceof Node) return "[Node]";
70
70
  const fields = Object.getOwnPropertyDescriptors(value);
71
71
  if (Array.isArray(value)) {
72
- const length = Math.min(Number(fields.length?.value) || 0, 20);
72
+ const length = Math.min(Number(fields["length"]?.value) || 0, 20);
73
73
  return Array.from({ length }, (_, index) => previewField(fields[index], depth));
74
74
  }
75
75
  const out = {};
@@ -102,14 +102,14 @@ function classifyCell(cell) {
102
102
  } catch {
103
103
  return { kind: "other", value: "[Unavailable]" };
104
104
  }
105
- if (fields.effect?.value === true) return null;
106
- if ("setter" in fields) return { kind: "state", value: previewField(fields.value, -1) };
105
+ if (fields["effect"]?.value === true) return null;
106
+ if ("setter" in fields) return { kind: "state", value: previewField(fields["value"], -1) };
107
107
  if ("dispatch" in fields && "reducer" in fields)
108
- return { kind: "reducer", value: previewField(fields.value, -1) };
108
+ return { kind: "reducer", value: previewField(fields["value"], -1) };
109
109
  if ("current" in fields && !("deps" in fields))
110
- return { kind: "ref", value: previewField(fields.current, -1) };
110
+ return { kind: "ref", value: previewField(fields["current"], -1) };
111
111
  if ("deps" in fields && "value" in fields)
112
- return { kind: "memo-or-callback", value: previewField(fields.value, -1) };
112
+ return { kind: "memo-or-callback", value: previewField(fields["value"], -1) };
113
113
  return { kind: "other", value: safePreview(cell) };
114
114
  }
115
115
  function nameOf(scope, key) {
@@ -19,22 +19,19 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var dom_binding_protocol_exports = {};
20
20
  __export(dom_binding_protocol_exports, {
21
21
  BINDING_OPEN_PREFIX: () => BINDING_OPEN_PREFIX,
22
- BINDING_OPEN_TAIL_SOURCE: () => BINDING_OPEN_TAIL_SOURCE,
23
22
  bindingRootMarker: () => bindingRootMarker,
24
23
  decodeBindingKey: () => decodeBindingKey,
25
24
  encodeBindingKey: () => encodeBindingKey,
26
- isBindingOpenComment: () => isBindingOpenComment,
27
- isForBindingOpenComment: () => isForBindingOpenComment,
28
25
  parseBindingMarker: () => parseBindingMarker
29
26
  });
30
27
  module.exports = __toCommonJS(dom_binding_protocol_exports);
31
28
  var import_error_message_no_arguments = require("./error-message-no-arguments.cjs");
32
- var import_hydration_markers = require("./hydration-markers.cjs");
29
+ var import_hydration_protocol = require("./hydration-protocol.cjs");
33
30
  const __octaneDev = process.env.NODE_ENV !== "production";
34
- const BINDING_OPEN_PREFIX = import_hydration_markers.HYDRATION_START + "b;";
31
+ const BINDING_OPEN_PREFIX = import_hydration_protocol.HYDRATION_START + "b;";
35
32
  const BINDING_RECEIPT = ";b;";
36
- const BINDING_FOR_EMPTY_PREFIX = import_hydration_markers.HYDRATION_FOR_EMPTY + BINDING_RECEIPT;
37
- const BINDING_FOR_ITEMS_PREFIX = import_hydration_markers.HYDRATION_FOR_ITEMS + BINDING_RECEIPT;
33
+ const BINDING_FOR_EMPTY_PREFIX = import_hydration_protocol.HYDRATION_FOR_EMPTY + BINDING_RECEIPT;
34
+ const BINDING_FOR_ITEMS_PREFIX = import_hydration_protocol.HYDRATION_FOR_ITEMS + BINDING_RECEIPT;
38
35
  const BINDING_FOR_ID_START = BINDING_FOR_EMPTY_PREFIX.length;
39
36
  const BINDING_ID_START = BINDING_OPEN_PREFIX.length;
40
37
  const BINDING_ROOT_SITE = "root";
@@ -68,7 +65,7 @@ function parseBindingMarker(data) {
68
65
  id: data.slice(BINDING_FOR_ID_START, separator),
69
66
  site: data.slice(separator + 1),
70
67
  kind: "for",
71
- arm: data.charCodeAt(import_hydration_markers.HYDRATION_FOR_ARM_INDEX) - 48
68
+ arm: data.charCodeAt(import_hydration_protocol.HYDRATION_FOR_ARM_INDEX) - 48
72
69
  };
73
70
  }
74
71
  if (!data.startsWith(BINDING_OPEN_PREFIX)) return null;
@@ -103,45 +100,11 @@ function parseBindingMarker(data) {
103
100
  }
104
101
  return null;
105
102
  }
106
- const BINDING_OPEN_TAIL_SOURCE = "f[01];b;[^;]+;[^;]+|b;[^;]+;(root|[^;]+;([tvso\\d]|-1|[1-9]\\d+|y[012]?|k;[sn]:[^]+))";
107
- function isBindingOpenComment(data) {
108
- const list = data.startsWith(BINDING_FOR_EMPTY_PREFIX) || data.startsWith(BINDING_FOR_ITEMS_PREFIX);
109
- if (!list && !data.startsWith(BINDING_OPEN_PREFIX)) return false;
110
- const idStart = list ? BINDING_FOR_ID_START : BINDING_ID_START;
111
- const idEnd = data.indexOf(";", idStart);
112
- if (idEnd <= idStart || idEnd === data.length - 1) return false;
113
- if (list) return data.indexOf(";", idEnd + 1) === -1;
114
- if (data.length - idEnd === BINDING_ROOT_SUFFIX.length && data.endsWith(BINDING_ROOT_SUFFIX))
115
- return true;
116
- const siteEnd = data.indexOf(";", idEnd + 1);
117
- if (siteEnd <= idEnd + 1 || siteEnd === data.length - 1) return false;
118
- const tail = siteEnd + 1;
119
- if (data[tail] === "y") return /^y[012]?$/.test(data.slice(tail));
120
- if (data.length === tail + 1) {
121
- const code = data.charCodeAt(tail);
122
- return code === 116 || code === 118 || code === 115 || code === 111 || code >= 48 && code <= 57;
123
- }
124
- if (data.charCodeAt(tail) === 107 && data.charCodeAt(tail + 1) === 59)
125
- return (data.charCodeAt(tail + 2) === 115 || data.charCodeAt(tail + 2) === 110) && data.charCodeAt(tail + 3) === 58 && data.length > tail + 4;
126
- if (data.length === tail + 2 && data.endsWith("-1")) return true;
127
- if (data.charCodeAt(tail) < 49 || data.charCodeAt(tail) > 57) return false;
128
- for (let index = tail + 1; index < data.length; index++) {
129
- const code = data.charCodeAt(index);
130
- if (code < 48 || code > 57) return false;
131
- }
132
- return true;
133
- }
134
- function isForBindingOpenComment(data) {
135
- return data.startsWith(import_hydration_markers.HYDRATION_FOR_PREFIX) && isBindingOpenComment(data);
136
- }
137
103
  // Annotate the CommonJS export names for ESM import in node:
138
104
  0 && (module.exports = {
139
105
  BINDING_OPEN_PREFIX,
140
- BINDING_OPEN_TAIL_SOURCE,
141
106
  bindingRootMarker,
142
107
  decodeBindingKey,
143
108
  encodeBindingKey,
144
- isBindingOpenComment,
145
- isForBindingOpenComment,
146
109
  parseBindingMarker
147
110
  });
@@ -20,7 +20,6 @@ var dom_binding_styles_exports = {};
20
20
  __export(dom_binding_styles_exports, {
21
21
  __createBindingStyles: () => __createBindingStyles,
22
22
  __normalizeBindingStyle: () => __normalizeBindingStyle,
23
- __prepareBindingSources: () => __prepareBindingSources,
24
23
  __retiredBindingSource: () => __retiredBindingSource
25
24
  });
26
25
  module.exports = __toCommonJS(dom_binding_styles_exports);
@@ -30,55 +29,8 @@ var import_dom_bindings = require("./dom-bindings.cjs");
30
29
  var import_owner_context = require("./signals/owner-context.cjs");
31
30
  var import_read_protocol = require("./signals/read-protocol.cjs");
32
31
  const __octaneDev = process.env.NODE_ENV !== "production";
33
- function __prepareBindingSources(reads, subscriptions, notify, active, run) {
34
- const previous = new Map(subscriptions);
35
- const acquired = /* @__PURE__ */ new Map();
36
- let accepted = false;
37
- let retired = false;
38
- let invalid = false;
39
- try {
40
- for (const source of reads.keys()) {
41
- if (previous.has(source)) continue;
42
- let live = true;
43
- const stop = run(
44
- () => source.subscribe(
45
- (0, import_read_protocol.forwardNativeTransitionConsumer)(notify, () => {
46
- if (!live || retired || !active()) return;
47
- if (!accepted) invalid = true;
48
- else notify();
49
- })
50
- )
51
- );
52
- acquired.set(source, () => {
53
- live = false;
54
- stop();
55
- });
56
- }
57
- } catch (error) {
58
- for (const stop of acquired.values()) stop();
59
- throw error;
60
- }
61
- return {
62
- validate: () => !retired && !invalid && active() && subscriptions.size === previous.size && [...previous].every(([source, stop]) => subscriptions.get(source) === stop) && [...reads].every(([source, version]) => source.getVersion() === version),
63
- commit() {
64
- if (accepted || retired || !active()) return;
65
- accepted = true;
66
- for (const [source, stop] of acquired) subscriptions.set(source, stop);
67
- for (const [source, stop] of previous) {
68
- if (reads.has(source)) continue;
69
- subscriptions.delete(source);
70
- stop();
71
- }
72
- },
73
- discard() {
74
- if (accepted || retired) return;
75
- retired = true;
76
- for (const stop of acquired.values()) stop();
77
- }
78
- };
79
- }
80
32
  function __retiredBindingSource(subscriptions) {
81
- for (const source of subscriptions.keys()) if (source.inspect?.().retired) return true;
33
+ for (const source of subscriptions.keys()) if (source.retired?.()) return true;
82
34
  return false;
83
35
  }
84
36
  function __normalizeBindingStyle(value) {
@@ -140,11 +92,9 @@ function __createBindingStyles() {
140
92
  if (!subscriptions.has(source)) {
141
93
  let active = true;
142
94
  const stop = run(
143
- () => source.subscribe(
144
- (0, import_read_protocol.forwardNativeTransitionConsumer)(notify, () => {
145
- if (active && !disposed) notify();
146
- })
147
- )
95
+ () => source.subscribe(() => {
96
+ if (active && !disposed) notify();
97
+ })
148
98
  );
149
99
  if (typeof stop !== "function") throw new TypeError(__octaneDev ? "A DOM style subscription must return cleanup." : (0, import_error_message_no_arguments.formatNoArgumentErrorMessage)(312));
150
100
  const disposeSource = () => {
@@ -198,36 +148,6 @@ function __createBindingStyles() {
198
148
  return {
199
149
  get,
200
150
  retired: () => __retiredBindingSource(subscriptions),
201
- preview(value) {
202
- const reads = /* @__PURE__ */ new Map();
203
- const previousObserver = (0, import_read_protocol.setNativeReadObserver)((source, version) => {
204
- if (!reads.has(source)) reads.set(source, version);
205
- });
206
- const guard = (0, import_read_protocol.beginNativeWriteGuard)();
207
- let projected;
208
- try {
209
- projected = run(() => __normalizeBindingStyle((0, import_read_protocol.readNativeDomStyle)(value)));
210
- } finally {
211
- (0, import_read_protocol.endNativeWriteGuard)(guard);
212
- (0, import_read_protocol.setNativeReadObserver)(previousObserver);
213
- }
214
- const prepared = __prepareBindingSources(
215
- reads,
216
- subscriptions,
217
- notify,
218
- () => !disposed,
219
- run
220
- );
221
- return {
222
- value: projected,
223
- validate: prepared.validate,
224
- discard: prepared.discard,
225
- commit() {
226
- raw = value;
227
- prepared.commit();
228
- }
229
- };
230
- },
231
151
  read(value) {
232
152
  raw = value;
233
153
  return get();
@@ -294,6 +214,5 @@ function __createBindingStyles() {
294
214
  0 && (module.exports = {
295
215
  __createBindingStyles,
296
216
  __normalizeBindingStyle,
297
- __prepareBindingSources,
298
217
  __retiredBindingSource
299
218
  });