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))

Uses (20)

Used by (1)