function checkVarRenaming(variable) {
	// variable.defs[0].node.id.type === Syntax.ObjectPattern -> Renaming
	// variable.defs[0].node.id.properties[0].key.name === variable.name; // Original
	// variable.defs[0].node.id.properties[0].value.name === variable.name; // Renamed

	// If variable.defs (Variable definitions within the source code) are more 1, then we'd not be able to
	// determine which defintion to use. For example:
	//  function doSomething({a}, b) {
	//		console.log(a);
	//		var { c : a } = { b };
	//		console.log(a);
	//  }
	//  doSomething({a:42}, 5);
	//
	// So, we'd not able to analyze which "a" to which console.log to map
	if (
		!variable
		|| !variable.defs
		|| variable.defs.length !== 1
	) {
		return null;
	}

	const varDefinition = variable.defs[0];
	const defNode = getFuncArgumentDestructNode(varDefinition) // (arrow) function argument
		|| varDefinition.node.id; // variable definition

	return resolveObjectPatternChain(defNode, null, []).find(
		({ original, renamed }) =>
			renamed === variable.name || original === variable.name
	);
}
Checks whether a var has been renamed while destructuring i.e. {A: b} = SomeObject

@param {Variable} variable
@returns {Object}