UNPKG

pixi.js

Version:

PixiJS — The HTML5 Creation Engine =============

77 lines (76 loc) 2.5 kB
export type ArrayOr<T> = T | T[]; /** * Names of the parsers that are built into PixiJS. * Can be any of the following defaults: * - `loadJson` * - `loadSVG` * - `loadTextures` * - `loadTxt` * - `loadVideo` * - `loadWebFont` * or a custom parser name. * @memberof assets */ export type LoadParserName = 'loadJson' | 'loadSVG' | 'loadTextures' | 'loadTxt' | 'loadVideo' | 'loadWebFont' | string; /** * A fully resolved asset, with all the information needed to load it. * @memberof assets */ export interface ResolvedAsset<T = any> { /** Aliases associated with asset */ alias?: string[]; /** The URL or relative path to the asset */ src?: string; /** Optional data */ data?: T; /** Format, usually the file extension */ format?: string; /** An override that will ensure that the asset is loaded with a specific parser */ loadParser?: LoadParserName; } /** * A fully resolved src, Glob patterns will not work here, and the src will be resolved to a single file. * @memberof assets * @property {string} src - The URL or relative path to the asset * @property {string} format - Format, usually the file extension * @property {string} loadParser - An override that will ensure that the asset is loaded with a specific parser * @property {any} data - Optional data */ export type ResolvedSrc = Pick<ResolvedAsset, 'src' | 'format' | 'loadParser' | 'data'>; /** * A valid asset src. This can be a string, or a [ResolvedSrc]{@link assets.ResolvedSrc}, * or an array of either. * @memberof assets */ export type AssetSrc = ArrayOr<string> | (ArrayOr<ResolvedSrc> & { [key: string]: any; }); /** * An asset that has not been resolved yet. * @memberof assets */ export type UnresolvedAsset<T = any> = Pick<ResolvedAsset<T>, 'data' | 'format' | 'loadParser'> & { /** Aliases associated with asset */ alias?: ArrayOr<string>; /** The URL or relative path to the asset */ src?: AssetSrc; [key: string]: any; }; /** * Structure of a bundle found in a {@link assets.AssetsManifest Manifest} file * @memberof assets */ export interface AssetsBundle { /** The name of the bundle */ name: string; /** The assets in the bundle */ assets: UnresolvedAsset[] | Record<string, ArrayOr<string> | UnresolvedAsset>; } /** * The expected format of a manifest. This could be auto generated or hand made * @memberof assets */ export interface AssetsManifest { /** array of bundles */ bundles: AssetsBundle[]; }