Current section
Files
Jump to
Current section
Files
lib/durango.ex
defmodule Durango do
@moduledoc """
Documentation for Durango.
"""
alias Durango.Query
alias Durango.Dsl
alias Durango.Dsl.{Quoter}
defmacro query(%Query{} = query, ast) do
{ast, bound_vars} = Dsl.preprocess_ast(ast)
bound_vars = Map.merge(query.bound_variables, bound_vars)
query = %{ query | bound_variables: bound_vars }
parsed = Dsl.parse_query(query, ast)
quoted = Quoter.to_quoted(parsed)
quote do
unquote(quoted)
end
end
defmacro query(ast) do
{ast, bound_vars} = Dsl.preprocess_ast(ast)
parsed = Dsl.parse_query(%Query{bound_variables: bound_vars}, ast)
quoted = Quoter.to_quoted(parsed)
quote do
unquote(quoted)
end
end
end