@types/three
Version:
TypeScript definitions for three
74 lines (60 loc) • 2.48 kB
TypeScript
import { Loader } from "./Loader.js";
/**
* Handles and keeps track of loaded and pending data.
*/
declare class LoadingManager {
constructor(
onLoad?: () => void,
onProgress?: (url: string, loaded: number, total: number) => void,
onError?: (url: string) => void,
);
/**
* Will be called when loading of an item starts.
* @param url The url of the item that started loading.
* @param loaded The number of items already loaded so far.
* @param total The total amount of items to be loaded.
*/
onStart: ((url: string, loaded: number, total: number) => void) | undefined;
/**
* Will be called when all items finish loading.
* The default is a function with empty body.
*/
onLoad: () => void;
/**
* Will be called for each loaded item.
* The default is a function with empty body.
* @param url The url of the item just loaded.
* @param loaded The number of items already loaded so far.
* @param total The total amount of items to be loaded.
*/
onProgress: (url: string, loaded: number, total: number) => void;
/**
* Will be called when item loading fails.
* The default is a function with empty body.
* @param url The url of the item that errored.
*/
onError: (url: string) => void;
abortController: AbortController;
itemStart: (url: string) => void;
itemEnd: (url: string) => void;
itemError: (url: string) => void;
/**
* Given a URL, uses the URL modifier callback (if any) and returns a resolved URL.
* If no URL modifier is set, returns the original URL.
* @param url the url to load
*/
resolveURL: (url: string) => string;
/**
* If provided, the callback will be passed each resource URL before a request is sent.
* The callback may return the original URL, or a new URL to override loading behavior.
* This behavior can be used to load assets from .ZIP files, drag-and-drop APIs, and Data URIs.
* @param callback URL modifier callback. Called with url argument, and must return resolvedURL.
*/
setURLModifier: (callback?: (url: string) => string) => this;
addHandler: (regex: RegExp, loader: Loader) => this;
removeHandler: (regex: RegExp) => this;
getHandler: (file: string) => Loader | null;
abort: () => this;
}
declare const DefaultLoadingManager: LoadingManager;
export { DefaultLoadingManager, LoadingManager };