UNPKG

@grafana/runtime

Version:
1 lines 1.43 kB
{"version":3,"file":"getObservablePluginComponents.mjs","sources":["../../../../src/services/pluginExtensions/getObservablePluginComponents.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nimport { PluginExtensionComponent } from '@grafana/data';\n\ntype GetObservablePluginComponentsOptions = {\n context?: object | Record<string, unknown>;\n extensionPointId: string;\n limitPerPlugin?: number;\n};\n\nexport type GetObservablePluginComponents = (\n options: GetObservablePluginComponentsOptions\n) => Observable<PluginExtensionComponent[]>;\n\nlet singleton: GetObservablePluginComponents | undefined;\n\nexport function setGetObservablePluginComponents(fn: GetObservablePluginComponents): void {\n // We allow overriding the registry in tests\n if (singleton && process.env.NODE_ENV !== 'test') {\n throw new Error(\n 'setGetObservablePluginComponents() function should only be called once, when Grafana is starting.'\n );\n }\n\n singleton = fn;\n}\n\nexport function getObservablePluginComponents(\n options: GetObservablePluginComponentsOptions\n): Observable<PluginExtensionComponent[]> {\n if (!singleton) {\n throw new Error('getObservablePluginComponents() can only be used after the Grafana instance has started.');\n }\n\n return singleton(options);\n}\n"],"names":[],"mappings":"AA2BO,SAAS,8BACd,OACwC,EAAA;AACxC,EAAgB;AACd,IAAM,MAAA,IAAI,MAAM,0FAA0F,CAAA;AAAA;AAI9G;;;;"}