UNPKG

@nodesecure/js-x-ray

Version:
45 lines 1.24 kB
export class WalkerBase { should_skip = false; should_remove = false; replacement = null; context; constructor() { this.context = { skip: () => (this.should_skip = true), remove: () => (this.should_remove = true), replace: (node) => { if (node !== undefined) { this.replacement = node; } }, replaceAndSkip: (node) => { this.should_skip = true; if (node !== undefined) { this.replacement = node; } } }; } // eslint-disable-next-line max-params replace(parent, prop, index, node) { if (parent && prop) { if (index === null) { parent[prop] = node; } else { parent[prop][index] = node; } } } remove(parent, prop, index) { if (parent && prop) { if (index !== null && index !== undefined) { parent[prop].splice(index, 1); } else { delete parent[prop]; } } } } //# sourceMappingURL=walker.base.js.map