@vulcan-sql/core
Version:
Core package of VulcanSQL
37 lines • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DocumentOptions = void 0;
const tslib_1 = require("tslib");
const inversify_1 = require("inversify");
const class_validator_1 = require("class-validator");
const models_1 = require("../models");
const types_1 = require("../containers/types");
const errors_1 = require("../lib/utils/errors");
let DocumentOptions = class DocumentOptions {
constructor(options = {}) {
this.specs = [models_1.DocumentSpec.oas3];
this.router = [models_1.DocumentRouterType.redoc];
Object.assign(this, options);
const errors = (0, class_validator_1.validateSync)(this);
if (errors.length > 0) {
throw new errors_1.ConfigurationError('Invalid document generator options: ' + errors.join(', '));
}
}
};
tslib_1.__decorate([
(0, class_validator_1.IsArray)(),
(0, class_validator_1.IsOptional)(),
tslib_1.__metadata("design:type", Array)
], DocumentOptions.prototype, "specs", void 0);
tslib_1.__decorate([
(0, class_validator_1.IsArray)(),
tslib_1.__metadata("design:type", Array)
], DocumentOptions.prototype, "router", void 0);
DocumentOptions = tslib_1.__decorate([
(0, inversify_1.injectable)(),
tslib_1.__param(0, (0, inversify_1.inject)(types_1.TYPES.DocumentInputOptions)),
tslib_1.__param(0, (0, inversify_1.optional)()),
tslib_1.__metadata("design:paramtypes", [Object])
], DocumentOptions);
exports.DocumentOptions = DocumentOptions;
//# sourceMappingURL=document.js.map