UNPKG

swagger-doc-preview

Version:

A quickly start tool for rendering swagger doc, supporting history and auto refresh.

42 lines (38 loc) 1.49 kB
import deepMerge from 'deepmerge' import SwaggerUI from 'swagger-ui' import EditorLayout from './layout' import SwaggerEditor from 'swagger-editor' import 'swagger-editor/dist/swagger-editor.css' const defaults = { layout: 'EditorLayout', presets: [ SwaggerUI.presets.apis ], plugins: [ SwaggerEditor.plugins.EditorPlugin, SwaggerEditor.plugins.ValidateBasePlugin, SwaggerEditor.plugins.ValidateSemanticPlugin, SwaggerEditor.plugins.ValidateJsonSchemaPlugin, SwaggerEditor.plugins.EditorAutosuggestPlugin, SwaggerEditor.plugins.EditorAutosuggestSnippetsPlugin, SwaggerEditor.plugins.EditorAutosuggestKeywordsPlugin, SwaggerEditor.plugins.EditorAutosuggestRefsPlugin, SwaggerEditor.plugins.EditorAutosuggestOAS3KeywordsPlugin, SwaggerEditor.plugins.PerformancePlugin, SwaggerEditor.plugins.JumpToPathPlugin, SwaggerEditor.plugins.SplitPaneModePlugin, SwaggerEditor.plugins.ASTPlugin ], components: { EditorLayout }, swagger2GeneratorUrl: 'https://generator.swagger.io/api/swagger.json', oas3GeneratorUrl: 'https://generator3.swagger.io/openapi.json', swagger2ConverterUrl: 'https://converter.swagger.io/api/convert' } export default function SwaggerEditorBundle(options) { let mergedOptions = deepMerge(defaults, options) mergedOptions.presets = defaults.presets.concat(options.presets || []) mergedOptions.plugins = defaults.plugins.concat(options.plugins || []) return SwaggerUI(mergedOptions) }