def field

bendvy-ecs-core@0.1.0.3 · execution_save_layout_field.bend:16

import bendvy-ecs-core@0.1.0.3/execution_save_layout_field.bend as ExecutionSaveLayoutField
import Base
import bendvy-ecs-core@0.1.0.3/execution_save_data.bend as Saved
import bendvy-ecs-core@0.1.0.3/execution_save_recipe.bend as Recipe
import bendvy-ecs-core@0.1.0.3/lifecycle.bend as Life
import bendvy-ecs-core@0.1.0.3/decode_data.bend as D

16def field(+key:String,stamp:Maybe<&2,Life.Stamp>,value:Maybe<&2,Recipe.Field>) -> Saved.Fields:
17  match value:
18    case None{}:Saved.Fields{[Saved.Field{key,False{},Saved.Absent{},stamp}],None{}}
19    case Some{Recipe.Omitted{}}:Saved.Fields{[Saved.Field{key,True{},Saved.Omitted{},stamp}],None{}}
20    case Some{Recipe.Saved{D.Field{_,raw}}}:Saved.Fields{[Saved.Field{key,True{},Saved.Persisted{raw},stamp}],None{}}
21    case Some{Recipe.Refused{reason}}:Saved.error(reason)

Uses (11)

Used by (2)