eslint-plugin-functional
- Version 9.0.2
 - Published
 - 202 kB
 - 6 dependencies
 - MIT license
 
Install
npm i eslint-plugin-functionalyarn add eslint-plugin-functionalpnpm add eslint-plugin-functionalOverview
ESLint rules to promote functional programming in TypeScript.
Index
Variables
- _default
 - configs
 - errorMessages
 - errorMessages$1
 - errorMessages$10
 - errorMessages$11
 - errorMessages$12
 - errorMessages$13
 - errorMessages$14
 - errorMessages$15
 - errorMessages$16
 - errorMessages$17
 - errorMessages$18
 - errorMessages$19
 - errorMessages$2
 - errorMessages$3
 - errorMessages$4
 - errorMessages$5
 - errorMessages$6
 - errorMessages$7
 - errorMessages$8
 - errorMessages$9
 - fullName
 - fullName$1
 - fullName$10
 - fullName$11
 - fullName$12
 - fullName$13
 - fullName$14
 - fullName$15
 - fullName$16
 - fullName$17
 - fullName$18
 - fullName$19
 - fullName$2
 - fullName$3
 - fullName$4
 - fullName$5
 - fullName$6
 - fullName$7
 - fullName$8
 - fullName$9
 - meta
 - name
 - name$1
 - name$10
 - name$11
 - name$12
 - name$13
 - name$14
 - name$15
 - name$16
 - name$17
 - name$18
 - name$19
 - name$2
 - name$3
 - name$4
 - name$5
 - name$6
 - name$7
 - name$8
 - name$9
 - rule
 - rule$1
 - rule$10
 - rule$11
 - rule$12
 - rule$13
 - rule$14
 - rule$15
 - rule$16
 - rule$17
 - rule$18
 - rule$19
 - rule$2
 - rule$3
 - rule$4
 - rule$5
 - rule$6
 - rule$7
 - rule$8
 - rule$9
 - ruleNameScope
 - rules
 
