public static string GetOpenApiReferenceId()

in src/Microsoft.Azure.WebJobs.Extensions.OpenApi.Core/Extensions/TypeExtensions.cs [396:421]


        public static string GetOpenApiReferenceId(this Type type, bool isDictionary, bool isList, NamingStrategy namingStrategy = null)
        {
            if (namingStrategy.IsNullOrDefault())
            {
                namingStrategy = new DefaultNamingStrategy();
            }

            if (isDictionary)
            {
                var name = type.Name.EndsWith("[]") ? "Dictionary_" + type.GetOpenApiSubTypeName(namingStrategy) : type.Name.Split('`').First() + "_" + type.GetOpenApiSubTypeName(namingStrategy);
                return namingStrategy.GetPropertyName(name, hasSpecifiedName: false);
            }
            if (isList)
            {
                var name = type.Name.EndsWith("[]") ? "List_" + type.GetOpenApiSubTypeName(namingStrategy) : type.Name.Split('`').First() + "_" + type.GetOpenApiSubTypeName(namingStrategy);
                return namingStrategy.GetPropertyName(name, hasSpecifiedName: false);
            }

            if (type.IsGenericType)
            {
                return namingStrategy.GetPropertyName(type.Name.Split('`').First(), false) + "_" +
                       string.Join("_", type.GenericTypeArguments.Select(a => namingStrategy.GetPropertyName(a.Name, false)));
            }

            return namingStrategy.GetPropertyName(type.Name, hasSpecifiedName: false);
        }