def run

bend-net-json@0.3.0.0 · json.bend:364

import bend-net-json@0.3.0.0/json.bend as Json
import Base

364# fuel: every step but the last eats at least one char.
365def run(fuel: Nat, st: St) -> Maybe<&2, Val>:
366  match fuel:
367    case 0n:
368      None{}
369    case 1n+f:
370      match st:
371        case SDone{v, s}:
372          done(v, skip_ws(s))
373        case SFail{}:
374          None{}
375        case SValue{s, stack}:
376          run(f, step(SValue{s, stack}))
377        case SKey{s, stack}:
378          run(f, step(SKey{s, stack}))
379        case SColon{k, s, stack}:
380          run(f, step(SColon{k, s, stack}))
381        case SStr{s, acc, k, stack}:
382          run(f, step(SStr{s, acc, k, stack}))
383        case SAfter{v, s, stack}:
384          run(f, step(SAfter{v, s, stack}))

Uses (7)

Used by (1)