Skip to content

Commit 4fa556b

Browse files
authored
perf: use Specificity calculateForAST (#444)
1 parent 1c2a57e commit 4fa556b

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

src/collection.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export class Collection {
1515
}
1616

1717
/**
18-
* @param {string} item
18+
* @param {string | number} item
1919
* @param {import('css-tree').CssLocation} node_location
2020
*/
2121
p(item, node_location) {

src/index.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import parse from 'css-tree/parser'
22
import walk from 'css-tree/walker'
3-
import { calculate } from '@bramus/specificity/core'
3+
import { calculateForAST } from '@bramus/specificity/core'
44
import { isSupportsBrowserhack, isMediaBrowserhack } from './atrules/atrules.js'
55
import { getCombinators, getComplexity, isAccessibility, isPrefixed, hasPseudoClass } from './selectors/utils.js'
66
import { colorFunctions, colorKeywords, namedColors, systemColors } from './values/colors.js'
@@ -326,15 +326,10 @@ export function analyze(css, options = {}) {
326326
uniqueSelectorComplexities.p(complexity, node.loc)
327327

328328
// #region specificity
329-
let [{ value: specificityObj }] = calculate(node)
330-
let sa = specificityObj.a
331-
let sb = specificityObj.b
332-
let sc = specificityObj.c
329+
let specificity = calculateForAST(node).toArray()
330+
let [sa, sb, sc] = specificity
333331

334-
/** @type {Specificity} */
335-
let specificity = [sa, sb, sc]
336-
337-
uniqueSpecificities.p(sa + ',' + sb + ',' + sc, node.loc)
332+
uniqueSpecificities.p(specificity.toString(), node.loc)
338333

339334
specificityA.push(sa)
340335
specificityB.push(sb)

0 commit comments

Comments
 (0)