function getGlobalObject(definition) {
	if (!definition) return definition;
	const trimmed = definition.trim();

	if (
		// identifier, we do not need real identifier regarding ECMAScript/Unicode
		/^[_\p{L}][_0-9\p{L}]*$/iu.test(trimmed) ||
		// iife
		// call expression
		// expression in parentheses
		/^([_\p{L}][_0-9\p{L}]*)?\(.*\)$/iu.test(trimmed)
	)
		return trimmed;

	return `Object(${trimmed})`;
}
@param {string | undefined} definition global object definition
@returns {string | undefined} save to use global object