@hapiness/swag
Version:
Generate swag documentation for Hapiness' components
63 lines • 2.6 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
Object.defineProperty(exports, "__esModule", { value: true });
const HapiSwagger = require("@reptilbud/hapi-swagger");
const Inert = require("inert");
const Vision = require("vision");
const Observable_1 = require("rxjs/Observable");
const core_1 = require("@hapiness/core");
const SWAG_MODULE_CONFIG = new core_1.InjectionToken('swag_module_config');
let SwagModule = SwagModule_1 = class SwagModule {
constructor(server, config) {
this.server = server;
this.config = config;
}
static setConfig(config) {
return {
module: SwagModule_1,
providers: [{ provide: SWAG_MODULE_CONFIG, useValue: config }]
};
}
onRegister() {
// Add some default values (in case of no config were provided)
this.config = Object.assign({}, {
grouping: 'tags',
}, this.config, {
info: Object.assign({}, {
title: 'Module name'
}, {
version: '1.0.0'
}, (this.config || {}).info)
});
return Observable_1.Observable.fromPromise(this.server.register([
Inert,
Vision,
{
register: HapiSwagger,
options: this.config
}
]));
}
};
SwagModule = SwagModule_1 = __decorate([
core_1.HapinessModule({
version: '1.1.0'
}),
__param(0, core_1.Inject(core_1.HttpServerExt)),
__param(1, core_1.Optional()), __param(1, core_1.Inject(SWAG_MODULE_CONFIG)),
__metadata("design:paramtypes", [core_1.Server, Object])
], SwagModule);
exports.SwagModule = SwagModule;
var SwagModule_1;
//# sourceMappingURL=swag.module.js.map