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); } }
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); }