UNPKG

@vulcan-sql/core

Version:
41 lines 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ArtifactBuilderOptions = void 0; const tslib_1 = require("tslib"); const inversify_1 = require("inversify"); const types_1 = require("../containers/types"); const models_1 = require("../models/index"); const class_validator_1 = require("class-validator"); const errors_1 = require("../lib/utils/errors"); let ArtifactBuilderOptions = class ArtifactBuilderOptions { constructor(options = {}) { this.provider = models_1.ArtifactBuilderProviderType.LocalFile; this.serializer = models_1.ArtifactBuilderSerializerType.JSON; Object.assign(this, options); const errors = (0, class_validator_1.validateSync)(this); if (errors.length > 0) { throw new errors_1.ConfigurationError('Invalid artifact builder options: ' + errors.join(', ')); } } }; tslib_1.__decorate([ (0, class_validator_1.IsString)(), tslib_1.__metadata("design:type", String) ], ArtifactBuilderOptions.prototype, "provider", void 0); tslib_1.__decorate([ (0, class_validator_1.IsString)(), tslib_1.__metadata("design:type", String) ], ArtifactBuilderOptions.prototype, "serializer", void 0); tslib_1.__decorate([ (0, class_validator_1.IsString)(), (0, class_validator_1.IsOptional)(), tslib_1.__metadata("design:type", String) ], ArtifactBuilderOptions.prototype, "filePath", void 0); ArtifactBuilderOptions = tslib_1.__decorate([ (0, inversify_1.injectable)(), tslib_1.__param(0, (0, inversify_1.inject)(types_1.TYPES.ArtifactBuilderInputOptions)), tslib_1.__param(0, (0, inversify_1.optional)()), tslib_1.__metadata("design:paramtypes", [Object]) ], ArtifactBuilderOptions); exports.ArtifactBuilderOptions = ArtifactBuilderOptions; //# sourceMappingURL=artifactBuilder.js.map