eslint-plugin-perfectionist
Version:
ESLint plugin for sorting various data such as objects, imports, types, enums, JSX props, etc.
32 lines (31 loc) • 890 B
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' })
let getSettings = (settings = {}) => {
if (!settings['perfectionist']) {
return {}
}
let getInvalidOptions = object => {
let allowedOptions = /* @__PURE__ */ new Set([
'partitionByComment',
'partitionByNewLine',
'specialCharacters',
'ignorePattern',
'fallbackSort',
'ignoreCase',
'alphabet',
'locales',
'order',
'type',
])
return Object.keys(object).filter(key => !allowedOptions.has(key))
}
let perfectionistSettings = settings['perfectionist']
let invalidOptions = getInvalidOptions(perfectionistSettings)
if (invalidOptions.length > 0) {
throw new Error(
`Invalid Perfectionist setting(s): ${invalidOptions.join(', ')}`,
)
}
return settings['perfectionist']
}
exports.getSettings = getSettings