UNPKG

@lottiefiles/relottie-stringify

Version:

relottie plugin to add support for serializing LAST

47 lines (46 loc) 1.39 kB
// src/helpers.ts function evaluate(node) { const getObjectValue = (objectLikeNode) => { const objectValue = {}; objectLikeNode.children.forEach((member) => { const key = typeof member.key === "string" ? member.key : member.key.value; const value = member.children[0]; if (value) { objectValue[key] = evaluate(value); } }); return objectValue; }; switch (node.type) { case "primitive": switch (typeof node.value) { case "number": return node.value; case "string": return node.value; case "boolean": return node.value; case "object": return null; default: throw new Error(`Unknown Primitive type ${node.type}.`); } case "attribute": return node.children[0] ? evaluate(node.children[0]) : null; case "collection": return node.children[0] ? evaluate(node.children[0]) : null; case "element": return node.children[0] ? evaluate(node.children[0]) : null; case "array": return node.children.map(evaluate); case "root": return getObjectValue(node); case "object": return getObjectValue(node); default: throw new Error(`Unknown node type ${node.type}.`); } } export { evaluate }; //# sourceMappingURL=chunk-IU7XTU53.js.map //# sourceMappingURL=chunk-IU7XTU53.js.map