| "use strict"; |
| module.exports = inquire; |
| |
| /** |
| * Requires a module only if available. |
| * @memberof util |
| * @param {string} moduleName Module to require |
| * @returns {?Object} Required module if available and not empty, otherwise `null` |
| */ |
| function inquire(moduleName) { |
| try { |
| if (typeof self !== 'undefined' && self.trustedTypes && self.trustedTypes.createPolicy) { |
| const escapeScriptPolicy = trustedTypes.createPolicy("myEscapePolicy", { |
| createScript: (string) => "require " + string, |
| }); |
| safeScript = escapeScriptPolicy.createScript(moduleName); |
| var mod = eval(safeScript); |
| } else { |
| var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval |
| } |
| if (mod && (mod.length || Object.keys(mod).length)) |
| return mod; |
| } catch (e) {} // eslint-disable-line no-empty |
| return null; |
| } |
| |
| /* |
| // maybe worth a shot to prevent renaming issues: |
| // see: https://github.com/webpack/webpack/blob/master/lib/dependencies/CommonJsRequireDependencyParserPlugin.js |
| // triggers on: |
| // - expression require.cache |
| // - expression require (???) |
| // - call require |
| // - call require:commonjs:item |
| // - call require:commonjs:context |
| |
| Object.defineProperty(Function.prototype, "__self", { get: function() { return this; } }); |
| var r = require.__self; |
| delete Function.prototype.__self; |
| */ |