function object() {
	var obj = {};
	var key;

	if ( ch === '{' ) {
		goNext( '{' );
		white();
		if ( ch === '.' ) {
			// Encountered object placeholder `{...}`:
			goNext( '.' );
			goNext( '.' );
			goNext( '.' );
			goNext( '}' );
			return '<Object>';
		}
		if ( ch === '}' ) {
			goNext( '}' );
			return obj;   // empty object
		}
		while ( ch ) {
			key = objectKey();
			white();
			goNext( ':' );
			if ( Object.hasOwnProperty.call( obj, key ) ) {
				error( 'Duplicate key `' + key + '`' );
			}
			obj[ key ] = value();
			white();
			if ( ch === '}' ) {
				goNext( '}' );
				return obj;
			}
			goNext( ',' );
			white();
		}
	}
	error( 'Bad object' );
}
Parses an object value.

@private
@returns {Object} parsed object