UNPKG

openapi-metadata

Version:

Auto-Generate OpenAPI specifications from Typescript decorators

1 lines 1.99 kB
{"version":3,"file":"swagger.mjs","sources":["../../src/ui/swagger.ts"],"sourcesContent":["export type GenerateSwaggerUIOptions = {\n persistAuthorization?: boolean;\n};\n\n/**\n * Generates HTML to display Swagger UI.\n *\n * @see https://swagger.io/tools/swagger-ui/\n */\nexport function generateSwaggerUI(url: string, options?: GenerateSwaggerUIOptions) {\n const swaggerOptions = {\n url,\n ...options,\n };\n\n return `<!DOCTYPE html>\n\t\t<html lang=\"en\">\n\t\t<head>\n\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\t\t\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.1.3/swagger-ui-standalone-preset.js\"></script>\n\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.1.3/swagger-ui-bundle.js\"></script>\n\t\t\t\t<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.1.3/swagger-ui.css\" />\n\t\t\t\t<title>Documentation</title>\n\t\t</head>\n\t\t<body>\n\t\t\t\t<div id=\"swagger-ui\"></div>\n\t\t\t\t<script>\n\t\t\t\t\t\twindow.onload = function() {\n\t\t\t\t\t\t\tSwaggerUIBundle({\n\t\t\t\t\t\t\t\turl: \"${url}\",\n\t\t\t\t\t\t\t\tdom_id: '#swagger-ui',\n\t\t\t\t\t\t\t\tpresets: [\n\t\t\t\t\t\t\t\t\tSwaggerUIBundle.presets.apis,\n\t\t\t\t\t\t\t\t\tSwaggerUIStandalonePreset\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tlayout: \"BaseLayout\",\n ...${JSON.stringify(swaggerOptions)}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t</script>\n\t\t</body>\n\t\t</html>`;\n}\n"],"names":[],"mappings":"AASO,SAAS,iBAAA,CAAkB,KAAa,OAAA,EAAoC;AACjF,EAAA,MAAM,cAAA,GAAiB;AAAA,IACrB,GAAA;AAAA,IACA,GAAG;AAAA,GACL;AAEA,EAAA,OAAO,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAAA,EAgBO,GAAG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAA,EAOE,IAAA,CAAK,SAAA,CAAU,cAAc,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,SAAA,CAAA;AAMnD;;;;"}