mirror of
https://github.com/thangisme/notes.git
synced 2024-11-01 08:17:34 -04:00
32 lines
830 B
JavaScript
32 lines
830 B
JavaScript
|
"use strict"
|
||
|
|
||
|
const declarationValueIndex = require("../utils/declarationValueIndex")
|
||
|
const report = require("../utils/report")
|
||
|
const styleSearch = require("style-search")
|
||
|
|
||
|
module.exports = function (opts) {
|
||
|
opts.root.walkDecls(function (decl) {
|
||
|
const indexOffset = declarationValueIndex(decl)
|
||
|
const declString = decl.toString()
|
||
|
const valueString = decl.toString().slice(indexOffset)
|
||
|
if (valueString.indexOf("!") == -1) {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
styleSearch({ source: valueString, target: "!" }, match => {
|
||
|
check(declString, match.startIndex + indexOffset, decl)
|
||
|
})
|
||
|
})
|
||
|
|
||
|
function check(source, index, node) {
|
||
|
opts.locationChecker({ source, index, err: m => report({
|
||
|
message: m,
|
||
|
node,
|
||
|
index,
|
||
|
result: opts.result,
|
||
|
ruleName: opts.checkedRuleName,
|
||
|
}),
|
||
|
})
|
||
|
}
|
||
|
}
|