All files / lib/internal/modules/esm load.js

100% Statements 43/43
100% Branches 11/11
100% Functions 1/1
100% Lines 43/43

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44141x 141x 141x 141x 141x 141x 141x 141x 141x 141x 141x 141x 1083x 1083x 1083x 1083x 1083x 1083x 1083x 1083x 153x 153x 1062x 1062x 1062x 1062x 1075x 730x 1083x 427x 1002x 622x 622x 1048x 1048x 1048x 1048x 1048x 1083x 141x 141x 141x 141x  
'use strict';
 
const { defaultGetFormat } = require('internal/modules/esm/get_format');
const { defaultGetSource } = require('internal/modules/esm/get_source');
const { validateAssertions } = require('internal/modules/esm/assert');
 
/**
 * Node.js default load hook.
 * @param {string} url
 * @param {object} context
 * @returns {object}
 */
async function defaultLoad(url, context) {
  const { importAssertions } = context;
  let {
    format,
    source,
  } = context;
 
  if (format == null) {
    format = await defaultGetFormat(url, context);
  }
 
  validateAssertions(url, format, importAssertions);
 
  if (
    format === 'builtin' ||
    format === 'commonjs'
  ) {
    source = null;
  } else if (source == null) {
    source = await defaultGetSource(url, context);
  }
 
  return {
    format,
    source,
  };
}
 
module.exports = {
  defaultLoad,
};