Current section

46 Versions

Jump to

Compare versions

4 files changed
+30 additions
-24 deletions
  @@ -1,9 +1,17 @@
1 1 # Changelog
2 2
3 + ## v0.9.1 (2022-09-26)
4 +
5 + * Fix dialyzer errors
6 +
3 7 ## v0.9.0 (2022-09-23)
4 8
5 9 * Support Liveview `v0.18`
6 10
11 + ## v0.8.4 (2022-09-26)
12 +
13 + * Fix dialyzer errors
14 +
7 15 ## v0.8.3 (2022-09-22)
8 16
9 17 * Add `:global` pseudo-class to the Scoped CSS's API
  @@ -198,4 +198,4 @@
198 198 {<<"optional">>,false},
199 199 {<<"repository">>,<<"hexpm">>},
200 200 {<<"requirement">>,<<"~> 0.11">>}]]}.
201 - {<<"version">>,<<"0.9.0">>}.
201 + {<<"version">>,<<"0.9.1">>}.
  @@ -594,14 +594,27 @@ defmodule Surface.Compiler.EExEngine do
594 594 slot_entry_line
595 595 end
596 596
597 - let_line =
597 + {no_warnings_let, _} = make_bindings_ast_generated(let)
598 +
599 + validate_let_ast =
598 600 if let_expr do
599 - let_expr.meta.line
600 - else
601 - slot_entry_line
601 + quote line: let_expr.meta.line do
602 + if !match?(unquote(no_warnings_let), argument) do
603 + raise ArgumentError,
604 + "cannot match slot argument against :let. Expected a value matching `#{unquote(Macro.to_string(no_warnings_let))}`, got: #{inspect(argument)}."
605 + end
606 + end
602 607 end
603 608
604 - {no_warnings_let, _} = make_bindings_ast_generated(let)
609 + validate_generator_ast =
610 + if !match?({var, _, ctx} when is_atom(var) and is_atom(ctx), no_warnings_generator) do
611 + quote line: generator_line do
612 + if !match?(unquote(no_warnings_generator), generator_value) do
613 + raise ArgumentError,
614 + "cannot match generator value against generator binding. Expected a value matching `#{unquote(Macro.to_string(no_warnings_generator))}`, got: #{inspect(generator_value)}."
615 + end
616 + end
617 + end
605 618
606 619 block =
607 620 quote generated: true, line: slot_entry_line do
  @@ -617,23 +630,8 @@ defmodule Surface.Compiler.EExEngine do
617 630 generator_value,
618 631 unquote(context_var)
619 632 } ->
620 - unquote(
621 - quote line: let_line, generated: true do
622 - if !match?(unquote(no_warnings_let), argument) do
623 - raise ArgumentError,
624 - "cannot match slot argument against :let. Expected a value matching `#{unquote(Macro.to_string(no_warnings_let))}`, got: #{inspect(argument)}."
625 - end
626 - end
627 - )
628 -
629 - unquote(
630 - quote line: generator_line, generated: true do
631 - if !match?(unquote(no_warnings_generator), generator_value) do
632 - raise ArgumentError,
633 - "cannot match generator value against generator binding. Expected a value matching `#{unquote(Macro.to_string(no_warnings_generator))}`, got: #{inspect(generator_value)}."
634 - end
635 - end
636 - )
633 + unquote(validate_let_ast)
634 + unquote(validate_generator_ast)
637 635 end
638 636
639 637 ast =
  @@ -1,7 +1,7 @@
1 1 defmodule Surface.MixProject do
2 2 use Mix.Project
3 3
4 - @version "0.9.0"
4 + @version "0.9.1"
5 5
6 6 def project do
7 7 [