UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

28 lines (27 loc) 1.24 kB
import { SyntheticEventTarget } from '../../esl-utils/dom/events/target'; import type { BaseProvider, ProviderType } from './esl-media-provider'; import type { ESLMedia } from './esl-media'; /** * ESLMediaProviderRegistry class to store media API providers * @author Yuliya Adamskaya, Natallia Harshunova */ export declare class ESLMediaProviderRegistry extends SyntheticEventTarget { protected providersMap: Map<string, ProviderType>; static get instance(): ESLMediaProviderRegistry; /** List of registered providers */ get providers(): ProviderType[]; /** Register provider */ register(provider: ProviderType): void; /** Check that provider is registered for passed name */ has(name: string): boolean; /** Find provider by name */ findByName(name: string): ProviderType | null; /** Create provider instance for passed ESLMedia instance */ createFor(media: ESLMedia): BaseProvider | null; /** Create provider instance for passed ESLMedia instance via provider name */ private createByType; /** Create provider instance for passed ESLMedia instance via url */ private createBySrc; /** Create provider instance for passed configuration */ private static _create; }