def take.top
emerging-eztoml@0.9.0.0 · main.bend:2681
import emerging-eztoml@0.9.0.0/main.bend as EmergingEztoml
import Base
2681
2682def take.top(
2683 stack: List<&2, Ctx>,
2684 val: Val,
2685 bad: String,
2686 rows: List<&2, Val>,
2687 heads: List<&2, String>,
2688 +here: List<&2, String>,
2689 parts: List<&2, String>,
2690 back: Lex,
2691 qkind: QKind,
2692 uni: U32,
2693 left: U32,
2694 arrtab: Bool,
2695 lead: Bool
2696) -> St:
2697 match stack:
2698 case []:
2699 take.root(tree.walk(path.cat(here, parts),
2700 Tw{rows, JPut{val}, [], bad, "", heads, False{}}, path.len(here, 0)), here,
2701 back, qkind, uni, left, arrtab, lead)
2702 case CArr{items, +saved, +at} <> rest:
2703 St{bad, rows, heads, at, saved, [], LArrC{}, back, qkind,
2704 CArr{val <> items, saved, at} <> rest, HNone{}, uni, left, arrtab, lead}
2705 case CInl{inl, +saved, +at} <> rest:
2706 take.inl(tree.walk(List.reverse(&2, String, parts),
2707 Tw{inl, JPut{val}, [], bad, "", [], True{}}, 0), rows, heads, at, saved, rest,
2708 back,
2709 qkind, uni, left, arrtab, lead)