Example #1
0
        internal static IEnumerable<JValue> FlatArray(JValue val)
        {
            if (val == null)
                yield break;

            if (val.Type != TokenType.Array)
            {
                yield return val;
                yield break;
            }

            foreach (var item in ((JArray)val).Items)
            {
                foreach (var innerItem in FlatArray(item)) //HACK: remove recursion
                {
                    yield return innerItem;
                }
            }
        }
Example #2
0
        internal static ICfgNode CreateByJsonValue(JValue val)
        {
            if (val == null)
                return null;

            switch (val.Type)
            {
                case TokenType.Null:
                    return new ViewPlainField(null);

                case TokenType.Object:
                    return new ViewObject((JObject)val);

                case TokenType.String:
                case TokenType.Boolean:
                case TokenType.Number:
                    return new ViewPlainField(val.ToString());

                default:
                    throw new NotSupportedException(string.Format("JSON type {0} not supported", val.Type));
            }
        }