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

from functools import partial
from operator import is_not

class easeElasticInOut:
    def __init__(self, content="easeElasticInOut"):
        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 amplitude(self, a=None):
        """
        Amplitude:1.00
        Returns a new elastic easing with the specified amplitude a. The amplitude a must be
        greater than or equal to 1.
        Period:0.30
        Returns a new elastic easing with the specified period p.

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


    def period(self, p=None):
        """
        Period:0.30
        Returns a new elastic easing with the specified period p.

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