Namespaces
Variables
variable _default
const _default: any;variable configs
const configs: Readonly<{    all: FlatConfig.Config;    lite: FlatConfig.Config;    recommended: FlatConfig.Config;    strict: FlatConfig.Config;    off: FlatConfig.Config;    disableTypeChecked: FlatConfig.Config;    externalVanillaRecommended: FlatConfig.Config;    externalTypeScriptRecommended: FlatConfig.Config;    currying: FlatConfig.Config;    noExceptions: FlatConfig.Config;    noMutations: FlatConfig.Config;    noOtherParadigms: FlatConfig.Config;    noStatements: FlatConfig.Config;    stylistic: FlatConfig.Config;}>;variable errorMessages
const errorMessages: {    readonly restParam: 'Unexpected rest parameter. Use a regular parameter of type array instead.';    readonly arguments: 'Unexpected use of `arguments`. Use regular function arguments instead.';    readonly paramCountAtLeastOne: 'Functions must have at least one parameter.';    readonly paramCountExactlyOne: 'Functions must have exactly one parameter.';};variable errorMessages$1
const errorMessages$1: {    readonly generic: 'Modifying an existing object/array is not allowed.';    readonly object: 'Modifying properties of existing object not allowed.';    readonly array: 'Modifying an array is not allowed.';    readonly map: 'Modifying a map is not allowed.';    readonly set: 'Modifying a set is not allowed.';};variable errorMessages$10
const errorMessages$10: { readonly generic: 'Function must return a value.' };variable errorMessages$11
const errorMessages$11: {    readonly generic: 'Unexpected this, use functions not classes.';};variable errorMessages$12
const errorMessages$12: {    readonly generic: 'Unexpected throw, throwing exceptions is not functional.';};variable errorMessages$13
const errorMessages$13: {    readonly catch: 'Unexpected try-catch, this pattern is not functional.';    readonly finally: 'Unexpected try-finally, this pattern is not functional.';};variable errorMessages$14
const errorMessages$14: {    readonly parameter: 'Parameter should have an immutability of at least "{{ expected }}" (actual: "{{ actual }}").';    readonly returnType: 'Return type should have an immutability of at least "{{ expected }}" (actual: "{{ actual }}").';    readonly variable: 'Variable should have an immutability of at least "{{ expected }}" (actual: "{{ actual }}").';    readonly propertyImmutability: 'Property should have an immutability of at least "{{ expected }}" (actual: "{{ actual }}").';    readonly propertyModifier: 'Property should have a readonly modifier.';    readonly propertyModifierSuggestion: 'Add readonly modifier.';    readonly userDefined: '{{ message }}';};variable errorMessages$15
const errorMessages$15: {    readonly generic: 'Use a property signature instead of a method signature';};variable errorMessages$16
const errorMessages$16: {    readonly array: 'Only readonly arrays allowed.';    readonly implicit: 'Implicitly a mutable array. Only readonly arrays allowed.';    readonly property: 'A readonly modifier is required.';    readonly tuple: 'Only readonly tuples allowed.';    readonly type: 'Only readonly types allowed.';};variable errorMessages$17
const errorMessages$17: {    readonly generic: 'Potentially unnecessary function wrapper.';    readonly genericSuggestion: 'Remove unnecessary function wrapper.';};variable errorMessages$18
const errorMessages$18: {    readonly generic: "Readonly type using 'readonly' keyword is forbidden. Use 'Readonly<T>' instead.";    readonly keyword: "Readonly type using 'Readonly<T>' is forbidden. Use 'readonly' keyword instead.";};variable errorMessages$19
const errorMessages$19: {    readonly Less: 'This type is declare to have an immutability less than "{{ expected }}" (actual: "{{ actual }}").';    readonly AtLeast: 'This type is declare to have an immutability of at least "{{ expected }}" (actual: "{{ actual }}").';    readonly Exactly: 'This type is declare to have an immutability of exactly "{{ expected }}" (actual: "{{ actual }}").';    readonly AtMost: 'This type is declare to have an immutability of at most "{{ expected }}" (actual: "{{ actual }}").';    readonly More: 'This type is declare to have an immutability more than "{{ expected }}" (actual: "{{ actual }}").';    readonly userDefined: '{{ message }}';};variable errorMessages$2
const errorMessages$2: {    readonly abstract: 'Unexpected abstract class.';    readonly extends: 'Unexpected inheritance, use composition instead.';};variable errorMessages$3
const errorMessages$3: {    readonly generic: 'Unexpected class, use functions not classes.';};variable errorMessages$4
const errorMessages$4: {    readonly incompleteBranch: 'Incomplete branch, every branch in a conditional statement must contain a return statement.';    readonly incompleteIf: 'Incomplete if, it must have an else statement and every branch must contain a return statement.';    readonly incompleteSwitch: 'Incomplete switch, it must be exhaustive or have an default case and every case must contain a return statement.';    readonly unexpectedIf: 'Unexpected if, use a conditional expression (ternary operator) instead.';    readonly unexpectedSwitch: 'Unexpected switch, use a conditional expression (ternary operator) instead.';};variable errorMessages$5
const errorMessages$5: {    readonly generic: 'Using expressions to cause side-effects not allowed.';};variable errorMessages$6
const errorMessages$6: { readonly generic: 'Unexpected let, use const instead.' };variable errorMessages$7
const errorMessages$7: {    readonly generic: 'Unexpected loop, use map or reduce instead.';};variable errorMessages$8
const errorMessages$8: {    readonly generic: 'Only the same kind of members allowed in types.';};variable errorMessages$9
const errorMessages$9: {    readonly generic: 'Unexpected rejection, resolve an error instead.';};variable fullName
const fullName: string;variable fullName$1
const fullName$1: string;variable fullName$10
const fullName$10: string;variable fullName$11
const fullName$11: string;variable fullName$12
const fullName$12: string;variable fullName$13
const fullName$13: string;variable fullName$14
const fullName$14: string;variable fullName$15
const fullName$15: string;variable fullName$16
const fullName$16: string;variable fullName$17
const fullName$17: string;variable fullName$18
const fullName$18: string;variable fullName$19
const fullName$19: string;variable fullName$2
const fullName$2: string;variable fullName$3
const fullName$3: string;variable fullName$4
const fullName$4: string;variable fullName$5
const fullName$5: string;variable fullName$6
const fullName$6: string;variable fullName$7
const fullName$7: string;variable fullName$8
const fullName$8: string;variable fullName$9
const fullName$9: string;variable meta
const meta: { readonly name: 'eslint-plugin-functional'; readonly version: string };variable name
const name: string;variable name$1
const name$1: string;variable name$10
const name$10: string;variable name$11
const name$11: string;variable name$12
const name$12: string;variable name$13
const name$13: string;variable name$14
const name$14: string;variable name$15
const name$15: string;variable name$16
const name$16: string;variable name$17
const name$17: string;variable name$18
const name$18: string;variable name$19
const name$19: string;variable name$2
const name$2: string;variable name$3
const name$3: string;variable name$4
const name$4: string;variable name$5
const name$5: string;variable name$6
const name$6: string;variable name$7
const name$7: string;variable name$8
const name$8: string;variable name$9
const name$9: string;variable rule
const rule: any;variable rule$1
const rule$1: any;variable rule$10
const rule$10: any;variable rule$11
const rule$11: any;variable rule$12
const rule$12: any;variable rule$13
const rule$13: any;variable rule$14
const rule$14: any;variable rule$15
const rule$15: any;variable rule$16
const rule$16: any;variable rule$17
const rule$17: any;variable rule$18
const rule$18: any;variable rule$19
const rule$19: any;variable rule$2
const rule$2: any;variable rule$3
const rule$3: any;variable rule$4
const rule$4: any;variable rule$5
const rule$5: any;variable rule$6
const rule$6: any;variable rule$7
const rule$7: any;variable rule$8
const rule$8: any;variable rule$9
const rule$9: any;variable ruleNameScope
const ruleNameScope: string;variable rules
const rules: Readonly<{    'functional-parameters': typeof rule;    'immutable-data': typeof rule$1;    'no-classes': typeof rule$3;    'no-class-inheritance': typeof rule$2;    'no-conditional-statements': typeof rule$4;    'no-expression-statements': typeof rule$5;    'no-let': typeof rule$6;    'no-loop-statements': typeof rule$7;    'no-mixed-types': typeof rule$8;    'no-promise-reject': typeof rule$9;    'no-return-void': typeof rule$10;    'no-this-expressions': typeof rule$11;    'no-throw-statements': typeof rule$12;    'no-try-statements': typeof rule$13;    'prefer-immutable-types': typeof rule$14;    'prefer-property-signatures': typeof rule$15;    'prefer-readonly-type': typeof rule$16;    'prefer-tacit': typeof rule$17;    'readonly-type': typeof rule$18;    'type-declaration-immutability': typeof typeDeclarationImmutability.rule;}>;Namespaces
namespace typeDeclarationImmutability
namespace typeDeclarationImmutability {}variable fullName
const fullName: string;variable name
const name: string;variable rule
const rule: any;enum RuleEnforcementComparator
enum RuleEnforcementComparator {    Less = -2,    AtMost = -1,    Exactly = 0,    AtLeast = 1,    More = 2,}type ImmutabilityRule
type ImmutabilityRule = {    identifiers: RegExp[];    immutability: Immutability;    comparator: RuleEnforcementComparator;    fixers: FixerConfig[] | false;    suggestions: SuggestionsConfig | false;};Package Files (1)
Dependencies (6)
Dev Dependencies (63)
- @babel/eslint-parser
 - @cspell/dict-cryptocurrencies
 - @eslint/compat
 - @rebeccastevens/eslint-config
 - @rollup/plugin-replace
 - @rollup/plugin-typescript
 - @semantic-release/changelog
 - @semantic-release/commit-analyzer
 - @semantic-release/git
 - @semantic-release/github
 - @semantic-release/npm
 - @semantic-release/release-notes-generator
 - @stylistic/eslint-plugin
 - @types/node
 - @typescript-eslint/eslint-plugin
 - @typescript-eslint/parser
 - @vitest/coverage-v8
 - @vitest/eslint-plugin
 - cspell
 - dedent
 - eslint
 - eslint-config-prettier
 - eslint-doc-generator
 - eslint-flat-config-utils
 - eslint-import-resolver-typescript
 - eslint-merge-processors
 - eslint-plugin-eslint-comments
 - eslint-plugin-eslint-plugin
 - eslint-plugin-format
 - eslint-plugin-functional
 - eslint-plugin-import-x
 - eslint-plugin-jsdoc
 - eslint-plugin-jsonc
 - eslint-plugin-markdown
 - eslint-plugin-n
 - eslint-plugin-no-only-tests
 - eslint-plugin-optimize-regex
 - eslint-plugin-prettier
 - eslint-plugin-promise
 - eslint-plugin-regexp
 - eslint-plugin-sonarjs
 - eslint-plugin-unicorn
 - eslint-plugin-yml
 - eslint-vitest-rule-tester
 - fast-glob
 - husky
 - jsonc-eslint-parser
 - knip
 - lint-staged
 - markdownlint-cli2
 - prettier
 - rimraf
 - rollup
 - rollup-plugin-deassert
 - rollup-plugin-dts-bundle-generator-2
 - semantic-release
 - semantic-release-replace-plugin
 - tsc-files
 - tsx
 - typescript
 - vite-tsconfig-paths
 - vitest
 - yaml-eslint-parser
 
Peer Dependencies (2)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/eslint-plugin-functional.
- Markdown[](https://www.jsdocs.io/package/eslint-plugin-functional)
 - HTML<a href="https://www.jsdocs.io/package/eslint-plugin-functional"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
 
- Updated .
Package analyzed in 3050 ms. - Missing or incorrect documentation? Open an issue for this package.
 
