'use strict'; import './components/Redoc/redoc-initial-styles.css'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { enableProdMode } from '@angular/core'; import { RedocModule } from './redoc.module'; import { Redoc } from './components/index'; import { SpecManager } from './utils/SpecManager'; import { BrowserDomAdapter as DOM } from './utils/browser-adapter'; import { disableDebugTools } from '@angular/platform-browser'; export const version = LIB_VERSION; var moduleRef; export function init(specUrl:string, options?) { if (IS_PRODUCTION) { disableDebugTools(); enableProdMode(); } if (moduleRef) { destroy(); } // // optionsService.options = options; // optionsService.options.specUrl = optionsService.options.specUrl || specUrl; Redoc.showLoadingAnimation(); return SpecManager.instance().load(specUrl) .then(() => { return platformBrowserDynamic().bootstrapModule(RedocModule); }) .then(appRef => { Redoc.hideLoadingAnimation(); moduleRef = appRef; console.log('ReDoc initialized!'); }).catch(err => { Redoc.hideLoadingAnimation(); Redoc.displayError(err); throw err; }); }; export function destroy() { moduleRef.destroy(); }; function autoInit() { const specUrlAttributeName = 'spec-url'; let redocEl = DOM.query('redoc'); if (!redocEl) return; if (DOM.hasAttribute(redocEl, specUrlAttributeName)) { let url = DOM.getAttribute(redocEl, specUrlAttributeName); init(url); } }; autoInit();