UNPKG

patchwork-mapconverter

Version:

Executable wrapper for https://github.com/ChiefOfGxBxL/WC3MapTranslator

31 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function* TreeIterator(root, getChildNodes) { const traversalStack = [root]; const parentMaps = new Map(); while (traversalStack.length > 0) { const node = traversalStack.pop(); if (node == null) continue; const children = getChildNodes(node); let childParentPath = parentMaps.get(node); if (childParentPath == null) { childParentPath = []; } else { // copy childParentPath = childParentPath.map(it => it); } childParentPath.push(node); if (children != null) { for (const child of children) { parentMaps.set(child, childParentPath); traversalStack.push(child); } } childParentPath = childParentPath.map(it => it); childParentPath.pop(); yield [childParentPath, node]; } } exports.default = TreeIterator; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJlZUl0ZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvVHJlZUl0ZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsUUFBUyxDQUFDLENBQUMsWUFBWSxDQUFRLElBQVUsRUFBRSxhQUFtRDtJQUM1RixNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzdCLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFBO0lBRTFDLE9BQU8sY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ2pDLElBQUksSUFBSSxJQUFJLElBQUk7WUFBRSxTQUFRO1FBRTFCLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNwQyxJQUFJLGVBQWUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzFDLElBQUksZUFBZSxJQUFJLElBQUksRUFBRTtZQUMzQixlQUFlLEdBQUcsRUFBRSxDQUFBO1NBQ3JCO2FBQU0sRUFBRSxPQUFPO1lBQ2QsZUFBZSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtTQUNoRDtRQUVELGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDMUIsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ3BCLEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO2dCQUM1QixVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQTtnQkFDdEMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTthQUMzQjtTQUNGO1FBRUQsZUFBZSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMvQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUE7UUFFckIsTUFBTSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQTtLQUM5QjtBQUNILENBQUM7QUFFRCxrQkFBZSxZQUFZLENBQUEifQ==