/* eslint-disable dot-notation,prettier/prettier */ export const EsLintBestPracticesRules = { AccessorPairs: 'accessor-pairs', ArrayCallbackReturn: 'array-callback-return', BlockScopedVar: 'block-scoped-var', ClassMethodsUseThis: 'class-methods-use-this', Complexity: 'complexity', ConsistentReturn: 'consistent-return', Curly: 'curly', DefaultCase: 'default-case', DefaultCaseLast: 'default-case-last', DefaultParamLast: 'default-param-last', DotLocation: 'dot-location', DotNotation: 'dot-notation', Eqeqeq: 'eqeqeq', GroupedAccessorPairs: 'grouped-accessor-pairs', GuardForIn: 'guard-for-in', MaxClassesPerFile: 'max-classes-per-file', NoAlert: 'no-alert', NoCaller: 'no-caller', NoCaseDeclarations: 'no-case-declarations', NoConstructorReturn: 'no-constructor-return', NoDivRegex: 'no-div-regex', NoElseReturn: 'no-else-return', NoEmptyFunction: 'no-empty-function', NoEmptyPattern: 'no-empty-pattern', NoEqNull: 'no-eq-null', NoEval: 'no-eval', NoExtendedNative: 'no-extended-native', NoExtraBind: 'no-extra-bind', NoExtraLabel: 'no-extra-label', NoFallthrough: 'no-fallthrough', NoFloatingDecimal: 'no-floating-decimal', NoGlobalAssign: 'no-global-assign', NoImplicitCoercion: 'no-implicit-coercion', NoImplicitGlobals: 'no-implicit-globals', NoImpliedEval: 'no-implied-eval', NoInvalidThis: 'no-invalid-this', NoIterator: 'no-iterator', NoLabels: 'no-labels', NoLoneBlocks: 'no-lone-blocks', NoLoopFunc: 'no-loop-func', NoMagicNumbers: 'no-magic-numbers', NoMultiSpaces: 'no-multi-spaces', NoMultiStr: 'no-multi-str', NoNew: 'no-new', NoNewFunc: 'no-new-func', NoNewWrappers: 'no-new-wrappers', NoOctal: 'no-octal', NoOctalEscape: 'no-octal-escape', NoParamReassign: 'no-param-reassign', NoProto: 'no-proto', NoRedeclare: 'no-redeclare', NoRestrictedProperties: 'no-restricted-properties', NoReturnAssign: 'no-return-assign', NoReturnAwait: 'no-return-await', NoScriptUrl: 'no-script-url', NoSelfAssign: 'no-self-assign', NoSelfCompare: 'no-self-compare', NoSequences: 'no-sequences', NoThrowLiteral: 'no-throw-literal', NoUnmodifiedLoopCondition: 'no-unmodified-loop-condition', NoUnusedExpressions: 'no-unused-expressions', NoUnusedLabels: 'no-unused-labels', NoUselessCall: 'no-useless-call', NoUselessCatch: 'no-useless-catch', NoUselessConcat: 'no-useless-concat', NoUselessEscape: 'no-useless-escape', NoUselessReturn: 'no-useless-return', NoVoid: 'no-void', NoWarningComments: 'no-warning-comments', NoWith: 'no-with', PreferNamedCaptureGroup: 'prefer-named-capture-group', PreferPromiseRejectErrors: 'prefer-promise-reject-errors', PreferRegexLiterals: 'prefer-regex-literals', Radix: 'radix', RequireAwait: 'require-await', RequireUnicodeRegexp: 'require-unicode-regexp', VarsOnTop: 'vars-on-top', WrapIife: 'wrap-iife', Yoda: 'yoda', } as const; export type EsLintBestPracticesRule = (typeof EsLintBestPracticesRules)[keyof typeof EsLintBestPracticesRules]; export type EsLintBestPracticesRules = typeof EsLintBestPracticesRules; export const isEsLintBestPracticesRule = ( value: unknown, ): value is EsLintBestPracticesRule => typeof value === 'string' && Object.keys(EsLintBestPracticesRules) .includes(value);