UNPKG

modern-canvas

Version:

A JavaScript WebGL rendering engine. only the ESM.

39 lines (38 loc) 1.54 kB
import type { ObservableEvents } from 'modern-idoc'; import type { Loader } from './loaders'; import { Observable } from 'modern-idoc'; import { FontLoader, GifLoader, JsonLoader, LottieLoader, TextLoader, TextureLoader, VideoLoader } from './loaders'; export type AssetHandler = (blob: Blob, options?: any) => any | Promise<any>; export interface Assets { font: FontLoader; gif: GifLoader; gifWorkerUrl?: string; json: JsonLoader; lottie: LottieLoader; text: TextLoader; texture: TextureLoader; video: VideoLoader; } export interface AssetsEvents extends ObservableEvents { loaded: [id: string, value: any]; } export declare class Assets extends Observable<AssetsEvents> { defaultHandler: AssetHandler; protected _handlers: Map<string, AssetHandler>; protected _handleing: Map<string, Promise<any>>; protected _handled: Map<string, any>; protected _gc: FinalizationRegistry<string> | undefined; constructor(); use(loader: Loader): this; register(mimeType: string, handler: AssetHandler): this; fetch(url: string): Promise<Response>; protected _fixSVG(dataURI: string): string; fetchImageBitmap(url: string | Blob, options?: ImageBitmapOptions): Promise<ImageBitmap>; get<T>(id: string): T | undefined; set(id: string, value: any): void; loadBy<T = Blob>(id: string, handler?: () => Promise<T>): Promise<T>; load<T>(url: string, options?: any): Promise<T>; waitUntilLoad(): Promise<void>; gc(): void; } export declare const assets: Assets;