# Generated by detroit
# See https://github.com/bourbonut/detroit/tree/main/api_maker

from functools import partial
from operator import is_not

class areaRadial:
    def __init__(self, content="areaRadial"):
        self.content = content

    def __repr__(self):
        return self.content

    def __str__(self):
        return self.content

    def __call__(self, *args):
        arguments = ", ".join(map(repr, args))
        return f"{self}({arguments})"

    def angle(self, angle=None):
        """
        Source · Equivalent to area.x, except the accessor returns the angle in radians, with 0
        at -y (12 o’clock).
        .. code:: javascript

            const area = d3.areaRadial().angle((d) => a(d.Date));


        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_angle>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (angle,))))
        return areaRadial(content=f"{self.content}.angle({arguments})")


    def startAngle(self, angle=None):
        """
        Source · Equivalent to area.x0, except the accessor returns the angle in radians, with
        0 at -y (12 o’clock). Note: typically angle is used instead of setting separate start
        and end angles.

        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_startAngle>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (angle,))))
        return areaRadial(content=f"{self.content}.startAngle({arguments})")


    def endAngle(self, angle=None):
        """
        Source · Equivalent to area.x1, except the accessor returns the angle in radians, with
        0 at -y (12 o’clock). Note: typically angle is used instead of setting separate start
        and end angles.

        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_endAngle>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (angle,))))
        return areaRadial(content=f"{self.content}.endAngle({arguments})")


    def radius(self, radius=None):
        """
        Source · Equivalent to area.y, except the accessor returns the radius: the distance
        from the origin.
        .. code:: javascript

            const area = d3.areaRadial().radius((d) => r(d.temperature));


        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_radius>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (radius,))))
        return areaRadial(content=f"{self.content}.radius({arguments})")


    def innerRadius(self, radius=None):
        """
        Source · Equivalent to area.y0, except the accessor returns the radius: the distance
        from the origin.
        .. code:: javascript

            const area = d3.areaRadial().radius((d) => r(d.low));


        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_innerRadius>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (radius,))))
        return areaRadial(content=f"{self.content}.innerRadius({arguments})")


    def outerRadius(self, radius=None):
        """
        Source · Equivalent to area.y1, except the accessor returns the radius: the distance
        from the origin.
        .. code:: javascript

            const area = d3.areaRadial().radius((d) => r(d.high));


        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_outerRadius>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (radius,))))
        return areaRadial(content=f"{self.content}.outerRadius({arguments})")


    def defined(self, defined=None):
        """
        Source · Equivalent to area.defined.
        .. code:: javascript

            const area = d3.areaRadial().defined((d) => !isNaN(d.temperature));


        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_defined>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (defined,))))
        return areaRadial(content=f"{self.content}.defined({arguments})")


    def curve(self, curve=None):
        """
        Source · Equivalent to area.curve. Note that curveMonotoneX or curveMonotoneY are not
        recommended for radial areas because they assume that the data is monotonic in x or y,
        which is typically untrue of radial areas.
        .. code:: javascript

            const area = d3.areaRadial().curve(d3.curveBasisClosed);


        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_curve>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (curve,))))
        return areaRadial(content=f"{self.content}.curve({arguments})")


    def context(self, context=None):
        """
        Source · Equivalent to area.context.
        .. code:: javascript

            const context = canvas.getContext("2d");
            const area = d3.areaRadial().context(context);


        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_context>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (context,))))
        return areaRadial(content=f"{self.content}.context({arguments})")


    def lineStartAngle(self):
        """
        Source · Returns a new radial line generator that has this radial area generator’s
        current defined accessor, curve and context. The line’s angle accessor is this area’s
        start angle accessor, and the line’s radius accessor is this area’s inner radius
        accessor.

        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_lineStartAngle>`_.
        """
        return areaRadial(content=f"{self.content}.lineStartAngle()")


    def lineInnerRadius(self):
        """
        An alias for areaRadial.lineStartAngle.

        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_lineInnerRadius>`_.
        """
        return areaRadial(content=f"{self.content}.lineInnerRadius()")


    def lineEndAngle(self):
        """
        Source · Returns a new radial line generator that has this radial area generator’s
        current defined accessor, curve and context. The line’s angle accessor is this area’s
        end angle accessor, and the line’s radius accessor is this area’s inner radius
        accessor.

        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_lineEndAngle>`_.
        """
        return areaRadial(content=f"{self.content}.lineEndAngle()")


    def lineOuterRadius(self):
        """
        Source · Returns a new radial line generator that has this radial area generator’s
        current defined accessor, curve and context. The line’s angle accessor is this area’s
        start angle accessor, and the line’s radius accessor is this area’s outer radius
        accessor.

        See more informations `here <https://d3js.org/d3-shape/radial-area#areaRadial_lineOuterRadius>`_.
        """
        return areaRadial(content=f"{self.content}.lineOuterRadius()")

