| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Manually “tree shaken” from:
- // <https://github.com/nodejs/node/blob/81a9a97/lib/internal/modules/esm/utils.js>
- // Last checked on: Apr 29, 2024.
- import {codes} from './errors.js'
- const {ERR_INVALID_ARG_VALUE} = codes
- // In Node itself these values are populated from CLI arguments, before any
- // user code runs.
- // Here we just define the defaults.
- const DEFAULT_CONDITIONS = Object.freeze(['node', 'import'])
- const DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS)
- /**
- * Returns the default conditions for ES module loading.
- */
- function getDefaultConditions() {
- return DEFAULT_CONDITIONS
- }
- /**
- * Returns the default conditions for ES module loading, as a Set.
- */
- function getDefaultConditionsSet() {
- return DEFAULT_CONDITIONS_SET
- }
- /**
- * @param {Array<string>} [conditions]
- * @returns {Set<string>}
- */
- export function getConditionsSet(conditions) {
- if (conditions !== undefined && conditions !== getDefaultConditions()) {
- if (!Array.isArray(conditions)) {
- throw new ERR_INVALID_ARG_VALUE(
- 'conditions',
- conditions,
- 'expected an array'
- )
- }
- return new Set(conditions)
- }
- return getDefaultConditionsSet()
- }
|