@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
TypeScript
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;
}