AzureFunctions.Code.TemplatesManager.AddReferencesContent C# (CSharp) Method

AddReferencesContent() private method

private AddReferencesContent ( Newtonsoft.Json.Linq.JObject jo, string runtimeForlder ) : Newtonsoft.Json.Linq.JObject
jo Newtonsoft.Json.Linq.JObject
runtimeForlder string
return Newtonsoft.Json.Linq.JObject
        private JObject AddReferencesContent(JObject jo, string runtimeForlder)
        {
            foreach (var x in jo)
            {
                string name = x.Key;

                JToken value = x.Value;
                var obj = value.ToObject<object>();

                if (obj is String)
                {
                    string file = obj.ToString();
                    if (file.StartsWith("$content="))
                    {
                        file = Path.Combine(runtimeForlder, file.Replace("$content=", ""));
                        if (File.Exists(file))
                        {
                            var content = File.ReadAllText(file);
                            jo[name] = content;
                        }
                    }
                }
                else if (obj is JObject)
                {
                    AddReferencesContent((JObject)obj, runtimeForlder);
                }
                else if (obj is JArray)
                {
                    foreach (var arrayItem in (JArray)obj)
                    {
                        if (arrayItem is JObject)
                        {
                            AddReferencesContent(arrayItem.Value<JObject>(), runtimeForlder);
                        }
                    }
                    jo[name] = (JArray)obj;
                }
            }

            return jo;
        }
    }