1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.resolveExternalModuleAndFn = void 0;
|
4 | const tslib_1 = require("tslib");
|
5 | const module_1 = require("module");
|
6 | const process_1 = require("process");
|
7 | const changeCaseAll = tslib_1.__importStar(require("change-case-all"));
|
8 | function resolveExternalModuleAndFn(pointer) {
|
9 | if (typeof pointer === 'function') {
|
10 | return pointer;
|
11 | }
|
12 |
|
13 | let [moduleName, functionName] = pointer.split('#');
|
14 |
|
15 | if (moduleName === 'change-case') {
|
16 | moduleName = 'change-case-all';
|
17 | }
|
18 | let loadedModule;
|
19 | if (moduleName === 'change-case-all') {
|
20 | loadedModule = changeCaseAll;
|
21 | }
|
22 | else {
|
23 |
|
24 |
|
25 | const cwdRequire = (0, module_1.createRequire)((0, process_1.cwd)() + '/index.js');
|
26 | loadedModule = cwdRequire(moduleName);
|
27 | if (!(functionName in loadedModule) && typeof loadedModule !== 'function') {
|
28 | throw new Error(`${functionName} couldn't be found in module ${moduleName}!`);
|
29 | }
|
30 | }
|
31 | return loadedModule[functionName] || loadedModule;
|
32 | }
|
33 | exports.resolveExternalModuleAndFn = resolveExternalModuleAndFn;
|