projection (projection) {
        if (!arguments.length) {
            return this._projection;
        }

        this._projection = projection;
        this._projectionFlag = true;
        return this;
    }
Gets or sets a custom geo projection function. See the available
{@link https://github.com/d3/d3-geo/blob/master/README.md#projections d3 geo projection functions}.

Starting version 3.0 it has been deprecated to rely on the default projection being
{@link https://github.com/d3/d3-geo/blob/master/README.md#geoAlbersUsa d3.geoAlbersUsa()}. Please
set it explicitly. {@link https://bl.ocks.org/mbostock/5557726
Considering that `null` is also a valid value for projection}, if you need
projection to be `null` please set it explicitly to `null`.
@see {@link https://github.com/d3/d3-geo/blob/master/README.md#projections d3.projection}
@see {@link https://github.com/d3/d3-geo-projection d3-geo-projection}
@param {d3.projection} [projection=d3.geoAlbersUsa()]
@returns {d3.projection|GeoChoroplethChart}