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

100% Statements 43/43
100% Branches 12/12
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 44137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 137x 914x 914x 914x 914x 914x 914x 914x 914x 37x 37x 906x 906x 906x 906x 909x 626x 914x 368x 841x 525x 525x 890x 890x 890x 890x 890x 914x 137x 137x 137x 137x  
'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) {
  let {
    format,
    source,
  } = context;
  const { importAssertions } = context;
 
  if (format == null) {
    format = defaultGetFormat(url);
  }
 
  validateAssertions(url, format, importAssertions);
 
  if (
    format === 'builtin' ||
    format === 'commonjs'
  ) {
    source = null;
  } else if (source == null) {
    source = await defaultGetSource(url, { format });
  }
 
  return {
    format,
    source,
  };
}
 
module.exports = {
  defaultLoad,
};