Current section

Files

Jump to
ex_shopify_schema lib ex_shopify_schema graphql string.ex
Raw

lib/ex_shopify_schema/graphql/string.ex

defmodule ExShopifySchema.Graphql.String do
@moduledoc "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text."
@type t() :: String.t()
use Ecto.Type
@impl Ecto.Type
def type, do: :string
@impl Ecto.Type
def cast(nil), do: {:ok, nil}
def cast(str) when is_binary(str), do: {:ok, str}
def cast(_data), do: :error
@impl Ecto.Type
def load(data), do: cast(data)
@impl Ecto.Type
def dump(nil), do: {:ok, nil}
def dump(str) when is_binary(str), do: {:ok, str}
def dump(_data), do: :error
end