public TypescriptType GetTypeFor(Type type, TypescriptModel model) { if (model.knownTypes.ContainsKey(type)) { return(model.knownTypes[type]); } else { var newClass = new TypescriptClass { Name = NameWithoutGeneric(type) }; model.knownTypes.Add(type, newClass.ToTypescriptType()); newClass.BaseClass = GetBaseClassFor(type.BaseType, model); newClass.Content = new TypescriptClassContentList(GetClassContent(type, model)); newClass.GenricTypeParameters = TypescriptTypeCreatorBase.GetGenericTypeParametersFor(type); return(newClass.ToTypescriptType()); } }
public static TypescriptType ClassTypeToTypescriptClass(this Type type, ITypescriptTypeCreator typeCreator, TypescriptModel model) { // TODO Check if type is indeed a class.. if (model.knownTypes.ContainsKey(type)) { return(model.knownTypes[type]); } else { var newClass = new TypescriptClass { Name = type.NameWithoutGeneric() }; model.knownTypes.Add(type, newClass.ToTypescriptType()); newClass.BaseClass = type.BaseType.ToTypescriptBaseClass(model); newClass.Content = type.GetTypescriptProperties(typeCreator, model).ToClassContent(); newClass.GenricTypeParameters = TypescriptTypeCreatorBase.GetGenericTypeParametersFor(type); return(newClass.ToTypescriptType()); } }