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)

Uses (16)

Used by (1)