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 44136x 136x 136x 136x 136x 136x 136x 136x 136x 136x 136x 136x 1074x 1074x 1074x 1074x 1074x 1074x 1074x 1074x 150x 150x 1053x 1053x 1053x 1053x 1066x 724x 1074x 421x 996x 619x 619x 1039x 1039x 1039x 1039x 1039x 1074x 136x 136x 136x 136x  
'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,
};