isRecursiveDestructuringAccess = (node, property) =>
	node.parent.type === 'VariableDeclarator'
	&& node.parent.init === node
	&& node.parent.id.type === 'ObjectPattern'
	&& node.parent.id.properties.some(declaratorProperty =>
		declaratorProperty.type === 'Property'
		&& !declaratorProperty.computed
		&& isSameKey(declaratorProperty.key, property.key),
	)
Check if `this` is accessed recursively within a destructuring assignment.

@param {import('estree').ThisExpression} node
@param {import('estree').Property | import('estree').MethodDefinition} property