js-on-sx: tolerate destructuring params in fn decls/exprs (skipped as holes)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user