import { CommandLoader } from './commandLoader' import { CommandTemplate } from '../models/commandTemplate' //import { ConfigFileCommandTemplateLoader } from './impl/configFileCommandTemplateLoader' import { LocalCommandTemplateLoader } from './impl/localCommandTemplateLoader' export class CommandLoaderController implements CommandLoader{ private _loaders: Array; constructor(defaultCommands: any, basePath: any){ //this._loaders.push(new ConfigFileCommandTemplateLoader(defaultCommands)); this._loaders.push(new LocalCommandTemplateLoader(basePath)); } async loadCommandTemplateBy(filename: string): Promise { let template: Promise; this._loaders.forEach(loader => { if(!template){ template = loader.loadCommandTemplateBy(filename); } }); return template; } }