1 |
|
2 | import transformDecl from './transform-decl';
|
3 | import transformAtrule from './transform-atrule';
|
4 | import transformEachAtrule from './transform-each-atrule';
|
5 | import transformIfAtrule from './transform-if-atrule';
|
6 | import transformIncludeAtrule from './transform-include-atrule';
|
7 | import transformForAtrule from './transform-for-atrule';
|
8 | import transformMixinAtrule from './transform-mixin-atrule';
|
9 | import transformRule from './transform-rule';
|
10 | import transformContentAtrule from './transform-content-atrule';
|
11 |
|
12 |
|
13 | export default function transformNode(node, result, opts) {
|
14 |
|
15 | getNodesArray(node).forEach(
|
16 | childNode => {
|
17 | if ('atrule' === childNode.type) {
|
18 | if ('content' === childNode.name) {
|
19 |
|
20 | transformContentAtrule(childNode, result, opts);
|
21 | } else if ('each' === childNode.name) {
|
22 |
|
23 | transformEachAtrule(childNode, result, opts);
|
24 | } else if ('if' === childNode.name) {
|
25 |
|
26 | transformIfAtrule(childNode, result, opts);
|
27 | } else if ('include' === childNode.name) {
|
28 |
|
29 | transformIncludeAtrule(childNode, result, opts);
|
30 | } else if ('for' === childNode.name) {
|
31 |
|
32 | transformForAtrule(childNode, result, opts);
|
33 | } else if ('mixin' === childNode.name) {
|
34 |
|
35 | transformMixinAtrule(childNode, result, opts);
|
36 | } else {
|
37 |
|
38 | transformAtrule(childNode, result, opts);
|
39 | }
|
40 | } else if ('decl' === childNode.type) {
|
41 |
|
42 | transformDecl(childNode, result, opts);
|
43 | } else if ('rule' === childNode.type) {
|
44 |
|
45 | transformRule(childNode, result, opts);
|
46 | }
|
47 |
|
48 |
|
49 | if (childNode.parent) {
|
50 | transformNode(childNode, result, opts);
|
51 | }
|
52 | }
|
53 | );
|
54 | }
|
55 |
|
56 |
|
57 | const getNodesArray = node => Array.from(Object(node).nodes || []);
|