import {URLRequest} from "../net/URLRequest";
import {EventBase} from "../events/EventBase";
import {AssetLibraryBundle} from "../library/AssetLibraryBundle";
import {AssetLibraryIterator} from "../library/AssetLibraryIterator";
import {Loader} from "../library/Loader";
import {LoaderContext} from "../library/LoaderContext";
import {ConflictStrategyBase} from "../library/ConflictStrategyBase";
import {IAsset} from "../library/IAsset";
import {ParserBase} from "../parsers/ParserBase";
/**
* 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