1package cascadia
2
3// Specificity is the CSS specificity as defined in
4// https://www.w3.org/TR/selectors/#specificity-rules
5// with the convention Specificity = [A,B,C].
6type Specificity [3]int
7
8// returns `true` if s < other (strictly), false otherwise
9func (s Specificity) Less(other Specificity) bool {
10 for i := range s {
11 if s[i] < other[i] {
12 return true
13 }
14 if s[i] > other[i] {
15 return false
16 }
17 }
18 return false
19}
20
21func (s Specificity) Add(other Specificity) Specificity {
22 for i, sp := range other {
23 s[i] += sp
24 }
25 return s
26}