aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/css-tree/lib/convertor
diff options
context:
space:
mode:
Diffstat (limited to 'vanilla/node_modules/css-tree/lib/convertor')
-rw-r--r--vanilla/node_modules/css-tree/lib/convertor/create.js28
-rw-r--r--vanilla/node_modules/css-tree/lib/convertor/index.js4
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);