Esempio n. 1
0
 protected override void AddNode(INode node, bool named, Action <INode> modify)
 {
     if (node is JsonNode)
     {
         Element.Insert(((JsonNode)node).Element);
     }
     else
     {
         new JsonNode(named && !NodeType.IsArray() ?
                      Element.AddMember(node.Name, GetElementType(node.NodeType)) :
                      Element.AddArrayElement(GetElementType(node.NodeType)), this).Configure(modify);
     }
 }
Esempio n. 2
0
        public virtual void Add(INode node, Action <INode> modify)
        {
            if (NodeType.IsValue())
            {
                throw new ChildrenNotSupportedException();
            }
            var named = node.IsNamed && !(node.HasParent && node.Parent.IsObject() && NodeType.IsArray());

            if (!named && NodeType.IsObject())
            {
                throw new UnnamedChildrenNotSupportedException();
            }
            AddNode(node, named, modify);
        }