UNPKG

@altostra/core

Version:

Core library for shared types and logic

1 lines 1.9 kB
"use strict";var __awaiter=this&&this.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function s(e){try{l(i.next(e))}catch(e){n(e)}}function u(e){try{l(i.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,u)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createProjectApi=void 0;const BlueprintHelper_1=require("../../blueprint/Helpers/BlueprintHelper"),Logging_1=require("../../common/Logging"),ProjectFromTemplate_1=require("./ProjectFromTemplate"),PublicAPI_1=require("./PublicAPI"),defaultLogger=(0,Logging_1.nullLogger)(void 0,[...Logging_1.defaultSeverities,...Logging_1.operationSeverities]);function createProjectApi({projectManager:e,rootDir:t}){return class r{constructor(e,r){this._project=e,this.rootDir=t;const{userConsole:i,logger:o}=Object.assign(Object.assign({},PublicAPI_1.defaultProjectOptions),r);this._logger=null!=o?o:defaultLogger,this._userConsole=null!=i?i:defaultLogger}get name(){return this._project.name}get description(){return this._project.description}get blueprints(){return this._project.blueprints}get blueprintHelpers(){return this._blueprintHelpers||(this._blueprintHelpers=this.blueprints.map(e=>new BlueprintHelper_1.BlueprintHelper(e))),this._blueprintHelpers}get id(){return this._project.id}get created(){return this._project.created}get project(){return this._project}get userConsole(){return this._userConsole}set userConsole(e){this._userConsole=e}get logger(){return this._logger}set logger(e){this._logger=e}static get(t){return __awaiter(this,void 0,void 0,(function*(){const i=yield e.getProject();return new r(i,t)}))}static fromTemplate(e,t){return __awaiter(this,void 0,void 0,(function*(){return new r(yield(0,ProjectFromTemplate_1.createProject)(e),t)}))}}}exports.createProjectApi=createProjectApi;