@altostra/core
Version:
Core library for shared types and logic
1 lines • 2.27 kB
JavaScript
;var __awaiter=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(a,s){function p(e){try{n(r.next(e))}catch(e){s(e)}}function o(e){try{n(r.throw(e))}catch(e){s(e)}}function n(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(p,o)}n((r=r.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.EmptyTemplate=exports.isTemplate=exports.isTemplateDescriptor=exports.createTemplateDescriptorValidation=exports.isAnyTemplateDescriptor=exports.TemplateBase=void 0;const util_1=require("util"),NonEmptyString_1=require("../../common/CustomTypes/NonEmptyString"),type_validations_1=require("@altostra/type-validations"),primitives_1=require("@altostra/type-validations/lib/primitives");class TemplateBase{constructor(e,t){this.type=e,this.name=t}}function createTemplateDescriptorValidation(e,...t){return(0,type_validations_1.objectOf)(Object.assign(Object.assign({},exports.isAnyTemplateDescriptor.propertySpec()),{type:(0,type_validations_1.enumOf)(e,...t)}))}function isTemplate(e,t){if(e instanceof TemplateBase)return void 0===t||t===e.type;return(t?createTemplateDescriptorValidation(t):exports.isAnyTemplateDescriptor)(e)&&["getTemplateMeta","getZippedFiles"].every(t=>"function"==typeof e[t])}exports.TemplateBase=TemplateBase,exports.isAnyTemplateDescriptor=(0,type_validations_1.objectOf)({name:NonEmptyString_1.isNonEmptyString,type:primitives_1.string}),exports.createTemplateDescriptorValidation=createTemplateDescriptorValidation,exports.isTemplateDescriptor=(0,util_1.deprecate)((function(e,t){return(0,exports.isAnyTemplateDescriptor)(e)&&(void 0===t||t===e.type)}),"This function is dangerous when used with other type validations\nUse `createTemplateDescriptorValidation` to create a proper validation"),exports.isTemplate=isTemplate;class EmptyTemplate extends TemplateBase{constructor(e){super("",e)}getTemplateMetadata(){return __awaiter(this,void 0,void 0,(function*(){return{description:"An empty project template",includes:[],blueprints:[{version:"2019-10-24",connections:{},resources:{},metadata:{designer:{resourcePositions:{}}}}]}}))}getZippedFiles(){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.EmptyTemplate=EmptyTemplate;