This repository has been archived on 2023-08-07. You can view files and clone it, but cannot push or open issues or pull requests.
temple/lib/temple/parser/empty.ex
Mitchell Hanberg 99cbb42962
SVG (#181)
This basically just adds svg elements as void and nonvoid element
aliases and it works, will test on a real proejct before releasing the
next release.

Also, fixed the weird behaviour problem by defining types for each of the ast
nodes and then referencing those types when defining the ast type.

Unclear why this works, but I imagine it has to do with the types not
being a big part of the compilation process or something.

This also uses the typed_struct library to do so. Seems pretty slick and
does what it claims it does.
2022-09-19 20:35:45 -04:00

20 lines
298 B
Elixir

defmodule Temple.Parser.Empty do
@moduledoc false
use TypedStruct
@behaviour Temple.Parser
typedstruct do
end
@impl true
def applicable?(ast) when ast in [nil, []], do: true
def applicable?(_), do: false
@impl true
def run(_ast) do
Temple.Ast.new(__MODULE__)
end
end