function objectMode( options ) {
	var opts;
	if ( arguments.length ) {
		if ( !isObject( options ) ) {
			throw new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );
		}
		opts = assign( {}, options );
	} else {
		opts = {};
	}
	opts.objectMode = true;
	return new Stream( opts );
}
Returns a join stream with `objectMode` set to `true`.

@param {Options} [options] - stream options
@param {string} [options.sep='\n'] - separator used to join streamed data
@param {(string|null)} [options.encoding=null] - specifies how `Buffer` objects should be decoded to `strings`
@param {NonNegativeNumber} [options.highWaterMark] - specifies the `Buffer` level for when `write()` starts returning `false`
@param {boolean} [options.allowHalfOpen=false] - specifies whether the stream should remain open even if one side ends
@param {boolean} [options.readableObjectMode=false] - specifies whether the readable side should be in object mode
@throws {TypeError} options argument must be an object
@throws {TypeError} must provide valid options
@returns {JoinStream} join stream

@example
var inspectStream = require( '@stdlib/streams/node/inspect-sink' );

function log( chunk ) {
    console.log( chunk.toString() );
}

var stream = objectMode({
    'sep': ','
});

stream.pipe( inspectStream( log ) );

stream.write( 'a' );
stream.write( 'b' );
stream.write( 'c' );

stream.end();

// prints: 'a,b,c'