'use strict'; import './components/Redoc/redoc-initial-styles.css'; import { enableProdMode } from '@angular/core'; import { Redoc } from './components/index'; import { BrowserDomAdapter as DOM } from './utils/browser-adapter'; import { disableDebugTools } from '@angular/platform-browser'; import { isString } from './utils/helpers'; var bootstrapRedoc; if (AOT) { bootstrapRedoc = require('./bootstrap').bootstrapRedoc; } else { bootstrapRedoc = require('./bootstrap.dev').bootstrapRedoc; } if (IS_PRODUCTION) { enableProdMode(); } export const version = LIB_VERSION; var moduleRef; export function init(specUrlOrSpec:string|any, options:any = {}) { if (moduleRef) { destroy(); } Redoc._preOptions = options; options.specUrl = options.specUrl || (isString(specUrlOrSpec) ? specUrlOrSpec : ''); if (!isString(specUrlOrSpec)) { options.spec = specUrlOrSpec; } return bootstrapRedoc() .then(appRef => { moduleRef = appRef; if (IS_PRODUCTION) disableDebugTools(); console.log('ReDoc initialized!'); }).catch(err => { throw err; }); }; export function destroy() { moduleRef.destroy(); moduleRef = null; }; 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();