# Code generated by protox. Don't edit. # credo:disable-for-this-file defmodule PgQuery.CTEMaterialize do @moduledoc false @type t :: %__MODULE__{} defstruct [] ( @spec default() :: :CTEMATERIALIZE_UNDEFINED def default() do :CTEMATERIALIZE_UNDEFINED end ) @spec encode(atom() | String.t()) :: integer() | atom() def encode(:CTEMATERIALIZE_UNDEFINED) do 0 end def encode(:CTEMaterializeDefault) do 1 end def encode(:CTEMaterializeAlways) do 2 end def encode(:CTEMaterializeNever) do 3 end def encode(x) do x end @spec decode(integer()) :: atom() | integer() def decode(0) do :CTEMATERIALIZE_UNDEFINED end def decode(1) do :CTEMaterializeDefault end def decode(2) do :CTEMaterializeAlways end def decode(3) do :CTEMaterializeNever end def decode(x) do x end @spec constants() :: [{integer(), atom()}] def constants() do [ {0, :CTEMATERIALIZE_UNDEFINED}, {1, :CTEMaterializeDefault}, {2, :CTEMaterializeAlways}, {3, :CTEMaterializeNever} ] end @spec has_constant?(any()) :: boolean() ( def has_constant?(:CTEMATERIALIZE_UNDEFINED) do true end def has_constant?(:CTEMaterializeDefault) do true end def has_constant?(:CTEMaterializeAlways) do true end def has_constant?(:CTEMaterializeNever) do true end def has_constant?(_) do false end ) end