public static ISymbolModel FromJObject(JObject jObject, IParameterSymbolLocalizationModel localization, string defaultOverride) { DerivedSymbol symbol = FromJObject <DerivedSymbol>(jObject, localization, defaultOverride); symbol.ValueTransform = jObject.ToString(nameof(ValueTransform)); symbol.ValueSource = jObject.ToString(nameof(ValueSource)); return(symbol); }
// 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 DerivedSymbol.TypeName: return(DerivedSymbol.FromJObject(jObject, localization, defaultOverride)); case ComputedSymbol.TypeName: return(ComputedSymbol.FromJObject(jObject)); case BindSymbolTypeName: case GeneratedSymbol.TypeName: return(GeneratedSymbol.FromJObject(jObject)); default: return(null); } }