UNPKG

swagger-express-typescript

Version:
1 lines 2.2 kB
{"version":3,"sources":["../../lib/swagger-express-typescript-lib/src/express.configurator.ts"],"names":[],"mappings":";;;AAAA,mCAAkE;AAClE,qDAAmD;AACnD,+BAAiC;AACjC,qDAAmE;AAgBnE,SAAgB,OAAO,CAAC,OAAgC;IACpD,IAAI,IAAI,GAAW,wBAAwB,CAAC;IAC5C,IAAI,OAAO,EAAE;QACT,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SACvB;QACD,IAAI,OAAO,CAAC,UAAU,EAAE;YACpB,uBAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC7B;KACJ;IACD,IAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAClB,CAAC;AAbD,0BAaC;AAED,SAAS,WAAW,CAAC,IAAY;IAC7B,IAAM,MAAM,GAAW,gBAAM,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,CACN,IAAI,EACJ,UAAC,OAAgB,EAAE,QAAkB,EAAE,IAAkB;QACrD,IAAM,IAAI,GAAa,gCAAc,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CACJ,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC","file":"express.configurator.js","sourcesContent":["import { Router, Request, Response, NextFunction } from 'express';\nimport { SwaggerService } from './swagger.service';\nimport * as assert from 'assert';\nimport { build, ISwaggerBuildDefinition } from './swagger.builder';\nimport { ISwagger } from './i-swagger';\n\nexport interface ISwaggerExpressOptions {\n /**\n * Path of resource.\n * Default is \"/api-docs/swagger.json\".\n */\n path?: string;\n\n /**\n * Swagger Definition.\n */\n definition?: ISwaggerBuildDefinition;\n}\n\nexport function express(options?: ISwaggerExpressOptions): Router {\n let path: string = '/api-docs/swagger.json';\n if (options) {\n assert.ok(options.definition, 'Definition is required.');\n if (options.path) {\n path = options.path;\n }\n if (options.definition) {\n build(options.definition);\n }\n }\n const router = buildRouter(path);\n return router;\n}\n\nfunction buildRouter(path: string): Router {\n const router: Router = Router();\n router.get(\n path,\n (request: Request, response: Response, next: NextFunction) => {\n const data: ISwagger = SwaggerService.getInstance().getData();\n response.json(data);\n }\n );\n return router;\n}\n"]}