1 | const INSTALLED = [];
|
2 | function autoDetectResource(source, options) {
|
3 | if (!source)
|
4 | return null;
|
5 | let extension = "";
|
6 | if (typeof source == "string") {
|
7 | const result = /\.(\w{3,4})(?:$|\?|#)/i.exec(source);
|
8 | result && (extension = result[1].toLowerCase());
|
9 | }
|
10 | for (let i = INSTALLED.length - 1; i >= 0; --i) {
|
11 | const ResourcePlugin = INSTALLED[i];
|
12 | if (ResourcePlugin.test && ResourcePlugin.test(source, extension))
|
13 | return new ResourcePlugin(source, options);
|
14 | }
|
15 | throw new Error("Unrecognized source type to auto-detect Resource");
|
16 | }
|
17 | export {
|
18 | INSTALLED,
|
19 | autoDetectResource
|
20 | };
|
21 |
|