UNPKG

@scalar/api-reference

Version:

Generate beautiful API references from OpenAPI documents

40 lines (39 loc) 1.1 kB
const createPluginManager = ({ plugins = [] }) => { const registeredPlugins = /* @__PURE__ */ new Map(); plugins.forEach((plugin) => { const pluginInstance = plugin(); registeredPlugins.set(pluginInstance.name, pluginInstance); }); return { /** * Get all extensions with the given name from registered plugins */ getSpecificationExtensions: (name) => { const extensions = []; for (const plugin of registeredPlugins.values()) { for (const extension of plugin.extensions) { if (extension.name === name) { extensions.push(extension); } } } return extensions; }, /** * Get all components for a specific view from registered plugins */ getViewComponents: (viewName) => { const components = []; for (const plugin of registeredPlugins.values()) { const viewComponents = plugin.views?.[viewName]; if (viewComponents) { components.push(...viewComponents); } } return components; } }; }; export { createPluginManager };