function set( viewer ) {
	/* eslint-disable no-invalid-this */
	if ( indexOf( VIEWERS, viewer ) === -1 ) {
		throw new TypeError( format( 'invalid assignment. Unrecognized/unsupported `%s`. Value: `%s`.', 'viewer', viewer ) );
	}
	if ( viewer !== this._viewer ) {
		debug( 'Current value: %s.', this._viewer );

		this._viewer = viewer;
		debug( 'New value: %s.', this._viewer );

		this.emit( 'change' );
	}
}
Sets the viewer.

@private
@param {string} viewer - viewer
@throws {TypeError} must be a recognized viewer