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
|
||||
(target event-name handler)
|
||||
(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
|
||||
((unlisten (dom-listen target event-name wrapped))
|
||||
(prev (or (dom-get-data target "hs-unlisteners") (list))))
|
||||
@@ -900,6 +900,10 @@
|
||||
((or (= format "text") (= format "Text")) "text")
|
||||
((or (= format "number") (= format "Number")) "number")
|
||||
(true "text"))))
|
||||
(let
|
||||
((_hs-before-caller (host-get meta "owner")))
|
||||
(when _hs-before-caller
|
||||
(dom-dispatch _hs-before-caller "hyperscript:beforeFetch" {:url url})))
|
||||
(let
|
||||
((raw (perform (list "io-fetch" url fmt))))
|
||||
(begin
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
(fn
|
||||
(target event-name handler)
|
||||
(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
|
||||
((unlisten (dom-listen target event-name wrapped))
|
||||
(prev (or (dom-get-data target "hs-unlisteners") (list))))
|
||||
@@ -900,6 +900,10 @@
|
||||
((or (= format "text") (= format "Text")) "text")
|
||||
((or (= format "number") (= format "Number")) "number")
|
||||
(true "text"))))
|
||||
(let
|
||||
((_hs-before-caller (host-get meta "owner")))
|
||||
(when _hs-before-caller
|
||||
(dom-dispatch _hs-before-caller "hyperscript:beforeFetch" {:url url})))
|
||||
(let
|
||||
((raw (perform (list "io-fetch" url fmt))))
|
||||
(begin
|
||||
|
||||
Reference in New Issue
Block a user