# Path: graphene_django_extras/directives/base.py
# class BaseExtraGraphQLDirective(GraphQLDirective):
#     def __init__(self):
#         registry = get_global_registry()
#         super(BaseExtraGraphQLDirective, self).__init__(
#             name=self.get_name(),
#             description=self.__doc__,
#             args=self.get_args(),
#             locations=[
#                 DirectiveLocation.FIELD,
#                 DirectiveLocation.FRAGMENT_SPREAD,
#                 DirectiveLocation.INLINE_FRAGMENT,
#             ],
#         )
#         registry.register_directive(self.get_name(), self)
# 
#     @classmethod
#     def get_name(cls):
#         return to_snake_case(cls.__name__.replace("GraphQLDirective", ""))
# 
#     @staticmethod
#     def get_args():
#         return {}
# 
# Path: graphene_django_extras/utils.py
# def to_kebab_case(name):
#     s1 = re.sub("(.)([A-Z][a-z]+)", r"\1-\2", name.title().replace(" ", ""))
#     return re.sub("([a-z0-9])([A-Z])", r"\1-\2", s1).lower()


import base64
import six
from graphene.utils.str_converters import to_snake_case, to_camel_case
from graphql import GraphQLArgument, GraphQLNonNull, GraphQLString, GraphQLInt
from .base import BaseExtraGraphQLDirective
from ..utils import to_kebab_case
                GraphQLString,
                description="Value to specify the set of characters to be removed",
            )
        }

    @staticmethod
    def resolve(value, directive, root, info, **kwargs):
        chars_argument = [
            arg for arg in directive.arguments if arg.name.value == "chars"
        ]
        chars_argument = (
            chars_argument[0].value.value if len(chars_argument) > 0 else " "
        )

        value = value if isinstance(value, six.string_types) else str(value)
        return value.strip(chars_argument)


class TitleCaseGraphQLDirective(BaseExtraGraphQLDirective):
    """
    Return a titlecased version of the string where words start with an
    uppercase character and the remaining characters are lowercase.
    """

    @staticmethod
    def resolve(value, directive, root, info, **kwargs):
        value = value if isinstance(value, six.string_types) else str(value)
        return value.title()



# Path: graphene_django_extras/directives/base.py
# class BaseExtraGraphQLDirective(GraphQLDirective):
#     def __init__(self):
#         registry = get_global_registry()
#         super(BaseExtraGraphQLDirective, self).__init__(
#             name=self.get_name(),
#             description=self.__doc__,
#             args=self.get_args(),
#             locations=[
#                 DirectiveLocation.FIELD,
#                 DirectiveLocation.FRAGMENT_SPREAD,
#                 DirectiveLocation.INLINE_FRAGMENT,
#             ],
#         )
#         registry.register_directive(self.get_name(), self)
# 
#     @classmethod
#     def get_name(cls):
#         return to_snake_case(cls.__name__.replace("GraphQLDirective", ""))
# 
#     @staticmethod
#     def get_args():
#         return {}
# 
# Path: graphene_django_extras/utils.py
# def to_kebab_case(name):
#     s1 = re.sub("(.)([A-Z][a-z]+)", r"\1-\2", name.title().replace(" ", ""))
#     return re.sub("([a-z0-9])([A-Z])", r"\1-\2", s1).lower()


# Path: graphene_django_extras/directives/string.py
import base64
import six
from graphene.utils.str_converters import to_snake_case, to_camel_case
from graphql import GraphQLArgument, GraphQLNonNull, GraphQLString, GraphQLInt
from .base import BaseExtraGraphQLDirective
from ..utils import to_kebab_case

                GraphQLString,
                description="Value to specify the set of characters to be removed",
            )
        }

    @staticmethod
    def resolve(value, directive, root, info, **kwargs):
        chars_argument = [
            arg for arg in directive.arguments if arg.name.value == "chars"
        ]
        chars_argument = (
            chars_argument[0].value.value if len(chars_argument) > 0 else " "
        )

        value = value if isinstance(value, six.string_types) else str(value)
        return value.strip(chars_argument)


class TitleCaseGraphQLDirective(BaseExtraGraphQLDirective):
    """
    Return a titlecased version of the string where words start with an
    uppercase character and the remaining characters are lowercase.
    """

    @staticmethod
    def resolve(value, directive, root, info, **kwargs):
        value = value if isinstance(value, six.string_types) else str(value)
        return value.title()



class CenterGraphQLDirective(BaseExtraGraphQLDirective):