"use strict";var e=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,c){function i(e){try{a(r.next(e))}catch(e){c(e)}}function s(e){try{a(r.throw(e))}catch(e){c(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}a((r=r.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AsyncFlattenTreeWalker=void 0;const t=require("./DependencyTreeWalker");class n extends t.AbstractAsyncTreeWalker{constructor(e,t){super(e,t)}get context(){return this._context}walk(t){return e(this,void 0,void 0,(function*(){this._context.tree.flatTree().forEach((n=>{this.executor.addAsyncTask((()=>e(this,void 0,void 0,(function*(){return t.visit({node:n},this.context)}))))})),yield this.executor.runWithErrorHandle()}))}}exports.AsyncFlattenTreeWalker=n;