diff --git a/packages/core/docs/README.md b/packages/core/docs/README.md index 2d7bc0d0f0..5fdd473c00 100644 --- a/packages/core/docs/README.md +++ b/packages/core/docs/README.md @@ -11,7 +11,7 @@ ## Namespaces - [isCallFromReact](namespaces/isCallFromReact/README.md) -- [isCallFromReactMember](namespaces/isCallFromReactMember/README.md) +- [isFromReact](namespaces/isFromReact/README.md) - [useComponentCollector](namespaces/useComponentCollector/README.md) - [useComponentCollectorLegacy](namespaces/useComponentCollectorLegacy/README.md) - [useHookCollector](namespaces/useHookCollector/README.md) @@ -54,7 +54,7 @@ - [hasNoneOrValidComponentName](functions/hasNoneOrValidComponentName.md) - [hasValidHierarchy](functions/hasValidHierarchy.md) - [isCallFromReact](functions/isCallFromReact.md) -- [isCallFromReactMember](functions/isCallFromReactMember.md) +- [isCallFromReactObject](functions/isCallFromReactObject.md) - [isChildrenCount](functions/isChildrenCount.md) - [isChildrenCountCall](functions/isChildrenCountCall.md) - [isChildrenForEach](functions/isChildrenForEach.md) @@ -85,9 +85,7 @@ - [isForwardRefCall](functions/isForwardRefCall.md) - [isFromReact](functions/isFromReact.md) - [isFromReactLoose](functions/isFromReactLoose.md) -- [isFromReactMember](functions/isFromReactMember.md) -- [isFromReactMemberLoose](functions/isFromReactMemberLoose.md) -- [isFromReactMemberStrict](functions/isFromReactMemberStrict.md) +- [isFromReactObject](functions/isFromReactObject.md) - [isFromReactStrict](functions/isFromReactStrict.md) - [isFunctionOfComponentDidMount](functions/isFunctionOfComponentDidMount.md) - [isFunctionOfComponentWillUnmount](functions/isFunctionOfComponentWillUnmount.md) @@ -104,8 +102,8 @@ - [isMemo](functions/isMemo.md) - [isMemoCall](functions/isMemoCall.md) - [isPureComponent](functions/isPureComponent.md) -- [isReactAPICallWithName](functions/isReactAPICallWithName.md) -- [isReactAPIWithName](functions/isReactAPIWithName.md) +- [isReactAPI](functions/isReactAPI.md) +- [isReactAPICall](functions/isReactAPICall.md) - [isReactHook](functions/isReactHook.md) - [isReactHookCall](functions/isReactHookCall.md) - [isReactHookCallWithName](functions/isReactHookCallWithName.md) diff --git a/packages/core/docs/functions/isCallFromReactMember.md b/packages/core/docs/functions/isCallFromReactMember.md deleted file mode 100644 index a3f26d60d2..0000000000 --- a/packages/core/docs/functions/isCallFromReactMember.md +++ /dev/null @@ -1,23 +0,0 @@ -[**@eslint-react/core**](../README.md) - -*** - -[@eslint-react/core](../README.md) / isCallFromReactMember - -# Function: isCallFromReactMember() - -> **isCallFromReactMember**(`pragmaMemberName`, `name`): [`ReturnType`](../namespaces/isCallFromReactMember/type-aliases/ReturnType.md) - -## Parameters - -### pragmaMemberName - -`string` - -### name - -`string` - -## Returns - -[`ReturnType`](../namespaces/isCallFromReactMember/type-aliases/ReturnType.md) diff --git a/packages/core/docs/functions/isCallFromReactObject.md b/packages/core/docs/functions/isCallFromReactObject.md new file mode 100644 index 0000000000..096b06f3ef --- /dev/null +++ b/packages/core/docs/functions/isCallFromReactObject.md @@ -0,0 +1,23 @@ +[**@eslint-react/core**](../README.md) + +*** + +[@eslint-react/core](../README.md) / isCallFromReactObject + +# Function: isCallFromReactObject() + +> **isCallFromReactObject**(`objectName`, `propertyName`): [`ReturnType`](../namespaces/isCallFromReact/type-aliases/ReturnType.md) + +## Parameters + +### objectName + +`string` + +### propertyName + +`string` + +## Returns + +[`ReturnType`](../namespaces/isCallFromReact/type-aliases/ReturnType.md) diff --git a/packages/core/docs/functions/isChildrenCount.md b/packages/core/docs/functions/isChildrenCount.md index 99e222a673..6e6fa132f9 100644 --- a/packages/core/docs/functions/isChildrenCount.md +++ b/packages/core/docs/functions/isChildrenCount.md @@ -6,18 +6,44 @@ # Function: isChildrenCount() -> **isChildrenCount**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isChildrenCount**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isChildrenCount**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isChildrenCountCall.md b/packages/core/docs/functions/isChildrenCountCall.md index 35a797f2b7..ab94a06aca 100644 --- a/packages/core/docs/functions/isChildrenCountCall.md +++ b/packages/core/docs/functions/isChildrenCountCall.md @@ -8,7 +8,7 @@ ## Call Signature -> **isChildrenCountCall**(`context`): (`node`) => `node is CallExpression & { callee: MemberExpression }` +> **isChildrenCountCall**(`context`): (`node`) => `node is CallExpression` ### Parameters @@ -28,11 +28,11 @@ #### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` ## Call Signature -> **isChildrenCountCall**(`context`, `node`): `node is CallExpression & { callee: MemberExpression }` +> **isChildrenCountCall**(`context`, `node`): `node is CallExpression` ### Parameters @@ -46,4 +46,4 @@ ### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` diff --git a/packages/core/docs/functions/isChildrenForEach.md b/packages/core/docs/functions/isChildrenForEach.md index 3457e4607c..9b46c043d1 100644 --- a/packages/core/docs/functions/isChildrenForEach.md +++ b/packages/core/docs/functions/isChildrenForEach.md @@ -6,18 +6,44 @@ # Function: isChildrenForEach() -> **isChildrenForEach**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isChildrenForEach**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isChildrenForEach**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isChildrenForEachCall.md b/packages/core/docs/functions/isChildrenForEachCall.md index 34bf3e157e..4e4d3801be 100644 --- a/packages/core/docs/functions/isChildrenForEachCall.md +++ b/packages/core/docs/functions/isChildrenForEachCall.md @@ -8,7 +8,7 @@ ## Call Signature -> **isChildrenForEachCall**(`context`): (`node`) => `node is CallExpression & { callee: MemberExpression }` +> **isChildrenForEachCall**(`context`): (`node`) => `node is CallExpression` ### Parameters @@ -28,11 +28,11 @@ #### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` ## Call Signature -> **isChildrenForEachCall**(`context`, `node`): `node is CallExpression & { callee: MemberExpression }` +> **isChildrenForEachCall**(`context`, `node`): `node is CallExpression` ### Parameters @@ -46,4 +46,4 @@ ### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` diff --git a/packages/core/docs/functions/isChildrenMap.md b/packages/core/docs/functions/isChildrenMap.md index 252aade479..8ee7247e05 100644 --- a/packages/core/docs/functions/isChildrenMap.md +++ b/packages/core/docs/functions/isChildrenMap.md @@ -6,18 +6,44 @@ # Function: isChildrenMap() -> **isChildrenMap**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isChildrenMap**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isChildrenMap**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isChildrenMapCall.md b/packages/core/docs/functions/isChildrenMapCall.md index 59cf3e1c81..3e5df823bc 100644 --- a/packages/core/docs/functions/isChildrenMapCall.md +++ b/packages/core/docs/functions/isChildrenMapCall.md @@ -8,7 +8,7 @@ ## Call Signature -> **isChildrenMapCall**(`context`): (`node`) => `node is CallExpression & { callee: MemberExpression }` +> **isChildrenMapCall**(`context`): (`node`) => `node is CallExpression` ### Parameters @@ -28,11 +28,11 @@ #### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` ## Call Signature -> **isChildrenMapCall**(`context`, `node`): `node is CallExpression & { callee: MemberExpression }` +> **isChildrenMapCall**(`context`, `node`): `node is CallExpression` ### Parameters @@ -46,4 +46,4 @@ ### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` diff --git a/packages/core/docs/functions/isChildrenOnly.md b/packages/core/docs/functions/isChildrenOnly.md index 9e797868a5..1499440dbf 100644 --- a/packages/core/docs/functions/isChildrenOnly.md +++ b/packages/core/docs/functions/isChildrenOnly.md @@ -6,18 +6,44 @@ # Function: isChildrenOnly() -> **isChildrenOnly**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isChildrenOnly**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isChildrenOnly**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isChildrenOnlyCall.md b/packages/core/docs/functions/isChildrenOnlyCall.md index abfa8a8a84..6d2ad31b4d 100644 --- a/packages/core/docs/functions/isChildrenOnlyCall.md +++ b/packages/core/docs/functions/isChildrenOnlyCall.md @@ -8,7 +8,7 @@ ## Call Signature -> **isChildrenOnlyCall**(`context`): (`node`) => `node is CallExpression & { callee: MemberExpression }` +> **isChildrenOnlyCall**(`context`): (`node`) => `node is CallExpression` ### Parameters @@ -28,11 +28,11 @@ #### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` ## Call Signature -> **isChildrenOnlyCall**(`context`, `node`): `node is CallExpression & { callee: MemberExpression }` +> **isChildrenOnlyCall**(`context`, `node`): `node is CallExpression` ### Parameters @@ -46,4 +46,4 @@ ### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` diff --git a/packages/core/docs/functions/isChildrenToArray.md b/packages/core/docs/functions/isChildrenToArray.md index d068480c9b..7c84fd8841 100644 --- a/packages/core/docs/functions/isChildrenToArray.md +++ b/packages/core/docs/functions/isChildrenToArray.md @@ -6,18 +6,44 @@ # Function: isChildrenToArray() -> **isChildrenToArray**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isChildrenToArray**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isChildrenToArray**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isChildrenToArrayCall.md b/packages/core/docs/functions/isChildrenToArrayCall.md index 6d967488f2..61aa244ffb 100644 --- a/packages/core/docs/functions/isChildrenToArrayCall.md +++ b/packages/core/docs/functions/isChildrenToArrayCall.md @@ -8,7 +8,7 @@ ## Call Signature -> **isChildrenToArrayCall**(`context`): (`node`) => `node is CallExpression & { callee: MemberExpression }` +> **isChildrenToArrayCall**(`context`): (`node`) => `node is CallExpression` ### Parameters @@ -28,11 +28,11 @@ #### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` ## Call Signature -> **isChildrenToArrayCall**(`context`, `node`): `node is CallExpression & { callee: MemberExpression }` +> **isChildrenToArrayCall**(`context`, `node`): `node is CallExpression` ### Parameters @@ -46,4 +46,4 @@ ### Returns -`node is CallExpression & { callee: MemberExpression }` +`node is CallExpression` diff --git a/packages/core/docs/functions/isCloneElement.md b/packages/core/docs/functions/isCloneElement.md index 6fe1ada8d6..75c41dc33e 100644 --- a/packages/core/docs/functions/isCloneElement.md +++ b/packages/core/docs/functions/isCloneElement.md @@ -6,18 +6,44 @@ # Function: isCloneElement() -> **isCloneElement**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isCloneElement**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isCloneElement**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isCreateContext.md b/packages/core/docs/functions/isCreateContext.md index c72c8c2aa1..fee9ce9f01 100644 --- a/packages/core/docs/functions/isCreateContext.md +++ b/packages/core/docs/functions/isCreateContext.md @@ -6,18 +6,44 @@ # Function: isCreateContext() -> **isCreateContext**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isCreateContext**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isCreateContext**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isCreateElement.md b/packages/core/docs/functions/isCreateElement.md index fd55c76310..4122c6966e 100644 --- a/packages/core/docs/functions/isCreateElement.md +++ b/packages/core/docs/functions/isCreateElement.md @@ -6,18 +6,44 @@ # Function: isCreateElement() -> **isCreateElement**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isCreateElement**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isCreateElement**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isCreateRef.md b/packages/core/docs/functions/isCreateRef.md index f7676300b1..efe874e886 100644 --- a/packages/core/docs/functions/isCreateRef.md +++ b/packages/core/docs/functions/isCreateRef.md @@ -6,18 +6,44 @@ # Function: isCreateRef() -> **isCreateRef**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isCreateRef**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isCreateRef**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isForwardRef.md b/packages/core/docs/functions/isForwardRef.md index 3006b53934..deb1eacdc3 100644 --- a/packages/core/docs/functions/isForwardRef.md +++ b/packages/core/docs/functions/isForwardRef.md @@ -6,18 +6,44 @@ # Function: isForwardRef() -> **isForwardRef**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isForwardRef**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isForwardRef**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isFromReact.md b/packages/core/docs/functions/isFromReact.md index b8ded017d5..9cf09089fb 100644 --- a/packages/core/docs/functions/isFromReact.md +++ b/packages/core/docs/functions/isFromReact.md @@ -6,7 +6,7 @@ # Function: isFromReact() -> **isFromReact**(`name`): (`context`, `node`) => `boolean` +> **isFromReact**(`name`): [`ReturnType`](../namespaces/isFromReact/type-aliases/ReturnType.md) ## Parameters @@ -16,18 +16,4 @@ ## Returns -`Function` - -### Parameters - -#### context - -[`Readonly`](../-internal-/type-aliases/Readonly.md) - -#### node - -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) - -### Returns - -`boolean` +[`ReturnType`](../namespaces/isFromReact/type-aliases/ReturnType.md) diff --git a/packages/core/docs/functions/isFromReactLoose.md b/packages/core/docs/functions/isFromReactLoose.md index 4886610139..ed374c000f 100644 --- a/packages/core/docs/functions/isFromReactLoose.md +++ b/packages/core/docs/functions/isFromReactLoose.md @@ -12,7 +12,7 @@ ### node -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +`undefined` | [`Node`](../-internal-/type-aliases/Node.md) ### name diff --git a/packages/core/docs/functions/isFromReactMember.md b/packages/core/docs/functions/isFromReactMember.md deleted file mode 100644 index f1d9b12a70..0000000000 --- a/packages/core/docs/functions/isFromReactMember.md +++ /dev/null @@ -1,37 +0,0 @@ -[**@eslint-react/core**](../README.md) - -*** - -[@eslint-react/core](../README.md) / isFromReactMember - -# Function: isFromReactMember() - -> **isFromReactMember**(`memberName`, `name`): (`context`, `node`) => `boolean` - -## Parameters - -### memberName - -`string` - -### name - -`string` - -## Returns - -`Function` - -### Parameters - -#### context - -[`Readonly`](../-internal-/type-aliases/Readonly.md) - -#### node - -[`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) - -### Returns - -`boolean` diff --git a/packages/core/docs/functions/isFromReactMemberLoose.md b/packages/core/docs/functions/isFromReactMemberLoose.md deleted file mode 100644 index 293c9dedaa..0000000000 --- a/packages/core/docs/functions/isFromReactMemberLoose.md +++ /dev/null @@ -1,27 +0,0 @@ -[**@eslint-react/core**](../README.md) - -*** - -[@eslint-react/core](../README.md) / isFromReactMemberLoose - -# Function: isFromReactMemberLoose() - -> **isFromReactMemberLoose**(`node`, `memberName`, `name`): `node is MemberExpression & { object: { name: string }; property: { name: string } }` - -## Parameters - -### node - -[`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) - -### memberName - -`string` - -### name - -`string` - -## Returns - -`node is MemberExpression & { object: { name: string }; property: { name: string } }` diff --git a/packages/core/docs/functions/isFromReactMemberStrict.md b/packages/core/docs/functions/isFromReactMemberStrict.md deleted file mode 100644 index 0df5df7925..0000000000 --- a/packages/core/docs/functions/isFromReactMemberStrict.md +++ /dev/null @@ -1,35 +0,0 @@ -[**@eslint-react/core**](../README.md) - -*** - -[@eslint-react/core](../README.md) / isFromReactMemberStrict - -# Function: isFromReactMemberStrict() - -> **isFromReactMemberStrict**(`node`, `memberName`, `name`, `importSource`, `initialScope`): `boolean` - -## Parameters - -### node - -[`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) - -### memberName - -`string` - -### name - -`string` - -### importSource - -`string` - -### initialScope - -[`Scope`](../-internal-/type-aliases/Scope.md) - -## Returns - -`boolean` diff --git a/packages/core/docs/functions/isFromReactObject.md b/packages/core/docs/functions/isFromReactObject.md new file mode 100644 index 0000000000..393c3b9cf9 --- /dev/null +++ b/packages/core/docs/functions/isFromReactObject.md @@ -0,0 +1,23 @@ +[**@eslint-react/core**](../README.md) + +*** + +[@eslint-react/core](../README.md) / isFromReactObject + +# Function: isFromReactObject() + +> **isFromReactObject**(`objectName`, `propertyName`): [`ReturnType`](../namespaces/isFromReact/type-aliases/ReturnType.md) + +## Parameters + +### objectName + +`string` + +### propertyName + +`string` + +## Returns + +[`ReturnType`](../namespaces/isFromReact/type-aliases/ReturnType.md) diff --git a/packages/core/docs/functions/isFromReactStrict.md b/packages/core/docs/functions/isFromReactStrict.md index dc57358dba..e828591195 100644 --- a/packages/core/docs/functions/isFromReactStrict.md +++ b/packages/core/docs/functions/isFromReactStrict.md @@ -12,7 +12,7 @@ ### node -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +`undefined` | [`Node`](../-internal-/type-aliases/Node.md) ### name diff --git a/packages/core/docs/functions/isMemo.md b/packages/core/docs/functions/isMemo.md index 96e7ee606f..078398edfe 100644 --- a/packages/core/docs/functions/isMemo.md +++ b/packages/core/docs/functions/isMemo.md @@ -6,18 +6,44 @@ # Function: isMemo() -> **isMemo**(`context`, `node`): `boolean` +## Call Signature -## Parameters +> **isMemo**(`context`): (`node`) => node is Identifier \| MemberExpression -### context +### Parameters + +#### context + +[`Readonly`](../-internal-/type-aliases/Readonly.md) + +### Returns + +`Function` + +#### Parameters + +##### node + +[`Node`](../-internal-/type-aliases/Node.md) + +#### Returns + +node is Identifier \| MemberExpression + +## Call Signature + +> **isMemo**(`context`, `node`): node is Identifier \| MemberExpression + +### Parameters + +#### context [`Readonly`](../-internal-/type-aliases/Readonly.md) -### node +#### node -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) +[`Node`](../-internal-/type-aliases/Node.md) -## Returns +### Returns -`boolean` +node is Identifier \| MemberExpression diff --git a/packages/core/docs/functions/isReactAPI.md b/packages/core/docs/functions/isReactAPI.md new file mode 100644 index 0000000000..a05c072272 --- /dev/null +++ b/packages/core/docs/functions/isReactAPI.md @@ -0,0 +1,39 @@ +[**@eslint-react/core**](../README.md) + +*** + +[@eslint-react/core](../README.md) / isReactAPI + +# Function: isReactAPI() + +## Call Signature + +> **isReactAPI**(`name`): [`ReturnType`](../namespaces/isFromReact/type-aliases/ReturnType.md) + +### Parameters + +#### name + +`string` + +### Returns + +[`ReturnType`](../namespaces/isFromReact/type-aliases/ReturnType.md) + +## Call Signature + +> **isReactAPI**(`objectName`, `propertyName`): [`ReturnType`](../namespaces/isFromReact/type-aliases/ReturnType.md) + +### Parameters + +#### objectName + +`string` + +#### propertyName + +`string` + +### Returns + +[`ReturnType`](../namespaces/isFromReact/type-aliases/ReturnType.md) diff --git a/packages/core/docs/functions/isReactAPICall.md b/packages/core/docs/functions/isReactAPICall.md new file mode 100644 index 0000000000..50cd8a8c01 --- /dev/null +++ b/packages/core/docs/functions/isReactAPICall.md @@ -0,0 +1,39 @@ +[**@eslint-react/core**](../README.md) + +*** + +[@eslint-react/core](../README.md) / isReactAPICall + +# Function: isReactAPICall() + +## Call Signature + +> **isReactAPICall**(`name`): [`ReturnType`](../namespaces/isCallFromReact/type-aliases/ReturnType.md) + +### Parameters + +#### name + +`string` + +### Returns + +[`ReturnType`](../namespaces/isCallFromReact/type-aliases/ReturnType.md) + +## Call Signature + +> **isReactAPICall**(`objectName`, `propertyName`): [`ReturnType`](../namespaces/isCallFromReact/type-aliases/ReturnType.md) + +### Parameters + +#### objectName + +`string` + +#### propertyName + +`string` + +### Returns + +[`ReturnType`](../namespaces/isCallFromReact/type-aliases/ReturnType.md) diff --git a/packages/core/docs/functions/isReactAPICallWithName.md b/packages/core/docs/functions/isReactAPICallWithName.md deleted file mode 100644 index 550903b37a..0000000000 --- a/packages/core/docs/functions/isReactAPICallWithName.md +++ /dev/null @@ -1,39 +0,0 @@ -[**@eslint-react/core**](../README.md) - -*** - -[@eslint-react/core](../README.md) / isReactAPICallWithName - -# Function: isReactAPICallWithName() - -## Call Signature - -> **isReactAPICallWithName**(`name`): [`ReturnType`](../namespaces/isCallFromReact/type-aliases/ReturnType.md) - -### Parameters - -#### name - -`string` - -### Returns - -[`ReturnType`](../namespaces/isCallFromReact/type-aliases/ReturnType.md) - -## Call Signature - -> **isReactAPICallWithName**(`name`, `member`): [`ReturnType`](../namespaces/isCallFromReactMember/type-aliases/ReturnType.md) - -### Parameters - -#### name - -`string` - -#### member - -`string` - -### Returns - -[`ReturnType`](../namespaces/isCallFromReactMember/type-aliases/ReturnType.md) diff --git a/packages/core/docs/functions/isReactAPIWithName.md b/packages/core/docs/functions/isReactAPIWithName.md deleted file mode 100644 index d9b5da292e..0000000000 --- a/packages/core/docs/functions/isReactAPIWithName.md +++ /dev/null @@ -1,67 +0,0 @@ -[**@eslint-react/core**](../README.md) - -*** - -[@eslint-react/core](../README.md) / isReactAPIWithName - -# Function: isReactAPIWithName() - -## Call Signature - -> **isReactAPIWithName**(`name`): (`context`, `node`) => `boolean` - -### Parameters - -#### name - -`string` - -### Returns - -`Function` - -#### Parameters - -##### context - -[`Readonly`](../-internal-/type-aliases/Readonly.md) - -##### node - -[`Identifier`](../-internal-/interfaces/Identifier.md) | [`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) - -#### Returns - -`boolean` - -## Call Signature - -> **isReactAPIWithName**(`name`, `member`): (`context`, `node`) => `boolean` - -### Parameters - -#### name - -`string` - -#### member - -`string` - -### Returns - -`Function` - -#### Parameters - -##### context - -[`Readonly`](../-internal-/type-aliases/Readonly.md) - -##### node - -[`MemberExpression`](../-internal-/type-aliases/MemberExpression.md) - -#### Returns - -`boolean` diff --git a/packages/core/docs/namespaces/isCallFromReactMember/README.md b/packages/core/docs/namespaces/isFromReact/README.md similarity index 56% rename from packages/core/docs/namespaces/isCallFromReactMember/README.md rename to packages/core/docs/namespaces/isFromReact/README.md index 93afadf1d2..a42c38f84b 100644 --- a/packages/core/docs/namespaces/isCallFromReactMember/README.md +++ b/packages/core/docs/namespaces/isFromReact/README.md @@ -2,9 +2,9 @@ *** -[@eslint-react/core](../../README.md) / isCallFromReactMember +[@eslint-react/core](../../README.md) / isFromReact -# isCallFromReactMember +# isFromReact ## Type Aliases diff --git a/packages/core/docs/namespaces/isCallFromReactMember/type-aliases/ReturnType.md b/packages/core/docs/namespaces/isFromReact/type-aliases/ReturnType.md similarity index 53% rename from packages/core/docs/namespaces/isCallFromReactMember/type-aliases/ReturnType.md rename to packages/core/docs/namespaces/isFromReact/type-aliases/ReturnType.md index c9edab5159..4c7ae90978 100644 --- a/packages/core/docs/namespaces/isCallFromReactMember/type-aliases/ReturnType.md +++ b/packages/core/docs/namespaces/isFromReact/type-aliases/ReturnType.md @@ -2,11 +2,11 @@ *** -[@eslint-react/core](../../../README.md) / [isCallFromReactMember](../README.md) / ReturnType +[@eslint-react/core](../../../README.md) / [isFromReact](../README.md) / ReturnType # Type Alias: ReturnType() -> **ReturnType**: (`context`) => (`node`) => `node is CallExpression & { callee: MemberExpression }`(`context`, `node`) => `node is CallExpression & { callee: MemberExpression }` +> **ReturnType**: (`context`) => (`node`) => node is Identifier \| MemberExpression(`context`, `node`) => node is Identifier \| MemberExpression ## Parameters @@ -26,7 +26,7 @@ ### Returns -`node is CallExpression & { callee: MemberExpression }` +node is Identifier \| MemberExpression ## Parameters @@ -40,4 +40,4 @@ ## Returns -`node is CallExpression & { callee: MemberExpression }` +node is Identifier \| MemberExpression diff --git a/packages/core/src/utils/index.ts b/packages/core/src/utils/index.ts index 81bc317ed8..ea222efa31 100644 --- a/packages/core/src/utils/index.ts +++ b/packages/core/src/utils/index.ts @@ -1,4 +1,3 @@ -export * from "./is-call-from-react"; export * from "./is-display-name-assignment"; export * from "./is-from-react"; export * from "./is-initialized-from-react"; diff --git a/packages/core/src/utils/is-call-from-react.ts b/packages/core/src/utils/is-call-from-react.ts deleted file mode 100644 index 10d34bdd70..0000000000 --- a/packages/core/src/utils/is-call-from-react.ts +++ /dev/null @@ -1,47 +0,0 @@ -import * as AST from "@eslint-react/ast"; -import { dual } from "@eslint-react/eff"; -import type { RuleContext } from "@eslint-react/shared"; -import type { TSESTree } from "@typescript-eslint/types"; -import { AST_NODE_TYPES as T } from "@typescript-eslint/types"; - -import { isFromReact, isFromReactMember } from "./is-from-react"; - -export declare namespace isCallFromReact { - type ReturnType = { - (context: RuleContext): (node: TSESTree.Node) => node is TSESTree.CallExpression; - (context: RuleContext, node: TSESTree.Node): node is TSESTree.CallExpression; - }; -} - -export function isCallFromReact(name: string): isCallFromReact.ReturnType { - return dual(2, (context: RuleContext, node: TSESTree.Node): node is TSESTree.CallExpression => { - if (node.type !== T.CallExpression) return false; - if (!AST.isOneOf([T.Identifier, T.MemberExpression])(node.callee)) return false; - return isFromReact(name)(context, node.callee); - }); -} - -export declare namespace isCallFromReactMember { - type ReturnType = { - (context: RuleContext): (node: TSESTree.Node) => node is - & TSESTree.CallExpression - & { callee: TSESTree.MemberExpression }; - (context: RuleContext, node: TSESTree.Node): node is - & TSESTree.CallExpression - & { callee: TSESTree.MemberExpression }; - }; -} - -export function isCallFromReactMember( - pragmaMemberName: string, - name: string, -): isCallFromReactMember.ReturnType { - return dual(2, (context: RuleContext, node: TSESTree.Node): node is - & TSESTree.CallExpression - & { callee: TSESTree.MemberExpression } => - { - if (node.type !== T.CallExpression) return false; - if (!AST.is(T.MemberExpression)(node.callee)) return false; - return isFromReactMember(pragmaMemberName, name)(context, node.callee); - }); -} diff --git a/packages/core/src/utils/is-from-react.ts b/packages/core/src/utils/is-from-react.ts index e282372b4c..1fcb072233 100644 --- a/packages/core/src/utils/is-from-react.ts +++ b/packages/core/src/utils/is-from-react.ts @@ -1,4 +1,4 @@ -import type { _ } from "@eslint-react/eff"; +import { type _, dual } from "@eslint-react/eff"; import type { RuleContext } from "@eslint-react/shared"; import { DEFAULT_ESLINT_REACT_SETTINGS, unsafeDecodeSettings } from "@eslint-react/shared"; import type { Scope } from "@typescript-eslint/scope-manager"; @@ -43,24 +43,62 @@ export function isFromReactStrict( } } -export function isFromReact(name: string) { - return (context: RuleContext, node: TSESTree.Identifier | TSESTree.MemberExpression) => { +/* @internal */ +export declare namespace isFromReact { + type ReturnType = { + (context: RuleContext): (node: TSESTree.Node) => node is TSESTree.Identifier | TSESTree.MemberExpression; + (context: RuleContext, node: TSESTree.Node): node is TSESTree.Identifier | TSESTree.MemberExpression; + }; +} + +/* @internal */ +export function isFromReact(name: string): isFromReact.ReturnType { + // dprint-ignore + return dual(2, (context: RuleContext, node: TSESTree.Node | _): node is TSESTree.Identifier | TSESTree.MemberExpression => { + if (node == null) return false; const { importSource = defaultImportSource, skipImportCheck = true } = unsafeDecodeSettings(context.settings); if (skipImportCheck) return isFromReactLoose(node, name); return isFromReactStrict(node, name, importSource, context.sourceCode.getScope(node)); - }; + }); } -export function isFromReactMember(memberName: string, name: string) { - return (context: RuleContext, node: TSESTree.MemberExpression) => { +/* @internal */ +export function isFromReactObject(objectName: string, propertyName: string): isFromReact.ReturnType { + // dprint-ignore + return dual(2, (context: RuleContext, node: TSESTree.Node | _): node is TSESTree.Identifier | TSESTree.MemberExpression => { + if (node?.type !== T.MemberExpression) return false; const { importSource = defaultImportSource, skipImportCheck = true } = unsafeDecodeSettings(context.settings); const { object, property } = node; - if (skipImportCheck) return isFromReactLoose(object, memberName) && isFromReactLoose(property, name); + if (skipImportCheck) return isFromReactLoose(object, objectName) && isFromReactLoose(property, propertyName); return isFromReactStrict( object, - memberName, + objectName, importSource, context.sourceCode.getScope(object), - ) && isFromReactStrict(property, name, importSource, context.sourceCode.getScope(property)); + ) && isFromReactLoose(property, propertyName); + }); +} + +/* @internal */ +export declare namespace isCallFromReact { + type ReturnType = { + (context: RuleContext): (node: TSESTree.Node) => node is TSESTree.CallExpression; + (context: RuleContext, node: TSESTree.Node): node is TSESTree.CallExpression; }; } + +/* @internal */ +export function isCallFromReact(name: string): isCallFromReact.ReturnType { + return dual(2, (context: RuleContext, node: TSESTree.Node): node is TSESTree.CallExpression => { + if (node.type !== T.CallExpression) return false; + return isFromReact(name)(context, node.callee); + }); +} + +/* @internal */ +export function isCallFromReactObject(objectName: string, propertyName: string): isCallFromReact.ReturnType { + return dual(2, (context: RuleContext, node: TSESTree.Node): node is TSESTree.CallExpression => { + if (node.type !== T.CallExpression) return false; + return isFromReactObject(objectName, propertyName)(context, node.callee); + }); +} diff --git a/packages/core/src/utils/is-react-api.ts b/packages/core/src/utils/is-react-api.ts index dedb30eaee..6fa73b1ba6 100644 --- a/packages/core/src/utils/is-react-api.ts +++ b/packages/core/src/utils/is-react-api.ts @@ -1,42 +1,44 @@ -import { isCallFromReact, isCallFromReactMember } from "./is-call-from-react"; -import { isFromReact, isFromReactMember } from "./is-from-react"; +import { isCallFromReact, isCallFromReactObject, isFromReact, isFromReactObject } from "./is-from-react"; -export function isReactAPIWithName(name: string): ReturnType; -export function isReactAPIWithName(name: string, member: string): ReturnType; -export function isReactAPIWithName(name: string, member?: string) { - return member != null - ? isFromReactMember(name, member) - : isFromReact(name); +export function isReactAPI(name: string): ReturnType; +export function isReactAPI(objectName: string, propertyName: string): ReturnType; +export function isReactAPI(arg0: string, arg1?: string) { + return arg1 == null + ? isFromReact(arg0) + : isFromReactObject(arg0, arg1); } -export function isReactAPICallWithName(name: string): ReturnType; -export function isReactAPICallWithName(name: string, member: string): ReturnType; -export function isReactAPICallWithName(name: string, member?: string) { - return member != null - ? isCallFromReactMember(name, member) - : isCallFromReact(name); +export function isReactAPICall(name: string): ReturnType; +export function isReactAPICall( + objectName: string, + propertyName: string, +): ReturnType; +export function isReactAPICall(arg0: string, arg1?: string) { + return arg1 == null + ? isCallFromReact(arg0) + : isCallFromReactObject(arg0, arg1); } -export const isChildrenCount = isReactAPIWithName("Children", "count"); -export const isChildrenForEach = isReactAPIWithName("Children", "forEach"); -export const isChildrenMap = isReactAPIWithName("Children", "map"); -export const isChildrenOnly = isReactAPIWithName("Children", "only"); -export const isChildrenToArray = isReactAPIWithName("Children", "toArray"); -export const isCloneElement = isReactAPIWithName("cloneElement"); -export const isCreateContext = isReactAPIWithName("createContext"); -export const isCreateElement = isReactAPIWithName("createElement"); -export const isCreateRef = isReactAPIWithName("createRef"); -export const isForwardRef = isReactAPIWithName("forwardRef"); -export const isMemo = isReactAPIWithName("memo"); +export const isChildrenCount = isReactAPI("Children", "count"); +export const isChildrenForEach = isReactAPI("Children", "forEach"); +export const isChildrenMap = isReactAPI("Children", "map"); +export const isChildrenOnly = isReactAPI("Children", "only"); +export const isChildrenToArray = isReactAPI("Children", "toArray"); +export const isCloneElement = isReactAPI("cloneElement"); +export const isCreateContext = isReactAPI("createContext"); +export const isCreateElement = isReactAPI("createElement"); +export const isCreateRef = isReactAPI("createRef"); +export const isForwardRef = isReactAPI("forwardRef"); +export const isMemo = isReactAPI("memo"); -export const isChildrenCountCall = isReactAPICallWithName("Children", "count"); -export const isChildrenForEachCall = isReactAPICallWithName("Children", "forEach"); -export const isChildrenMapCall = isReactAPICallWithName("Children", "map"); -export const isChildrenOnlyCall = isReactAPICallWithName("Children", "only"); -export const isChildrenToArrayCall = isReactAPICallWithName("Children", "toArray"); -export const isCloneElementCall = isReactAPICallWithName("cloneElement"); -export const isCreateContextCall = isReactAPICallWithName("createContext"); -export const isCreateElementCall = isReactAPICallWithName("createElement"); -export const isCreateRefCall = isReactAPICallWithName("createRef"); -export const isForwardRefCall = isReactAPICallWithName("forwardRef"); -export const isMemoCall = isReactAPICallWithName("memo"); +export const isChildrenCountCall = isReactAPICall("Children", "count"); +export const isChildrenForEachCall = isReactAPICall("Children", "forEach"); +export const isChildrenMapCall = isReactAPICall("Children", "map"); +export const isChildrenOnlyCall = isReactAPICall("Children", "only"); +export const isChildrenToArrayCall = isReactAPICall("Children", "toArray"); +export const isCloneElementCall = isReactAPICall("cloneElement"); +export const isCreateContextCall = isReactAPICall("createContext"); +export const isCreateElementCall = isReactAPICall("createElement"); +export const isCreateRefCall = isReactAPICall("createRef"); +export const isForwardRefCall = isReactAPICall("forwardRef"); +export const isMemoCall = isReactAPICall("memo");