lambdaorm-cli
Version:
The lambdaorm command line interface
31 lines • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CliFacadeBuilder = void 0;
const languages_1 = require("../../application/services/languages");
const application_1 = require("../../application");
const languages_2 = require("../languages");
const factory_1 = require("../orm/factory");
const lambdaorm_1 = require("lambdaorm");
const factory_2 = require("../workspace/factory");
const _3xpr_1 = require("3xpr");
const h3lp_1 = require("h3lp");
class CliFacadeBuilder {
// eslint-disable-next-line no-useless-constructor
constructor() { }
build() {
const languages = new languages_1.Languages();
const logger = new lambdaorm_1.LoggerBuilder().build();
const helper = new application_1.OrmCliH3lp(h3lp_1.h3lp, logger);
const outputService = new application_1.OutputService();
const schemaFacade = new lambdaorm_1.SchemaFacadeBuilder(_3xpr_1.expressions, helper).build();
const schemaState = new lambdaorm_1.SchemaStateBuilder(_3xpr_1.expressions, schemaFacade, helper).build();
languages.add(new languages_2.NodeLanguageService(schemaState, helper));
languages.add(new languages_2.ClientNodeLanguageService(schemaFacade, schemaState, helper));
const ormFactory = new factory_1.OrmFactoryImp();
const workspaceFactory = new factory_2.WorkspaceFactoryImp(schemaState, helper);
const service = new application_1.CliFacade(languages, ormFactory, workspaceFactory, outputService, helper, schemaFacade);
return service;
}
}
exports.CliFacadeBuilder = CliFacadeBuilder;
//# sourceMappingURL=facade.js.map