@vulcan-sql/core
Version:
Core package of VulcanSQL
41 lines • 1.83 kB
JavaScript
;
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