UNPKG

@builder.io/mitosis

Version:

Write components once, run everywhere. Compiles to Vue, React, Solid, and Liquid. Import code from Figma and Builder.io

27 lines (26 loc) 991 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getChildComponents = void 0; const is_mitosis_node_1 = require("../helpers/is-mitosis-node"); const legacy_1 = __importDefault(require("neotraverse/legacy")); const getChildComponents = (json) => { const nodes = []; const childComponents = [json.name]; // a component can be recursively used in itself (0, legacy_1.default)(json).forEach(function (item) { if ((0, is_mitosis_node_1.isMitosisNode)(item)) { nodes.push(item.name); } }); for (const { imports } of json.imports) { for (const key of Object.keys(imports)) { if (nodes.includes(key)) { childComponents.push(key); } } } return childComponents; }; exports.getChildComponents = getChildComponents;