IO registry: defio declares platform suspension points
Core SX has zero IO — platforms extend __io-registry via (defio name :category :data/:code/:effect ...). The server web platform declares 44 operations in web/io.sx. batchable_helpers now derived from registry (:batchable true) instead of hardcoded list. Startup validation warns if bound IO ops lack registry entries. Browser gets empty registry, ready for step 5 (IO suspension). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -117,7 +117,7 @@
|
||||
build-request-headers
|
||||
:effects (io)
|
||||
(fn
|
||||
(el (loaded-components :as list) (css-hash :as string))
|
||||
(el (loaded-components :as list))
|
||||
(let
|
||||
((headers (dict "SX-Request" "true" "SX-Current-URL" (browser-location-href))))
|
||||
(let
|
||||
@@ -126,7 +126,6 @@
|
||||
(let
|
||||
((comp-hash (dom-get-attr (dom-query "script[data-components][data-hash]") "data-hash")))
|
||||
(when comp-hash (dict-set! headers "SX-Components-Hash" comp-hash)))
|
||||
(when css-hash (dict-set! headers "SX-Css" css-hash))
|
||||
(let
|
||||
((extra-h (dom-get-attr el "sx-headers")))
|
||||
(when
|
||||
@@ -162,8 +161,6 @@
|
||||
(get-header "SX-Location")
|
||||
"replace-url"
|
||||
(get-header "SX-Replace-Url")
|
||||
"css-hash"
|
||||
(get-header "SX-Css-Hash")
|
||||
"trigger-swap"
|
||||
(get-header "SX-Trigger-After-Swap")
|
||||
"trigger-settle"
|
||||
|
||||
Reference in New Issue
Block a user