@aws-amplify/cli-internal
Version:
Amplify CLI
20 lines • 740 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.walkCfnTree = void 0;
async function walkCfnTree(node, visitor) {
if (Array.isArray(node)) {
return Promise.all(node.map((item) => walkCfnTree(item, visitor)));
}
if (node === null || typeof node !== 'object') {
return node;
}
const record = node;
const replacement = await visitor(record);
if (replacement !== undefined) {
return replacement;
}
const entries = await Promise.all(Object.entries(record).map(async ([key, value]) => [key, await walkCfnTree(value, visitor)]));
return Object.fromEntries(entries);
}
exports.walkCfnTree = walkCfnTree;
//# sourceMappingURL=cfn-tree-walker.js.map