public static string GraphQLTypeName()

in src/Epam.GraphQL/Extensions/TypeExtensions.cs [83:108]


        public static string GraphQLTypeName(this Type type, bool isInput)
        {
            var prefix = isInput ? "Input" : string.Empty;

            if (_typeNameMap.TryGetValue(type, out var result))
            {
                return $"{prefix}{result.CapitalizeFirstLetter()}";
            }

            if (type != typeof(string) && type.IsEnumerableType())
            {
                var elementTypeName = type.GetEnumerableElementType().GraphQLTypeName(false);
                return $"{prefix}ListOf{elementTypeName}";
            }

            var typeName = type.IsAnonymousType()
                ? "AnonymousType"
                : SanitizeTypeName(type.GetTypeName());

            if (type.IsGenericType)
            {
                return $"{prefix}{typeName}Of{string.Join("And", type.GetGenericArguments().Select(t => t.GraphQLTypeName(false)))}";
            }

            return $"{prefix}{typeName}";
        }