def step
bend-collections@1.0.0.0 · src/containers/dynamic_array.bend:253
import bend-collections@1.0.0.0/src/containers/dynamic_array.bend as DynamicArray
import Base
import bend-collections@1.0.0.0/src/containers/types/dynamic_array.bend as E
253def step(-T: Data, da: DynArray<&2, T>, op: E.Op<T>) -> DynArray<&2, T> & E.Obs<T>:
254 match op:
255 case E.Length{}:
256 obs_nat(T, length(T, da))
257 case E.Capacity{}:
258 obs_nat(T, capacity(T, da))
259 case E.Get{i}:
260 obs_item(T, get(T, da, i))
261 case E.Set{i, v}:
262 obs_unit(T, set(T, da, i, v))
263 case E.Push{v}:
264 obs_unit(T, push(T, da, v))
265 case E.Pop{}:
266 obs_item(T, pop(T, da))
267 case E.Reserve{n}:
268 obs_unit(T, reserve(T, da, n))
269 case E.Clear{}:
270 (clear(T, da), E.OUnit{Done{Unit{}}})
271 case E.ToList{}:
272 obs_list(T, to_list(T, da))