@@ -20,7 +20,6 @@ const { |
20 | 20 | const { isContext } = internalBinding('contextify'); |
21 | 21 | const { |
22 | 22 | isModuleNamespaceObject, |
23 | | - isArrayBufferView, |
24 | 23 | } = require('internal/util/types'); |
25 | 24 | const { |
26 | 25 | customInspectSymbol, |
@@ -40,6 +39,7 @@ const { |
40 | 39 | } = require('internal/errors').codes; |
41 | 40 | const { |
42 | 41 | validateBoolean, |
| 42 | + validateBuffer, |
43 | 43 | validateFunction, |
44 | 44 | validateInt32, |
45 | 45 | validateObject, |
@@ -275,25 +275,16 @@ class SourceTextModule extends Module { |
275 | 275 | validateInt32(lineOffset, 'options.lineOffset'); |
276 | 276 | validateInt32(columnOffset, 'options.columnOffset'); |
277 | 277 |
|
278 | | - if (initializeImportMeta !== undefined && |
279 | | - typeof initializeImportMeta !== 'function') { |
280 | | - throw new ERR_INVALID_ARG_TYPE( |
281 | | - 'options.initializeImportMeta', 'function', initializeImportMeta); |
| 278 | + if (initializeImportMeta !== undefined) { |
| 279 | + validateFunction(initializeImportMeta, 'options.initializeImportMeta'); |
282 | 280 | } |
283 | 281 |
|
284 | | - if (importModuleDynamically !== undefined && |
285 | | - typeof importModuleDynamically !== 'function') { |
286 | | - throw new ERR_INVALID_ARG_TYPE( |
287 | | - 'options.importModuleDynamically', 'function', |
288 | | - importModuleDynamically); |
| 282 | + if (importModuleDynamically !== undefined) { |
| 283 | + validateFunction(importModuleDynamically, 'options.importModuleDynamically'); |
289 | 284 | } |
290 | 285 |
|
291 | | - if (cachedData !== undefined && !isArrayBufferView(cachedData)) { |
292 | | - throw new ERR_INVALID_ARG_TYPE( |
293 | | - 'options.cachedData', |
294 | | - ['Buffer', 'TypedArray', 'DataView'], |
295 | | - cachedData |
296 | | - ); |
| 286 | + if (cachedData !== undefined) { |
| 287 | + validateBuffer(cachedData, 'options.cachedData'); |
297 | 288 | } |
298 | 289 |
|
299 | 290 | super({ |
|