コード例 #1
0
        public static string ToTypescript(this GenericNameSyntax syntaxItem)
        {
            if (syntaxItem.Identifier.Text == "Dictionary")
            {
                return(syntaxItem.TypeArgumentList.ToTypescript(true));
            }

            if (syntaxItem.Identifier.Text == "List")
            {
                return(syntaxItem.TypeArgumentList.ToTypescript() + "[]");
            }

            if (syntaxItem.Identifier.Text == "Expression")
            {
                return("any");
            }

            if (syntaxItem.IsSpecifiedKnownType())
            {
                return("any");
            }

            if (syntaxItem.IsKnownType())
            {
                return($"{syntaxItem.Identifier.Text}<{syntaxItem.TypeArgumentList.ToTypescript()}>");
            }

            if (syntaxItem.IsExcluded())
            {
                return("any");
            }

            Log.Warn($"unknown Generic: {syntaxItem} mapped to any");
            return("any");
        }