* @param {WebpackRequire} require the original require function * @param {ModuleId} moduleId module id * @returns {WebpackRequire} hot-aware require function
(require, moduleId)
| 137 | * @returns {WebpackRequire} hot-aware require function |
| 138 | */ |
| 139 | function createRequire(require, moduleId) { |
| 140 | var me = installedModules[moduleId]; |
| 141 | if (!me) return require; |
| 142 | /** |
| 143 | * @param {ModuleId} request requested module id |
| 144 | * @returns {unknown} module exports |
| 145 | */ |
| 146 | var fn = function (request) { |
| 147 | if (me.hot.active) { |
| 148 | if (installedModules[request]) { |
| 149 | var parents = installedModules[request].parents; |
| 150 | if (parents.indexOf(moduleId) === -1) { |
| 151 | parents.push(moduleId); |
| 152 | } |
| 153 | } else { |
| 154 | currentParents = [moduleId]; |
| 155 | currentChildModule = request; |
| 156 | } |
| 157 | if (me.children.indexOf(request) === -1) { |
| 158 | me.children.push(request); |
| 159 | } |
| 160 | } else { |
| 161 | console.warn( |
| 162 | "[HMR] unexpected require(" + |
| 163 | request + |
| 164 | ") from disposed module " + |
| 165 | moduleId |
| 166 | ); |
| 167 | currentParents = []; |
| 168 | } |
| 169 | return require(request); |
| 170 | }; |
| 171 | /** |
| 172 | * @param {string} name property name |
| 173 | * @returns {PropertyDescriptor} descriptor forwarding to require |
| 174 | */ |
| 175 | var createPropertyDescriptor = function (name) { |
| 176 | return { |
| 177 | configurable: true, |
| 178 | enumerable: true, |
| 179 | get: function () { |
| 180 | return require[name]; |
| 181 | }, |
| 182 | set: function (value) { |
| 183 | require[name] = value; |
| 184 | } |
| 185 | }; |
| 186 | }; |
| 187 | for (var name in require) { |
| 188 | if (Object.prototype.hasOwnProperty.call(require, name) && name !== "e") { |
| 189 | Object.defineProperty(fn, name, createPropertyDescriptor(name)); |
| 190 | } |
| 191 | } |
| 192 | /** @type {WebpackRequire} */ (fn).e = function (chunkId, fetchPriority) { |
| 193 | return trackBlockingPromise(require.e(chunkId, fetchPriority)); |
| 194 | }; |
| 195 | return /** @type {WebpackRequire} */ (fn); |
| 196 | } |
no test coverage detected