forked from Shiloh/githaven
27 lines
545 B
Go
27 lines
545 B
Go
|
package cascadia
|
||
|
|
||
|
// Specificity is the CSS specificity as defined in
|
||
|
// https://www.w3.org/TR/selectors/#specificity-rules
|
||
|
// with the convention Specificity = [A,B,C].
|
||
|
type Specificity [3]int
|
||
|
|
||
|
// returns `true` if s < other (strictly), false otherwise
|
||
|
func (s Specificity) Less(other Specificity) bool {
|
||
|
for i := range s {
|
||
|
if s[i] < other[i] {
|
||
|
return true
|
||
|
}
|
||
|
if s[i] > other[i] {
|
||
|
return false
|
||
|
}
|
||
|
}
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
func (s Specificity) Add(other Specificity) Specificity {
|
||
|
for i, sp := range other {
|
||
|
s[i] += sp
|
||
|
}
|
||
|
return s
|
||
|
}
|