var generate = require('css-tree').generate; | |
function Index() { | |
this.seed = 0; | |
this.map = Object.create(null); | |
} | |
Index.prototype.resolve = function(str) { | |
var index = this.map[str]; | |
if (!index) { | |
index = ++this.seed; | |
this.map[str] = index; | |
} | |
return index; | |
}; | |
module.exports = function createDeclarationIndexer() { | |
var ids = new Index(); | |
return function markDeclaration(node) { | |
var id = generate(node); | |
node.id = ids.resolve(id); | |
node.length = id.length; | |
node.fingerprint = null; | |
return node; | |
}; | |
}; |