private TypeScriptObjectType GetProcessType(Type type, ProcessingCategory category) { var info = type.GetCustomAttribute <TypeScriptObjectAttribute>(); if (info == null || info.Type == TypeScriptObjectType.Default) { switch (category) { case ProcessingCategory.Enum: return(TypeScriptObjectType.Enum); case ProcessingCategory.Object: return(TypeScriptObjectType.Class); case ProcessingCategory.Interface: return(TypeScriptObjectType.Interface); default: return(TypeScriptObjectType.Default); } } else { return(info.Type); } }
public static ProcessConfig GetProcessConfig(ProcessingCategory category) { return(new ProcessConfig() { OutputType = Parse(category) }); }
private Type GetActualType(Type type, ProcessingCategory category, bool nullable) { if (category == ProcessingCategory.Primitive && nullable && type.IsGenericType) { return(type.GenericTypeArguments.First()); } return(type); }
public static OutputType Parse(ProcessingCategory category) { switch (category) { case ProcessingCategory.Enum: return(OutputType.Enum); case ProcessingCategory.Object: return(OutputType.Class); case ProcessingCategory.Interface: return(OutputType.Interface); default: return(OutputType.None); } }