@altostra/core
Version:
Core library for shared types and logic
1 lines • 4.01 kB
JavaScript
;var _RemoteCompiler_instances,_RemoteCompiler_compilerUrl,_RemoteCompiler_makeRequest,__awaiter=this&&this.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(o,a){function s(e){try{l(i.next(e))}catch(e){a(e)}}function n(e){try{l(i.throw(e))}catch(e){a(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,n)}l((i=i.apply(e,t||[])).next())}))},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(e,t,r,i,o){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?o.call(e,r):o?o.value=r:t.set(e,r),r},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(e,t,r,i){if("a"===r&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?i:"a"===r?i.call(e):i?i.value:t.get(e)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RemoteCompiler=void 0;const Errors_1=require("../../../common/Errors"),Result_1=require("../../../common/Result"),primitives_1=require("@altostra/type-validations/lib/primitives"),Types_1=require("../../Types"),ServiceClientBase_1=require("../ServiceClientBase"),Types_2=require("./Types");class RemoteCompiler extends ServiceClientBase_1.ServiceClientBase{constructor(e,t,{axios:r,errorMapping:i={}}={}){super({getToken:e,axios:r,errorMapping:i}),_RemoteCompiler_instances.add(this),_RemoteCompiler_compilerUrl.set(this,void 0),__classPrivateFieldSet(this,_RemoteCompiler_compilerUrl,t,"f")}compileToAwsSamTemplate(e,{configSet:t,configMap:r,ignoreMissingParams:i,nestedStacksSupport:o,globalEnvironment:a,integrations:s,mockIntegrationData:n}={}){return __awaiter(this,void 0,void 0,(function*(){if(!(0,Types_1.isAltostraProject)(e))throw Errors_1.UserFacingError.create("Compilation is only supported for Altostra projects.",{category:"user-fault",type:"invalid-project-type",data:{project:e}});const l={project:e,configSet:t,configMap:r,ignoreMissingParams:i,nestedStacksSupport:o,globalEnvironment:a,integrations:s,mockIntegrationData:n},c=yield __classPrivateFieldGet(this,_RemoteCompiler_instances,"m",_RemoteCompiler_makeRequest).call(this,l,o,e,(0,Types_2.createTransformationOutputTypeValidation)(o));return yield(0,Result_1.fromResult)(c)}))}compileToTerraformTemplate(e,{configSet:t,configMap:r={},ignoreMissingParams:i,nestedStacksSupport:o,globalEnvironment:a,integrations:s,mockIntegrationData:n}={}){return __awaiter(this,void 0,void 0,(function*(){if(!(0,Types_1.isAltostraProject)(e))throw Errors_1.UserFacingError.create("Compilation is only supported for Altostra projects.",{category:"user-fault",type:"invalid-project-type",data:{project:e}});const l={project:e,configSet:t,configMap:r,ignoreMissingParams:i,nestedStacksSupport:o,globalEnvironment:a,integrations:s,mockIntegrationData:n,output:"terraform"},c=yield __classPrivateFieldGet(this,_RemoteCompiler_instances,"m",_RemoteCompiler_makeRequest).call(this,l,o,e,(0,Result_1.resultValidation)(primitives_1.string));return yield(0,Result_1.fromResult)(c)}))}}exports.RemoteCompiler=RemoteCompiler,_RemoteCompiler_compilerUrl=new WeakMap,_RemoteCompiler_instances=new WeakSet,_RemoteCompiler_makeRequest=function(e,t,r,i){return __awaiter(this,void 0,void 0,(function*(){return yield this._request({request:t=>__awaiter(this,void 0,void 0,(function*(){return yield t.post(__classPrivateFieldGet(this,_RemoteCompiler_compilerUrl,"f")+"/compile",JSON.stringify(e),{headers:yield this._getHeaders()})})),dataValidation:i,errorWrapping:{message:"Unable to connect to the compiler service. Please try again or contact support.",type:"compilation-service",data:{project:r}}})}))};