protected string ResolveType(string type) { var ea = new ResolveTypeNameEventArgs(type); ResolveTypeName?.Invoke(this, ea); return(ea.Result); }
/// <summary> /// Formats a generic type /// </summary> /// <param name="tsGenericType">The generic type</param> /// <returns>The string representation of the generic type</returns> public virtual string Format(TsGenericType tsGenericType) { return ($"{ResolveTypeName(tsGenericType.Name, tsGenericType.IsExternallyDefined)}{(tsGenericType.TypeArguments.Count > 0 ? $"<{string.Join(", ", tsGenericType.TypeArguments.Select(Format))}>" : string.Empty)}"); }
/// <summary> /// Formats a type parameter /// </summary> /// <param name="typeParameter">The type parameter</param> /// <returns>The string representation of the type parameter</returns> public virtual string Format(TsTypeParameter typeParameter) { return($"{ResolveTypeName(typeParameter.Name, typeParameter.IsExternallyDefined)}{(typeParameter.Extends == null ? string.Empty : $" extends {ResolveTypeName(typeParameter.Extends, typeParameter.IsExternallyDefined)}")}"); }