UNPKG

eslint-plugin-mocha

Version:

Eslint rules for mocha.

57 lines 2.76 kB
import { builtinNames } from "./descriptors.js"; import { buildAllNameDetailsWithVariants } from "./name-details.js"; import { convertNameToPathArray } from "./path.js"; function nameConfigToNameDetails(nameConfig) { const { name, ...rest } = nameConfig; return { path: convertNameToPathArray(name), modifier: null, config: null, ...rest }; } const builtinNameDetailsList = buildAllNameDetailsWithVariants(builtinNames); function hasMatchingInterface(nameDetails, interfaceToUse) { return interfaceToUse === 'require' || nameDetails.interface === interfaceToUse; } function hasMatchingCustomInterface(nameDetails, interfaceToUse) { return nameDetails.interface === 'require' || hasMatchingInterface(nameDetails, interfaceToUse); } function filterByInterface(nameDetailsList, interfaceToUse) { return nameDetailsList.filter(function (nameDetails) { return hasMatchingInterface(nameDetails, interfaceToUse); }); } function filterCustomNamesByInterface(nameDetailsList, interfaceToUse) { return nameDetailsList.filter(function (nameDetails) { return hasMatchingCustomInterface(nameDetails, interfaceToUse); }); } function buildNameDetailsForInterface(nameDetailsList, interfaceToUse) { return buildAllNameDetailsWithVariants(filterByInterface(nameDetailsList, interfaceToUse)); } function getBuiltinNameDetailsForInterface(interfaceToUse) { return interfaceToUse === 'require' ? builtinNameDetailsList : buildNameDetailsForInterface(builtinNames, interfaceToUse); } function buildAdditionalNameDetails(additionalNames) { const additionalNameDetails = additionalNames.map(nameConfigToNameDetails); return buildAllNameDetailsWithVariants(additionalNameDetails); } function buildAdditionalNameDetailsForInterface(additionalNames, interfaceToUse) { const additionalNameDetails = additionalNames.map(nameConfigToNameDetails); return buildAllNameDetailsWithVariants(filterCustomNamesByInterface(additionalNameDetails, interfaceToUse)); } export const getAllCustomNameDetails = buildAdditionalNameDetails; export const getCustomNameDetailsForInterface = buildAdditionalNameDetailsForInterface; export function getAllNames(additionalNames, interfaceToUse, includeAllInterfaces = false) { const builtinNameDetails = includeAllInterfaces ? builtinNameDetailsList : getBuiltinNameDetailsForInterface(interfaceToUse); if (additionalNames.length === 0) { return builtinNameDetails; } return [ ...builtinNameDetails, ...includeAllInterfaces ? getAllCustomNameDetails(additionalNames) : getCustomNameDetailsForInterface(additionalNames, interfaceToUse) ]; } //# sourceMappingURL=all-name-details.js.map