-
-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
functional/functional-parameters
Limit only to specific types
#575
Comments
Very related: RebeccaStevens/is-immutable-type#47 (comment) |
functional/functional-parameters
Limit only to specific types
What sort of change would you like to see for this? A new option? How do you think it should work? Note: we already have |
Thanks for asking @RebeccaStevens. I'm picturing an ability to override the rule using something like https://github.com/RebeccaStevens/is-immutable-type#overrides, so something like this: [{ type: { from: "fp-ts", name: "Lazy" }}] That would be the most 'surgical' override. It would allow ESLint to continue to flag lambdas in the general case (no need for ignoreLambdaExpression) while permitting us to use them whenever they're used to achieve laziness with fp-ts, such as via TE.tryCatch(() => existingCodeThatReturnsPromise); I understand if you think this is more trouble than its worth and your recommendation is to just use ignoreLambdaExpression. |
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
…the function type is declared fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
… based on the function's type fix #575
# [7.0.0](v6.6.3...v7.0.0) (2024-08-05) ### Bug Fixes * checking of types from ts's lib are now more strict ([#862](#862)) ([39beb25](39beb25)) ### Features * eslint 9 migration ([#809](#809)) ([de4e3ea](de4e3ea)) * **functional-parameters:** allow overriding options based on where the function type is declared ([#803](#803)) ([21396d5](21396d5)), closes [#575](#575) * **functional-parameters:** change options in recommended and lite configs ([#811](#811)) ([b3cb8d9](b3cb8d9)) * **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](#826)) ([c04e425](c04e425)) * **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](#863)) ([18aede1](18aede1)), closes [#851](#851) * **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](#839)) ([c2c589c](c2c589c)), closes [#838](#838) * **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](#804)) ([86fa76a](86fa76a)), closes [#800](#800) * **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](#810)) ([defd713](defd713)) ### BREAKING CHANGES * **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` (#839)
🎉 This issue has been resolved in version 7.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.2](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#702-2024-08-26) ##### Bug Fixes - **no-expression-statements:** ignore `Promise<void>` when `ignoreVoid` is set ([#866](eslint-functional/eslint-plugin-functional#866)) ([2e1a992](eslint-functional/eslint-plugin-functional@2e1a992)) ##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.2](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#702-2024-08-26) ##### Bug Fixes - **no-expression-statements:** ignore `Promise<void>` when `ignoreVoid` is set ([#866](eslint-functional/eslint-plugin-functional#866)) ([2e1a992](eslint-functional/eslint-plugin-functional@2e1a992)) ##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.2](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#702-2024-08-26) ##### Bug Fixes - **no-expression-statements:** ignore `Promise<void>` when `ignoreVoid` is set ([#866](eslint-functional/eslint-plugin-functional#866)) ([2e1a992](eslint-functional/eslint-plugin-functional@2e1a992)) ##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
##### [v7.0.2](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#702-2024-08-26) ##### Bug Fixes - **no-expression-statements:** ignore `Promise<void>` when `ignoreVoid` is set ([#866](eslint-functional/eslint-plugin-functional#866)) ([2e1a992](eslint-functional/eslint-plugin-functional@2e1a992)) ##### [v7.0.1](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#701-2024-08-07) ##### Bug Fixes - don't throw when typescript can't be resolved ([afb05bd](eslint-functional/eslint-plugin-functional@afb05bd)) ##### [v7.0.0](https://github.com/eslint-functional/eslint-plugin-functional/blob/HEAD/CHANGELOG.md#700-2024-08-05) ##### Bug Fixes - checking of types from ts's lib are now more strict ([#862](eslint-functional/eslint-plugin-functional#862)) ([39beb25](eslint-functional/eslint-plugin-functional@39beb25)) ##### Features - eslint 9 migration ([#809](eslint-functional/eslint-plugin-functional#809)) ([de4e3ea](eslint-functional/eslint-plugin-functional@de4e3ea)) - **functional-parameters:** allow overriding options based on where the function type is declared ([#803](eslint-functional/eslint-plugin-functional#803)) ([21396d5](eslint-functional/eslint-plugin-functional@21396d5)), closes [#575](eslint-functional/eslint-plugin-functional#575) - **functional-parameters:** change options in recommended and lite configs ([#811](eslint-functional/eslint-plugin-functional#811)) ([b3cb8d9](eslint-functional/eslint-plugin-functional@b3cb8d9)) - **immutable-data:** allows for applying overrides to the options based on the root object's type ([#826](eslint-functional/eslint-plugin-functional#826)) ([c04e425](eslint-functional/eslint-plugin-functional@c04e425)) - **no-classes:** add options ignoreIdentifierPattern and ignoreCodePattern ([#863](eslint-functional/eslint-plugin-functional#863)) ([18aede1](eslint-functional/eslint-plugin-functional@18aede1)), closes [#851](eslint-functional/eslint-plugin-functional#851) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) ([c2c589c](eslint-functional/eslint-plugin-functional@c2c589c)), closes [#838](eslint-functional/eslint-plugin-functional#838) - **prefer-immutable-types:** allow overriding options based on where the type is declared ([#804](eslint-functional/eslint-plugin-functional#804)) ([86fa76a](eslint-functional/eslint-plugin-functional@86fa76a)), closes [#800](eslint-functional/eslint-plugin-functional#800) - **prefer-immutable-types:** change the options in recommeneded and lite configs ([#810](eslint-functional/eslint-plugin-functional#810)) ([defd713](eslint-functional/eslint-plugin-functional@defd713)) ##### BREAKING CHANGES - The minimum supported Node version is now 18.18.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported TypeScript version is now 4.7.4 ([#809](eslint-functional/eslint-plugin-functional#809)) - The minimum supported Eslint version is now 9.0.0 ([#809](eslint-functional/eslint-plugin-functional#809)) - **no-throw-statements:** replace option `allowInAsyncFunctions` with `allowToRejectPromises` ([#839](eslint-functional/eslint-plugin-functional#839)) #### [6.6.3](eslint-functional/eslint-plugin-functional@v6.6.2...v6.6.3) (2024-07-11) ##### Bug Fixes - **immutable-data:** ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions ([#849](eslint-functional/eslint-plugin-functional#849)) ([f6ff69b](eslint-functional/eslint-plugin-functional@f6ff69b)), closes [#840](eslint-functional/eslint-plugin-functional#840) #### [6.6.2](eslint-functional/eslint-plugin-functional@v6.6.1...v6.6.2) (2024-07-11) ##### Bug Fixes - **no-conditional-statements:** allow continue and break statements with labels to be considered "returning" ([#846](eslint-functional/eslint-plugin-functional#846)) ([969b77b](eslint-functional/eslint-plugin-functional@969b77b)) - **no-expression-statements:** arrow functions cannot be self returning ([#847](eslint-functional/eslint-plugin-functional#847)) ([7217fa4](eslint-functional/eslint-plugin-functional@7217fa4)) - **no-promise-reject:** new Promises and throw statements are now also checked ([#848](eslint-functional/eslint-plugin-functional#848)) ([fbe27ad](eslint-functional/eslint-plugin-functional@fbe27ad)) #### [6.6.1](eslint-functional/eslint-plugin-functional@v6.6.0...v6.6.1) (2024-07-06)
Suggestion
When using
functional/functional-parameters
, we haveignorePrefixSelector
but that can't tap into TypeScript type information.There are a few places that I would love to whitelist in a way that requires type information. It would be great if we had that ability.
Here's one motivating example:
In https://github.com/gcanti/fp-ts, there are many cases where Lazy thunks are used to achieve functional purity.
One case is when lifting
Promise
s (eager, not referentially transparent) into fp-tsTaskEither
s (lazy, referentially transparent):When calling that, you are frequently taking some existing code that returns a
Promise
and doing this to it:That lazy thunk (
() => ...
) unfortunately triggersfunctional/functional-parameters
, even though in this case we're writing code that in spirit is extremely functional.Luckily, fp-ts defines
Lazy
like so:It could have defined it like
export type Lazy<A> = () => A;
, but for our purposes here we're lucky they made it a named interface.If we could tap into the type information, we'd know that the contextual type of
() => existingCodeThatReturnsPromise
is actuallyLazy<...>
due to it being passed toTE.tryCatch
(first param type being:f: Lazy<Promise<A>>
). That would allow us to whitelist cases like this.Note that fp-ts also defines a type
IO<A>
that is structurally the same asLazy<A>
but has different semantics:IO<A>
is assumed to be impure. We would not want to whitelist IOs.The text was updated successfully, but these errors were encountered: