Hyperscript: remove/tell/transition commands, test generator ref() fix
Parser: remove me/[@attr]/{css}, tell body scoping (skip then),
transition from/to syntax + my/style prefixes.
Compiler: remove-element, remove-attr, remove-css, transition-from.
Runtime: hs-transition-from for from/to CSS transitions.
Generator changes (already committed) fix ref() unnamed-first mapping,
assertion dedup for pre/post pairs, on-event then insertion.
Conformance: 374→395 (+21 tests, 48%)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -240,18 +240,22 @@
|
||||
((prop (nth ast 1)) (value (hs-to-sx (nth ast 2))))
|
||||
(if
|
||||
(= (len ast) 5)
|
||||
(list
|
||||
(quote hs-transition)
|
||||
(hs-to-sx (nth ast 4))
|
||||
prop
|
||||
value
|
||||
(nth ast 3))
|
||||
(list
|
||||
(quote hs-transition)
|
||||
(hs-to-sx (nth ast 3))
|
||||
prop
|
||||
value
|
||||
nil)))))
|
||||
(let
|
||||
((raw-tgt (nth ast 4)))
|
||||
(list
|
||||
(quote hs-transition)
|
||||
(if (nil? raw-tgt) (quote me) (hs-to-sx raw-tgt))
|
||||
prop
|
||||
value
|
||||
(nth ast 3)))
|
||||
(let
|
||||
((raw-tgt (nth ast 3)))
|
||||
(list
|
||||
(quote hs-transition)
|
||||
(if (nil? raw-tgt) (quote me) (hs-to-sx raw-tgt))
|
||||
prop
|
||||
value
|
||||
nil))))))
|
||||
(define
|
||||
emit-make
|
||||
(fn
|
||||
@@ -913,6 +917,19 @@
|
||||
(list (quote dom-set-style) tgt "visibility" "visible"))
|
||||
(true (list (quote dom-set-style) tgt "display" "")))))
|
||||
((= head (quote transition)) (emit-transition ast))
|
||||
((= head (quote transition-from))
|
||||
(let
|
||||
((prop (nth ast 1))
|
||||
(from-val (hs-to-sx (nth ast 2)))
|
||||
(to-val (hs-to-sx (nth ast 3)))
|
||||
(dur (nth ast 4)))
|
||||
(list
|
||||
(quote hs-transition-from)
|
||||
(quote me)
|
||||
prop
|
||||
from-val
|
||||
to-val
|
||||
dur)))
|
||||
((= head (quote repeat)) (emit-repeat ast))
|
||||
((= head (quote fetch))
|
||||
(list (quote hs-fetch) (hs-to-sx (nth ast 1)) (nth ast 2)))
|
||||
|
||||
Reference in New Issue
Block a user