uses
  dstrings,
  dnodevalue;

var
  NodeManager: TNodeManagerStatic;
  Arr: PNodeArray;
  Val: PNodeValue;
  I: LongInt;
  Obj: PNodeObject;

procedure Test;
begin
  Writeln(NodeEmptyObject^.Get('x', 5));
  Writeln(NodeEmptyObject^.Get('x', 0.5));
  Writeln(NodeEmptyObject^.Get('x', 'no string found').ToString);
  Writeln(NodeEmptyObject^.Get('x', True));
  Writeln(PtrUInt(NodeEmptyObject^.Get('x', NodeEmptyArray)));
  Writeln(PtrUInt(NodeEmptyObject^.Get('x', NodeEmptyObject)));
  Writeln(PtrUInt(NodeEmptyObject^.Get('x', NodeEmptyList)));
end;

begin
  NodeManager.Init;

  Test;

  NodeManager.Done;
end.
