pub enum FieldKind {
Show 32 variants
Account,
Blob {
max_len: Option<u32>,
},
Bool,
Date,
Decimal {
scale: u32,
},
Duration,
Enum {
path: &'static str,
variants: &'static [EnumVariantModel],
},
Float32,
Float64,
Int8,
Int16,
Int32,
Int64,
Int128,
IntBig {
max_bytes: u32,
},
Principal,
Subaccount,
Text {
max_len: Option<u32>,
},
Timestamp,
Nat8,
Nat16,
Nat32,
Nat64,
Nat128,
NatBig {
max_bytes: u32,
},
Ulid,
Unit,
Relation {
target_path: &'static str,
target_entity_name: &'static str,
target_entity_tag: EntityTag,
target_store_path: &'static str,
key_kind: &'static Self,
},
List(&'static Self),
Set(&'static Self),
Map {
key: &'static Self,
value: &'static Self,
},
Composite {
path: &'static str,
codec: CompositeCodec,
shape: &'static CompositeShapeModel,
},
}Expand description
FieldKind
Minimal runtime type surface needed by planning, validation, and execution.
Scalar and collection variants align with runtime Value families. Enum
and composite variants additionally carry complete generated proposal
metadata that accepted catalog publication resolves into stable IDs.
Variants§
Account
Blob
Bool
Date
Decimal
Duration
Enum
Fields
variants: &'static [EnumVariantModel]Declared per-variant payload decode metadata.
Float32
Float64
Int8
Int16
Int32
Int64
Int128
IntBig
Principal
Subaccount
Text
Timestamp
Nat8
Nat16
Nat32
Nat64
Nat128
NatBig
Ulid
Unit
Relation
Enforced typed relation; key_kind reflects the referenced key type.
Fields
key_kind: &'static SelfList(&'static Self)
Set(&'static Self)
Map
Deterministic, unordered key/value collection.
Map fields are persistable and patchable, but not queryable or indexable.
Composite
Exact nominal generated record, tuple, or newtype.
Fields
codec: CompositeCodecCanonical persisted composite grammar.
shape: &'static CompositeShapeModelComplete generated proposal shape.
Implementations§
Source§impl FieldKind
impl FieldKind
pub const fn value_kind(&self) -> RuntimeValueKind
Sourcepub const fn is_deterministic_collection_shape(&self) -> bool
pub const fn is_deterministic_collection_shape(&self) -> bool
Returns true if this field shape is permitted in
persisted or query-visible schemas under the current
determinism policy.
This shape-level check is structural only; query-time policy enforcement (for example, map predicate fencing) is applied at query construction and validation boundaries.