dist/node/helpers/types.js
function getType(obj, opt_use) {
	if (!obj) {
		return null;
	}

	switch (opt_use) {
		case 'for':
			return 'array';

		case 'for in':
			return 'object';

		case 'for of':
			return 'iterator';

		case 'async for of':
			return 'asyncIterator';

		default:
			if (obj === Empty) {
				return null;
			}

			if (isMap(obj)) {
				return 'map';
			}

			if (isWeakMap(obj)) {
				return 'weakMap';
			}

			if (isSet(obj)) {
				return 'set';
			}

			if (isWeakSet(obj)) {
				return 'weakSet';
			}

			if (isGenerator(obj)) {
				return 'generator';
			}

			if (isLikeArray(obj)) {
				return 'array';
			}

			if (isIterator(obj)) {
				return 'iterator';
			}

			if (isIDBRequest(obj)) {
				return 'idbRequest';
			}

			if (isStream(obj)) {
				return 'stream';
			}
	}

	return 'object';
}
function getType(obj, opt_use) {
	if (!obj) {
		return null;
	}

	switch (opt_use) {
		case 'for':
			return 'array';

		case 'for in':
			return 'object';

		case 'for of':
			return 'iterator';

		case 'async for of':
			return 'asyncIterator';

		default:
			if (obj === Empty) {
				return null;
			}

			if (isMap(obj)) {
				return 'map';
			}

			if (isWeakMap(obj)) {
				return 'weakMap';
			}

			if (isSet(obj)) {
				return 'set';
			}

			if (isWeakSet(obj)) {
				return 'weakSet';
			}

			if (isGenerator(obj)) {
				return 'generator';
			}

			if (isLikeArray(obj)) {
				return 'array';
			}

			if (isIterator(obj)) {
				return 'iterator';
			}

			if (isIDBRequest(obj)) {
				return 'idbRequest';
			}

			if (isStream(obj)) {
				return 'stream';
			}
	}

	return 'object';
}
function getType ( obj , opt_use ) { if ( ! obj ) { return null ; } switch ( opt_use ) { case 'for' : return 'array' ; case 'for in' : return 'object' ; case 'for of' : return 'iterator' ; case 'async for of' : return 'asyncIterator' ; default : if ( obj === Empty ) { return null ; } if ( isMap ( obj ) ) { return 'map' ; } if ( isWeakMap ( obj ) ) { return 'weakMap' ; } if ( isSet ( obj ) ) { return 'set' ; } if ( isWeakSet ( obj ) ) { return 'weakSet' ; } if ( isGenerator ( obj ) ) { return 'generator' ; } if ( isLikeArray ( obj ) ) { return 'array' ; } if ( isIterator ( obj ) ) { return 'iterator' ; } if ( isIDBRequest ( obj ) ) { return 'idbRequest' ; } if ( isStream ( obj ) ) { return 'stream' ; } } return 'object' ; }
Returns the current type of an object

@param {Object} obj - source object
@param {?string=} [opt_use] - cycle type for iteration: for, for in, for of, async for of
@return {?string}
Returns the current type of an object