def path.run
gralha-svg-render@0.1.0.1 · svg.bend:499
import gralha-svg-render@0.1.0.1/svg.bend as Svg
import Base
499def path.run(ps: Params, +cmd: U32, p: Path) -> Path:
500 match ps:
501 case Params{valid, vs, nx}:
502 match valid:
503 case False{}: p
504 case True{}:
505 match nx:
506 case PathNext{kind, ch, rest}:
507 match kind:
508 case 1:
509 +c2 = ch
510 path.run(path.arguments(path.arity(upper(c2)), rest, U32.is_eq(upper(c2), 65), path.follow(c2)), c2, path.step(path.step.kind(cmd), p, cmd, vs))
511 case 2:
512 +pending = path.follow(cmd)
513 path.run(path.arguments(path.arity(upper(pending)), SCon{Chr{ch}, rest}, U32.is_eq(upper(pending), 65), path.follow(pending)), pending, path.step(path.step.kind(cmd), p, cmd, vs))
514 case _: path.step(path.step.kind(cmd), p, cmd, vs)