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})