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

from functools import partial
from operator import is_not

class easePoly:
    def __init__(self, content="easePoly"):
        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 exponent(self, e=None):
        """
        Exponent:2.00
        Returns a new polynomial easing with the specified exponent e. For example, to create
        equivalents of easeLinear, easeQuad, and easeCubic:
        .. code:: javascript

            const linear = d3.easePoly.exponent(1);
            const quad = d3.easePoly.exponent(2);
            const cubic = d3.easePoly.exponent(3);


        See more informations `here <https://d3js.org/d3-ease#easePoly_exponent>`_.
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (e,))))
        return easePoly(content=f"{self.content}.exponent({arguments})")

