%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
import { pathToFileURL } from 'node:url'; import count from '../es-modules/stateful.mjs'; // Arbitrary instance of manipulating a module's internal state // used to assert node-land and user-land have different contexts count(); /** * @param {string} url A fully resolved file url. * @param {object} context Additional info. * @param {function} next for now, next is defaultLoad a wrapper for * defaultGetFormat + defaultGetSource * @returns {{ format: string, source: (string|SharedArrayBuffer|Uint8Array) }} */ export function load(url, context, next) { // Load all .js files as ESM, regardless of package scope if (url.endsWith('.js')) return next(url, { ...context, format: 'module', }); if (url.endsWith('.ext')) return next(url, { ...context, format: 'module', }); if (url.endsWith('esmHook/badReturnVal.mjs')) return 'export function returnShouldBeObject() {}'; if (url.endsWith('esmHook/badReturnFormatVal.mjs')) return { format: Array(0), shortCircuit: true, source: '', } if (url.endsWith('esmHook/unsupportedReturnFormatVal.mjs')) return { format: 'foo', // Not one of the allowable inputs: no translator named 'foo' shortCircuit: true, source: '', } if (url.endsWith('esmHook/badReturnSourceVal.mjs')) return { format: 'module', shortCircuit: true, source: Array(0), } if (url.endsWith('esmHook/preknownFormat.pre')) return { format: context.format, shortCircuit: true, source: `const msg = 'hello world'; export default msg;` }; if (url.endsWith('esmHook/virtual.mjs')) return { format: 'module', shortCircuit: true, source: `export const message = 'Woohoo!'.toUpperCase();`, }; return next(url); } export function resolve(specifier, { importAssertions }, next) { let format = ''; if (specifier === 'esmHook/format.false') format = false; if (specifier === 'esmHook/format.true') format = true; if (specifier === 'esmHook/preknownFormat.pre') format = 'module'; if (specifier.startsWith('esmHook')) return { format, shortCircuit: true, url: pathToFileURL(specifier).href, importAssertions, }; return next(specifier); }