Current section
Files
Jump to
Current section
Files
lib/meeseeks/selector/root.ex
defmodule Meeseeks.Selector.Root do
use Meeseeks.Selector
@moduledoc false
alias Meeseeks.Selector
alias Meeseeks.Selector.Root
defstruct selectors: [], combinator: nil, filters: nil
@impl true
def match(%Root{selectors: []}, %{parent: nil}, _document, _context) do
true
end
def match(selector, %{parent: nil} = node, document, context) do
Enum.all?(selector.selectors, &Selector.match(&1, node, document, context))
end
def match(_selector, _node, _document, _context) do
false
end
@impl true
def combinator(selector), do: selector.combinator
@impl true
def filters(selector), do: selector.filters
end