   defp dependencies(value) when is_map(value), do: :ok
 
   defp dependencies(_), do: {:error, "dependencies must be a map."}
-
-
 
   # Keyword: maximum
   # The value of `maximum` must be a number, representing an inclusive upper

defmodule Xema.SchemaValidator do
  @moduledoc false

  @keys [
    float: %Xema.Float{} |> Map.keys() |> MapSet.new(),
    integer: %Xema.Number{} |> Map.keys() |> MapSet.new(),
    list: %Xema.List{} |> Map.keys() |> MapSet.new(),
    number: %Xema.Number{} |> Map.keys() |> MapSet.new(),
    map: %Xema.Map{} |> Map.keys() |> MapSet.new()
  ]

  @spec validate(atom, keyword) :: :ok
  def validate(:any, opts), do: opts
  def validate(:boolean, opts), do: opts

  def validate(:list, opts) do
    with :ok <- additional_items(opts[:additional_items], opts[:items]),

    end
  end

  def validate(:string, opts) do
    with :ok <- validate_keywords(:string, opts) do
      opts
    else
      error -> throw(error)
    end
  end

  # Check for unsupported keywords.

