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