def attrs.take.go

gralha-xml-doc@0.1.0.1 · xml.bend:399

import gralha-xml-doc@0.1.0.1/xml.bend as Xml
import Base
import gralha-text-scan@0.1.0.1/scan.bend as U

399def attrs.take.go(hit: Bool, kk: String, v: String, rest: List<&2, Attr>, +key: String) -> Taken:
400  match hit:
401    case True{}: Taken{v, rest}
402    case False{}:
403      match rest:
404        case Nil{}: Taken{"", Con{Attr{kk, v}, Nil{}}}
405        case Con{Attr{k2, v2}, r2}:
406          +kk2 = k2
407          taken.push(attrs.take.go(U.string.equal(kk2, key), kk2, v2, r2, key), Attr{kk, v})

Uses (7)

Used by (1)