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

from functools import partial
from operator import is_not

class scalePow:
    def __init__(self, content="scalePow"):
        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, exponent=None):
        """
        Examples · Source · If exponent is specified, sets the current exponent to the given
        numeric value and returns this scale.
        .. code:: javascript

            const x = d3.scalePow([0, 100], ["red", "blue"]).exponent(2);

        If exponent is not specified, returns the current exponent, which defaults to 1.
        .. code:: javascript

            x.exponent() // 2

        If the exponent is 1, the pow scale is effectively a linear scale.

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


    def domain(self, domain=None):
        """
        Auto generated method
        """
        arguments = ", ".join(map(repr, filter(partial(is_not, None), (domain,))))
        return scalePow(content=f"{self.content}.domain({arguments})")


    def nice(self):
        """
        Auto generated method
        """
        return scalePow(content=f"{self.content}.nice()")

