diff options
Diffstat (limited to 'vanilla/node_modules/css-tree/lib/convertor')
| -rw-r--r-- | vanilla/node_modules/css-tree/lib/convertor/create.js | 28 | ||||
| -rw-r--r-- | vanilla/node_modules/css-tree/lib/convertor/index.js | 4 |
2 files changed, 32 insertions, 0 deletions
diff --git a/vanilla/node_modules/css-tree/lib/convertor/create.js b/vanilla/node_modules/css-tree/lib/convertor/create.js new file mode 100644 index 0000000..56e4333 --- /dev/null +++ b/vanilla/node_modules/css-tree/lib/convertor/create.js @@ -0,0 +1,28 @@ +import { List } from '../utils/List.js'; + +export function createConvertor(walk) { + return { + fromPlainObject(ast) { + walk(ast, { + enter(node) { + if (node.children && node.children instanceof List === false) { + node.children = new List().fromArray(node.children); + } + } + }); + + return ast; + }, + toPlainObject(ast) { + walk(ast, { + leave(node) { + if (node.children && node.children instanceof List) { + node.children = node.children.toArray(); + } + } + }); + + return ast; + } + }; +}; diff --git a/vanilla/node_modules/css-tree/lib/convertor/index.js b/vanilla/node_modules/css-tree/lib/convertor/index.js new file mode 100644 index 0000000..0f8d4af --- /dev/null +++ b/vanilla/node_modules/css-tree/lib/convertor/index.js @@ -0,0 +1,4 @@ +import { createConvertor } from './create.js'; +import walker from '../walker/index.js'; + +export default createConvertor(walker); |
