1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.buildSwaggerHTML = exports.getSwaggerAssetsAbsoluteFSPath = exports.buildSwaggerInitJS = void 0;
|
4 | const constants_1 = require("./constants");
|
5 | const helpers_1 = require("./helpers");
|
6 | function buildSwaggerInitJS(swaggerDoc, customOptions = {}) {
|
7 | const { swaggerOptions = {}, swaggerUrl } = customOptions;
|
8 | const swaggerInitOptions = {
|
9 | swaggerDoc,
|
10 | swaggerUrl,
|
11 | customOptions: swaggerOptions
|
12 | };
|
13 | const jsInitOptions = (0, helpers_1.buildJSInitOptions)(swaggerInitOptions);
|
14 | return constants_1.jsTemplateString.replace('<% swaggerOptions %>', jsInitOptions);
|
15 | }
|
16 | exports.buildSwaggerInitJS = buildSwaggerInitJS;
|
17 | let swaggerAssetsAbsoluteFSPath;
|
18 | function getSwaggerAssetsAbsoluteFSPath() {
|
19 | if (!swaggerAssetsAbsoluteFSPath) {
|
20 | const swaggerUi = require('swagger-ui-dist');
|
21 | swaggerAssetsAbsoluteFSPath = swaggerUi.getAbsoluteFSPath();
|
22 | }
|
23 | return swaggerAssetsAbsoluteFSPath;
|
24 | }
|
25 | exports.getSwaggerAssetsAbsoluteFSPath = getSwaggerAssetsAbsoluteFSPath;
|
26 | function buildSwaggerHTML(baseUrl, swaggerDoc, customOptions = {}) {
|
27 | const { customCss = '', customJs = '', customJsStr = '', customfavIcon = false, customSiteTitle = 'Swagger UI', customCssUrl = '', explorer = false } = customOptions;
|
28 | const favIconString = customfavIcon
|
29 | ? `<link rel="icon" href="${customfavIcon}" />`
|
30 | : constants_1.favIconHtml;
|
31 | const explorerCss = explorer
|
32 | ? ''
|
33 | : '.swagger-ui .topbar .download-url-wrapper { display: none }';
|
34 | return constants_1.htmlTemplateString
|
35 | .replace('<% customCss %>', customCss)
|
36 | .replace('<% explorerCss %>', explorerCss)
|
37 | .replace('<% favIconString %>', favIconString)
|
38 | .replace(/<% baseUrl %>/g, baseUrl)
|
39 | .replace('<% customJs %>', customJs ? `<script src="${customJs}"></script>` : '')
|
40 | .replace('<% customJsStr %>', customJsStr ? `<script> ${customJsStr} </script>` : '')
|
41 | .replace('<% customCssUrl %>', customCssUrl ? `<link href="${customCssUrl}" rel="stylesheet">` : '')
|
42 | .replace('<% title %>', customSiteTitle);
|
43 | }
|
44 | exports.buildSwaggerHTML = buildSwaggerHTML;
|