import { ObjectWithOnlyOne } from '../ObjectWithOnlyOne'; import { Options } from '../Options'; import { RuleValue } from '../RuleValue'; import { EsLintRule, isEsLintRule } from '../../enums'; export type ScalarRule = ObjectWithOnlyOne< EsLintRule, RuleValue >; export const isScalarRule = ( value: unknown, specificRule?: EsLintRule, ): value is ScalarRule => { return ( typeof value === 'object' && value !== null && Object.keys(value).length === 1 && Object.keys(value).every( (key) => isEsLintRule(key) && (specificRule && isEsLintRule(specificRule) ? key === specificRule : true), ) ); };