public static ISymbolModel GetModelForObject(JObject jObject) { switch (jObject.ToString(nameof(ISymbolModel.Type))) { case "parameter": return(ParameterSymbol.FromJObject(jObject)); case "computed": return(ComputedSymbol.FromJObject(jObject)); case "generated": return(GeneratedSymbol.FromJObject(jObject)); default: return(null); } }
// Note: Only ParameterSymbol has a Description property, this it's the only one that gets localization // TODO: change how localization gets merged in, don't do it here. public static ISymbolModel GetModelForObject(JObject jObject, IParameterSymbolLocalizationModel localization, string defaultOverride) { switch (jObject.ToString(nameof(ISymbolModel.Type))) { case ParameterSymbol.TypeName: return(ParameterSymbol.FromJObject(jObject, localization, defaultOverride)); case ComputedSymbol.TypeName: return(ComputedSymbol.FromJObject(jObject)); case BindSymbolTypeName: case GeneratedSymbol.TypeName: return(GeneratedSymbol.FromJObject(jObject)); default: return(null); } }