js-on-sx: tolerate destructuring params in fn decls/exprs (skipped as holes)

This commit is contained in:
2026-04-23 23:27:29 +00:00
parent 0a3425ba18
commit 27bd25843e

View File

@@ -760,6 +760,28 @@
(do
(jp-advance! st)
(append! params (list (quote js-rest) nm))))))
((jp-at? st "punct" "{")
(begin
(jp-skip-balanced st "{" "}")
(append! params "__destruct_param__")
(when
(jp-at? st "op" "=")
(begin (jp-advance! st) (jp-parse-assignment st)))
(cond
((jp-at? st "punct" ",")
(begin (jp-advance! st) (jp-parse-param-list-loop st params)))
(else nil))))
((jp-at? st "punct" "[")
(begin
(jp-skip-balanced st "[" "]")
(append! params "__destruct_param__")
(when
(jp-at? st "op" "=")
(begin (jp-advance! st) (jp-parse-assignment st)))
(cond
((jp-at? st "punct" ",")
(begin (jp-advance! st) (jp-parse-param-list-loop st params)))
(else nil))))
((= (get (jp-peek st) :type) "ident")
(do
(let