def css.insert
gralha-css-style@0.1.0.1 · css.bend:406
import gralha-css-style@0.1.0.1/css.bend as Css
import Base
import gralha-text-scan@0.1.0.1/scan.bend as U
406def css.insert(+value: CSSChoice, +xs: List<&2, CSSChoice>) -> List<&2, CSSChoice>:
407 CSSChoice{nk, nv, ni, nw} = value
408 match xs:
409 case Nil{}: Con{value, Nil{}}
410 case Con{CSSChoice{k, v, imp, weight}, rest}:
411 +old = {CSSChoice{k, v, imp, weight} : CSSChoice}
412 U.branch(List<&2, CSSChoice>, U.string.equal(nk, k), _ => Con{U.choose(CSSChoice, css.wins(value, old), value, old), rest},
413 _ => Con{old, css.insert(value, rest)})