diff options
Diffstat (limited to 'node_modules/csso/cjs/restructure/prepare/createDeclarationIndexer.cjs')
| -rw-r--r-- | node_modules/csso/cjs/restructure/prepare/createDeclarationIndexer.cjs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/csso/cjs/restructure/prepare/createDeclarationIndexer.cjs b/node_modules/csso/cjs/restructure/prepare/createDeclarationIndexer.cjs new file mode 100644 index 00000000..94489728 --- /dev/null +++ b/node_modules/csso/cjs/restructure/prepare/createDeclarationIndexer.cjs @@ -0,0 +1,34 @@ +'use strict'; + +const cssTree = require('css-tree'); + +class Index { + constructor() { + this.map = new Map(); + } + resolve(str) { + let index = this.map.get(str); + + if (index === undefined) { + index = this.map.size + 1; + this.map.set(str, index); + } + + return index; + } +} +function createDeclarationIndexer() { + const ids = new Index(); + + return function markDeclaration(node) { + const id = cssTree.generate(node); + + node.id = ids.resolve(id); + node.length = id.length; + node.fingerprint = null; + + return node; + }; +} + +module.exports = createDeclarationIndexer; |
