Skip to content

Commit ca28529

Browse files
committed
Add function head for declare_let with a list of names
1 parent 341a002 commit ca28529

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

lib/elixir_script/passes/translate/function.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ defmodule ElixirScript.Translate.Function do
134134
|> Clause.return_last_statement
135135
|> update_last_call(state)
136136

137-
declaration = Helpers.declare(params, J.identifier("__arg_matches__"))
137+
declaration = Helpers.declare_let(params, J.identifier("__arg_matches__"))
138138

139139
body = [declaration] ++ body
140140
{patterns, params, guard, body}

lib/elixir_script/passes/translate/helpers.ex

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,15 @@ defmodule ElixirScript.Translate.Helpers do
111111
declare(J.identifier(name), value)
112112
end
113113

114+
def declare_let(names, value) when is_list(names) do
115+
declarator = J.variable_declarator(
116+
J.array_pattern(names),
117+
value
118+
)
119+
120+
J.variable_declaration([declarator], :let)
121+
end
122+
114123
def declare_let(name, value) do
115124
declarator = J.variable_declarator(
116125
J.identifier(name),

0 commit comments

Comments
 (0)