private InterfaceImpl(IInterfaceMetadata metadata, Item parent) { _metadata = metadata; Parent = parent; }
private InterfaceImpl(IInterfaceMetadata metadata, Item parent) { _metadata = metadata; Parent = parent; }
public static Interface FromMetadata(IInterfaceMetadata metadata, Object parent) { return(metadata == null ? null : new InterfaceImpl(metadata, parent)); }
private InterfaceImpl(IInterfaceMetadata metadata, Object parent) { _metadata = metadata; Parent = parent; }
private InterfaceImpl(IInterfaceMetadata metadata, Item parent) { this.metadata = metadata; this.Parent = parent; }
private InterfaceImpl(IInterfaceMetadata metadata, Item parent) { this.metadata = metadata; this.Parent = parent; }
public static string GetTypeScriptName(ITypeMetadata metadata) { if (metadata == null) { return("any"); } if (metadata.IsEnumerable) { List <ITypeMetadata> typeArguments = metadata.TypeArguments.ToList(); if (typeArguments.Count == 0) { if (metadata.BaseClass != null && metadata.BaseClass.IsGeneric) { typeArguments = metadata.BaseClass.TypeArguments.ToList(); } else { IInterfaceMetadata genericInterface = metadata.Interfaces.FirstOrDefault(i => i.IsGeneric); if (genericInterface != null) { typeArguments = genericInterface.TypeArguments.ToList(); } } if (typeArguments.Any(t => t.FullName == metadata.FullName)) { return("any[]"); } } if (typeArguments.Count == 1) { return(GetTypeScriptName(typeArguments.FirstOrDefault()) + "[]"); } if (typeArguments.Count == 2) { string key = GetTypeScriptName(typeArguments[0]); string value = GetTypeScriptName(typeArguments[1]); return(string.Concat("{ [key: ", key, "]: ", value, "; }")); } return("any[]"); } if (metadata.IsValueTuple) { string types = string.Join(", ", metadata.TupleElements.Select(p => $"{p.Name}: {GetTypeScriptName(p.Type)}")); return($"{{ {types} }}"); } if (metadata.IsGeneric) { return(metadata.Name + string.Concat("<", string.Join(", ", metadata.TypeArguments.Select(GetTypeScriptName)), ">")); } string fullName = metadata.IsNullable ? metadata.FullName.TrimEnd('?') : metadata.FullName; return(ExtractTypeScriptName(metadata)); }