Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
getPropertiesByType,
removeNodesByName,
setProperty,
setProperties,
removeProperty
} from "idyll-ast";
const ast: AST = [
["h2", [], []],
"world",
["h1", [], ["child1", ["child2", [], []]]]
];
const prop: Property = ["className", ["value", "hello"]];
// $ExpectType Node[] || AST
appendNode(ast, "hello");
// $ExpectType Node[] || AST
appendNode(getNodesByName(ast, "div"), "test");
// $ExpectType Node[] || AST
appendNodes(ast, [["strong", [], ["div", ["pre", [], []]]], "test"]);
// $ExpectType Node[] || AST
prependNode(getNodesByName(ast, "div"), "test");
// $ExpectType Node[] || AST
prependNodes(ast, [["strong", [], ["div", ["pre", [], []]]], "test"]);
// $ExpectType TreeNode
createNode("div", { prop1: "prop1", prop2: ["expression", "x=2"] }, []);
compile('[meta /]').then(metaAST => {
let ast = this.context.ast;
let lastChild = ast.children[ast.children.length - 1];
// reset ids
metaAST.children[0].id = getRandomId(); // TextContainer
this.setState({ metaNode: metaAST.children[0].children[0] }); // meta
this.state.metaNode.id = getRandomId();
if (lastChild.name === 'TextContainer') {
// push just meta tag
lastChild.children.push(metaAST.children[0].children[0]);
} else {
// push text container
ast = idyllAST.appendNode(ast, metaAST.children[0]);
}
this.context.setAst(this.context.ast);
});
}
console.log('mod block')
found = true;
return newNode;
}
node = IdyllAST.modifyChildren(node, handleNode);
return node;
}
ast = ast.map((node) => {
return handleNode(node);
});
if (found === false) {
console.log('append block')
ast = IdyllAST.appendNode(ast,newNode);
}
return ast;
};
const valueOfVar = newID;
const newVarNode = {
id: newID,
type: 'var',
properties: {
name: {
type: 'value',
value: nameOfVar
},
value: {
type: 'value',
value: valueOfVar
}
}
};
const updatedAST = IdyllAST.appendNode(ast, newVarNode);
this.context.setAst(updatedAST);
}