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

Uses (6)

Used by (1)