PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/p/onbloc/json/v0

Package
Open in gnoweb ↗

Overview

Kind
Pure package
Name
v0
Namespace
onbloc / json
Files
24 (README)(gnomod.toml)
Exported functions
n/a — not supported for pure packages by the node (vm/qfuncs)
Module
gno.land/p/onbloc/json/v0
gno
0.9

Files (24)

  • README.mdmarkdown
  • gnomod.tomltoml
  • buffer.gnogno
  • builder.gnogno
  • decode.gnogno
  • encode.gnogno
  • errors.gnogno
  • escape.gnogno
  • indent.gnogno
  • internal.gnogno
  • node.gnogno
  • parser.gnogno
  • path.gnogno
  • token.gnogno
  • buffer_test.gnogno
  • builder_test.gnogno
  • decode_test.gnogno
  • encode_test.gnogno
  • escape_test.gnogno
  • indent_test.gnogno
  • node_test.gnogno
  • parser_test.gnogno
  • path_test.gnogno
  • LICENSEother
  • builder_test.gnogno
    1package json23import (4	"testing"5)67func TestNodeBuilder(t *testing.T) {8	tests := []struct {9		name     string10		build    func() *Node11		expected string12	}{13		{14			name: "plain object",15			build: func() *Node {16				return Builder().17					WriteString("name", "Alice").18					WriteNumber("age", 30).19					WriteBool("is_student", false).20					Node()21			},22			expected: `{"name":"Alice","age":30,"is_student":false}`,23		},24		{25			name: "nested object",26			build: func() *Node {27				return Builder().28					WriteString("name", "Alice").29					WriteObject("address", func(b *NodeBuilder) {30						b.WriteString("city", "New York").31							WriteNumber("zipcode", 10001)32					}).33					Node()34			},35			expected: `{"name":"Alice","address":{"city":"New York","zipcode":10001}}`,36		},37		{38			name: "null node",39			build: func() *Node {40				return Builder().WriteNull("foo").Node()41			},42			expected: `{"foo":null}`,43		},44		{45			name: "array node",46			build: func() *Node {47				return Builder().48					WriteArray("items", func(ab *ArrayBuilder) {49						ab.WriteString("item1").50							WriteString("item2").51							WriteString("item3")52					}).53					Node()54			},55			expected: `{"items":["item1","item2","item3"]}`,56		},57		{58			name: "array with objects",59			build: func() *Node {60				return Builder().61					WriteArray("users", func(ab *ArrayBuilder) {62						ab.WriteObject(func(b *NodeBuilder) {63							b.WriteString("name", "Bob").64								WriteNumber("age", 25)65						}).66							WriteObject(func(b *NodeBuilder) {67								b.WriteString("name", "Carol").68									WriteNumber("age", 27)69							})70					}).71					Node()72			},73			expected: `{"users":[{"name":"Bob","age":25},{"name":"Carol","age":27}]}`,74		},75		{76			name: "array with various types",77			build: func() *Node {78				return Builder().79					WriteArray("values", func(ab *ArrayBuilder) {80						ab.WriteString("item1").81							WriteNumber(123).82							WriteBool(true).83							WriteNull()84					}).85					Node()86			},87			expected: `{"values":["item1",123,true,null]}`,88		},89	}9091	for _, tt := range tests {92		t.Run(tt.name, func(t *testing.T) {93			node := tt.build()94			value, err := Marshal(node)95			if err != nil {96				t.Errorf("unexpected error: %s", err)97			}98			if string(value) != tt.expected {99				t.Errorf("expected %s, got %s", tt.expected, string(value))100			}101		})102	}103}104

    Functions

    not supported for pure packages by the node (vm/qfuncs)

    Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.