HS: dispatch hyperscript:beforeFetch before fetch IO
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 19s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 19s
Store target element in meta.owner when hs-on fires; hs-fetch-impl dispatches beforeFetch on it before the perform. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -69,7 +69,7 @@
|
|||||||
(fn
|
(fn
|
||||||
(target event-name handler)
|
(target event-name handler)
|
||||||
(let
|
(let
|
||||||
((wrapped (fn (event) (do (host-set! meta "caller" _hs-on-caller) (let ((__hs-no-stop false)) (guard (e ((and (not (= event-name "exception")) (not (= event-name "error"))) (do (when (and (list? e) (= (first e) "hs-halt-default")) (set! __hs-no-stop true)) (when (not __hs-no-stop) (dom-dispatch target "exception" {:error e})))) (true (raise e))) (handler event)) (when (not __hs-no-stop) (host-call event "stopPropagation")))))))
|
((wrapped (fn (event) (do (host-set! meta "caller" _hs-on-caller) (host-set! meta "owner" target) (let ((__hs-no-stop false)) (guard (e ((and (not (= event-name "exception")) (not (= event-name "error"))) (do (when (and (list? e) (= (first e) "hs-halt-default")) (set! __hs-no-stop true)) (when (not __hs-no-stop) (dom-dispatch target "exception" {:error e})))) (true (raise e))) (handler event)) (when (not __hs-no-stop) (host-call event "stopPropagation")))))))
|
||||||
(let
|
(let
|
||||||
((unlisten (dom-listen target event-name wrapped))
|
((unlisten (dom-listen target event-name wrapped))
|
||||||
(prev (or (dom-get-data target "hs-unlisteners") (list))))
|
(prev (or (dom-get-data target "hs-unlisteners") (list))))
|
||||||
@@ -900,6 +900,10 @@
|
|||||||
((or (= format "text") (= format "Text")) "text")
|
((or (= format "text") (= format "Text")) "text")
|
||||||
((or (= format "number") (= format "Number")) "number")
|
((or (= format "number") (= format "Number")) "number")
|
||||||
(true "text"))))
|
(true "text"))))
|
||||||
|
(let
|
||||||
|
((_hs-before-caller (host-get meta "owner")))
|
||||||
|
(when _hs-before-caller
|
||||||
|
(dom-dispatch _hs-before-caller "hyperscript:beforeFetch" {:url url})))
|
||||||
(let
|
(let
|
||||||
((raw (perform (list "io-fetch" url fmt))))
|
((raw (perform (list "io-fetch" url fmt))))
|
||||||
(begin
|
(begin
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
(fn
|
(fn
|
||||||
(target event-name handler)
|
(target event-name handler)
|
||||||
(let
|
(let
|
||||||
((wrapped (fn (event) (do (host-set! meta "caller" _hs-on-caller) (let ((__hs-no-stop false)) (guard (e ((and (not (= event-name "exception")) (not (= event-name "error"))) (do (when (and (list? e) (= (first e) "hs-halt-default")) (set! __hs-no-stop true)) (when (not __hs-no-stop) (dom-dispatch target "exception" {:error e})))) (true (raise e))) (handler event)) (when (not __hs-no-stop) (host-call event "stopPropagation")))))))
|
((wrapped (fn (event) (do (host-set! meta "caller" _hs-on-caller) (host-set! meta "owner" target) (let ((__hs-no-stop false)) (guard (e ((and (not (= event-name "exception")) (not (= event-name "error"))) (do (when (and (list? e) (= (first e) "hs-halt-default")) (set! __hs-no-stop true)) (when (not __hs-no-stop) (dom-dispatch target "exception" {:error e})))) (true (raise e))) (handler event)) (when (not __hs-no-stop) (host-call event "stopPropagation")))))))
|
||||||
(let
|
(let
|
||||||
((unlisten (dom-listen target event-name wrapped))
|
((unlisten (dom-listen target event-name wrapped))
|
||||||
(prev (or (dom-get-data target "hs-unlisteners") (list))))
|
(prev (or (dom-get-data target "hs-unlisteners") (list))))
|
||||||
@@ -900,6 +900,10 @@
|
|||||||
((or (= format "text") (= format "Text")) "text")
|
((or (= format "text") (= format "Text")) "text")
|
||||||
((or (= format "number") (= format "Number")) "number")
|
((or (= format "number") (= format "Number")) "number")
|
||||||
(true "text"))))
|
(true "text"))))
|
||||||
|
(let
|
||||||
|
((_hs-before-caller (host-get meta "owner")))
|
||||||
|
(when _hs-before-caller
|
||||||
|
(dom-dispatch _hs-before-caller "hyperscript:beforeFetch" {:url url})))
|
||||||
(let
|
(let
|
||||||
((raw (perform (list "io-fetch" url fmt))))
|
((raw (perform (list "io-fetch" url fmt))))
|
||||||
(begin
|
(begin
|
||||||
|
|||||||
Reference in New Issue
Block a user