Skip to content

Commit d09b785

Browse files
committed
Fixed optional parameter implementation
1 parent a1b69e5 commit d09b785

File tree

7 files changed

+445
-48
lines changed

7 files changed

+445
-48
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
* Functions with catch, after, else clauses
66
* `with` special form
77
* Pin operator in map keys and function clauses
8+
9+
* Bugfixes
10+
* Fixed optional parameter implementation
811

912
# v0.15.2
1013
* Enhancements

lib/elixir_script/translator/pattern_matching.ex

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,13 @@ defmodule ElixirScript.Translator.PatternMatching do
7171
)
7272
end
7373

74+
def parameter(default_value) do
75+
JS.call_expression(
76+
@parameter,
77+
[default_value]
78+
)
79+
end
80+
7481
def head_tail(headParameter, tailParameter) do
7582
JS.call_expression(
7683
@head_tail,
@@ -251,7 +258,7 @@ defmodule ElixirScript.Translator.PatternMatching do
251258

252259
defp do_build_match({:\\, _, [{name, _, _}, default]}, env) do
253260
name = Utils.filter_name(name)
254-
{ [parameter()], [ JS.assignment_expression(:=, JS.identifier(name), Translator.translate!(default, env))] }
261+
{ [parameter(Translator.translate!(default, env))], [JS.identifier(name)] }
255262
end
256263

257264

0 commit comments

Comments
 (0)