Website Structure
This commit is contained in:
parent
62812f2090
commit
71f0676a62
22365 changed files with 4265753 additions and 791 deletions
41
Frontend-Learner/node_modules/csso/lib/restructure/prepare/index.js
generated
vendored
Normal file
41
Frontend-Learner/node_modules/csso/lib/restructure/prepare/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import { walk, generate, keyword as resolveKeyword } from 'css-tree';
|
||||
import createDeclarationIndexer from './createDeclarationIndexer.js';
|
||||
import processSelector from './processSelector.js';
|
||||
|
||||
export default function prepare(ast, options) {
|
||||
const markDeclaration = createDeclarationIndexer();
|
||||
|
||||
walk(ast, {
|
||||
visit: 'Rule',
|
||||
enter(node) {
|
||||
node.block.children.forEach(markDeclaration);
|
||||
processSelector(node, options.usage);
|
||||
}
|
||||
});
|
||||
|
||||
walk(ast, {
|
||||
visit: 'Atrule',
|
||||
enter(node) {
|
||||
if (node.prelude) {
|
||||
node.prelude.id = null; // pre-init property to avoid multiple hidden class for generate
|
||||
node.prelude.id = generate(node.prelude);
|
||||
}
|
||||
|
||||
// compare keyframe selectors by its values
|
||||
// NOTE: still no clarification about problems with keyframes selector grouping (issue #197)
|
||||
if (resolveKeyword(node.name).basename === 'keyframes') {
|
||||
node.block.avoidRulesMerge = true; /* probably we don't need to prevent those merges for @keyframes
|
||||
TODO: need to be checked */
|
||||
node.block.children.forEach(function(rule) {
|
||||
rule.prelude.children.forEach(function(simpleselector) {
|
||||
simpleselector.compareMarker = simpleselector.id;
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
declaration: markDeclaration
|
||||
};
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue