Module: HakumiComponents::Table::DefinitionTypes

Extended by:
T::Sig
Defined in:
app/components/hakumi_components/table/definition_types.rb

Constant Summary collapse

ColumnKey =
T.type_alias { Types::HtmlKey }
RawEntry =

T.untyped is intentional: column definitions accept any Ruby value (strings, symbols, procs, arrays, hashes, booleans). Each normalize_* method narrows this to the specific type it expects.

T.type_alias { T.untyped }
ComparableValue =
T.type_alias { Types::ValidationComparable }
PrimitiveValue =
T.type_alias { Types::ValidationPrimitive }
ScalarList =
T.type_alias { T::Array[ComparableValue] }
WidthValue =
T.type_alias { T.nilable(T.any(String, Numeric)) }
SearchValue =
T.type_alias { T.nilable(T.any(Types::StringOrSymbol, T::Boolean)) }
SorterValue =
T.type_alias { SearchValue }
SortValue =
T.type_alias { T.nilable(T.any(Types::StringOrSymbol, Proc)) }
RawCollection =
T.type_alias { T::Array[RawEntry] }
RawRecord =
T.type_alias { T::Hash[ColumnKey, RawEntry] }
ConfigInputValue =
T.type_alias do
  T.nilable(T.any(Types::HtmlScalar, Proc, T::Array[T.untyped], T::Hash[Types::HtmlKey, T.untyped]))
end
ConfigInputHash =
T.type_alias { T::Hash[Types::HtmlKey, ConfigInputValue] }
DefinitionValue =
T.type_alias do
  T.nilable(T.any(
    PrimitiveValue,
    Proc,
    RawCollection,
    T::Hash[Symbol, RawEntry]
  ))
end
DefinitionHash =
T.type_alias { T::Hash[Symbol, DefinitionValue] }