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

from functools import partial
from operator import is_not

class lineRadial:
    def __init__(self, content="lineRadial"):
        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 line.x, except the accessor returns the angle in radians, with 0
        at -y (12 o’clock).
        .. code:: javascript

            const line = d3.lineRadial().angle((d) => a(d.Date));


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


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

            const line = d3.lineRadial().radius((d) => r(d.temperature));


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


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

            const line = d3.lineRadial().defined((d) => !isNaN(d.temperature));


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


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

            const line = d3.lineRadial().curve(d3.curveBasis);


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


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

            const context = canvas.getContext("2d");
            const line = d3.lineRadial().context(context);


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

