import { EventBase } from '../events/EventBase';
import { URLRequest } from '../net/URLRequest';
import { ParserBase } from '../parsers/ParserBase';
import { AssetLibraryBundle } from './AssetLibraryBundle';
import { AssetLibraryIterator } from './AssetLibraryIterator';
import { ConflictStrategyBase } from './ConflictStrategyBase';
import { IAssetAdapter } from './IAssetAdapter';
import { Loader } from './Loader';
import { LoaderContext } from './LoaderContext';
/**
* AssetLibrary enforces a singleton pattern and is not intended to be
* instanced. It's purpose is to allow access to the default library bundle
* through a set of static shortcut methods. If you are interested in creating
* multiple library bundles, please use the getBundle() method.
*/
export class AssetLibrary {
/**
* Creates a new AssetLibrary object.
*
*/
constructor() {
}
/**
* Returns an AssetLibrary bundle instance. If no key is given, returns the
* default bundle (which is similar to using the AssetLibraryBundle as a
* singleton). To keep several separated library bundles, pass a string key
* to this method to define which bundle should be returned. This is
* referred to as using the AssetLibraryBundle as a multiton.
*
* @param key Defines which multiton instance should be returned.
* @return An instance of the asset library
*/
public static getBundle(key: string = 'default'): AssetLibraryBundle {
return AssetLibraryBundle.getInstance(key);
}
/**
*
*/
public static enableParser(parserClass): void {
Loader.enableParser(parserClass);
}
/**
*
*/
public static enableParsers(parserClasses: Array