1// PKGPATH: gno.land/r/test
2package test
3
4import (
5 "gno.land/p/demo/avl"
6)
7
8var node *avl.Node
9
10func init() {
11 node = avl.NewNode("key0", "value0")
12 node, _ = node.Set("key1", "value1")
13}
14
15func main() {
16 var updated bool
17 node, updated = node.Set("key2", "value2")
18 // println(node, updated)
19 println(updated, node.Size())
20}
21
22// Output:
23// false 3
24
25// Realm:
26// switchrealm["gno.land/r/test"]
27// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:15]={
28// "Fields": [
29// {
30// "T": {
31// "@type": "/gno.PrimitiveType",
32// "value": "16"
33// },
34// "V": {
35// "@type": "/gno.StringValue",
36// "value": "key2"
37// }
38// },
39// {
40// "T": {
41// "@type": "/gno.PrimitiveType",
42// "value": "16"
43// },
44// "V": {
45// "@type": "/gno.StringValue",
46// "value": "value2"
47// }
48// },
49// {
50// "T": {
51// "@type": "/gno.PrimitiveType",
52// "value": "64"
53// }
54// },
55// {
56// "N": "AQAAAAAAAAA=",
57// "T": {
58// "@type": "/gno.PrimitiveType",
59// "value": "32"
60// }
61// },
62// {
63// "T": {
64// "@type": "/gno.PointerType",
65// "Elt": {
66// "@type": "/gno.RefType",
67// "ID": "gno.land/p/demo/avl.Node"
68// }
69// }
70// },
71// {
72// "T": {
73// "@type": "/gno.PointerType",
74// "Elt": {
75// "@type": "/gno.RefType",
76// "ID": "gno.land/p/demo/avl.Node"
77// }
78// }
79// }
80// ],
81// "ObjectInfo": {
82// "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:15",
83// "ModTime": "0",
84// "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:14",
85// "RefCount": "1"
86// }
87// }
88// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:14]={
89// "ObjectInfo": {
90// "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:14",
91// "ModTime": "0",
92// "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:13",
93// "RefCount": "1"
94// },
95// "Value": {
96// "T": {
97// "@type": "/gno.RefType",
98// "ID": "gno.land/p/demo/avl.Node"
99// },
100// "V": {
101// "@type": "/gno.RefValue",
102// "Hash": "143aebc820da33550f7338723fb1e2eec575b196",
103// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:15"
104// }
105// }
106// }
107// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:13]={
108// "Fields": [
109// {
110// "T": {
111// "@type": "/gno.PrimitiveType",
112// "value": "16"
113// },
114// "V": {
115// "@type": "/gno.StringValue",
116// "value": "key2"
117// }
118// },
119// {},
120// {
121// "N": "AQAAAAAAAAA=",
122// "T": {
123// "@type": "/gno.PrimitiveType",
124// "value": "64"
125// }
126// },
127// {
128// "N": "AgAAAAAAAAA=",
129// "T": {
130// "@type": "/gno.PrimitiveType",
131// "value": "32"
132// }
133// },
134// {
135// "T": {
136// "@type": "/gno.PointerType",
137// "Elt": {
138// "@type": "/gno.RefType",
139// "ID": "gno.land/p/demo/avl.Node"
140// }
141// },
142// "V": {
143// "@type": "/gno.PointerValue",
144// "Base": {
145// "@type": "/gno.RefValue",
146// "Hash": "2f3adc5d0f2a3fe0331cfa93572a7abdde14c9aa",
147// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:8"
148// },
149// "Index": "0",
150// "TV": null
151// }
152// },
153// {
154// "T": {
155// "@type": "/gno.PointerType",
156// "Elt": {
157// "@type": "/gno.RefType",
158// "ID": "gno.land/p/demo/avl.Node"
159// }
160// },
161// "V": {
162// "@type": "/gno.PointerValue",
163// "Base": {
164// "@type": "/gno.RefValue",
165// "Hash": "2e733a8e9e74fe14f0a5d10fb0f6728fa53d052d",
166// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:14"
167// },
168// "Index": "0",
169// "TV": null
170// }
171// }
172// ],
173// "ObjectInfo": {
174// "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:13",
175// "ModTime": "0",
176// "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:12",
177// "RefCount": "1"
178// }
179// }
180// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:12]={
181// "ObjectInfo": {
182// "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:12",
183// "ModTime": "0",
184// "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:11",
185// "RefCount": "1"
186// },
187// "Value": {
188// "T": {
189// "@type": "/gno.RefType",
190// "ID": "gno.land/p/demo/avl.Node"
191// },
192// "V": {
193// "@type": "/gno.RefValue",
194// "Hash": "fe20a19f956511f274dc77854e9e5468387260f4",
195// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:13"
196// }
197// }
198// }
199// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:11]={
200// "Fields": [
201// {
202// "T": {
203// "@type": "/gno.PrimitiveType",
204// "value": "16"
205// },
206// "V": {
207// "@type": "/gno.StringValue",
208// "value": "key1"
209// }
210// },
211// {},
212// {
213// "N": "AgAAAAAAAAA=",
214// "T": {
215// "@type": "/gno.PrimitiveType",
216// "value": "64"
217// }
218// },
219// {
220// "N": "AwAAAAAAAAA=",
221// "T": {
222// "@type": "/gno.PrimitiveType",
223// "value": "32"
224// }
225// },
226// {
227// "T": {
228// "@type": "/gno.PointerType",
229// "Elt": {
230// "@type": "/gno.RefType",
231// "ID": "gno.land/p/demo/avl.Node"
232// }
233// },
234// "V": {
235// "@type": "/gno.PointerValue",
236// "Base": {
237// "@type": "/gno.RefValue",
238// "Hash": "c89a71bdf045e8bde2059dc9d33839f916e02e5d",
239// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:6"
240// },
241// "Index": "0",
242// "TV": null
243// }
244// },
245// {
246// "T": {
247// "@type": "/gno.PointerType",
248// "Elt": {
249// "@type": "/gno.RefType",
250// "ID": "gno.land/p/demo/avl.Node"
251// }
252// },
253// "V": {
254// "@type": "/gno.PointerValue",
255// "Base": {
256// "@type": "/gno.RefValue",
257// "Hash": "90fa67f8c47db4b9b2a60425dff08d5a3385100f",
258// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:12"
259// },
260// "Index": "0",
261// "TV": null
262// }
263// }
264// ],
265// "ObjectInfo": {
266// "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:11",
267// "ModTime": "0",
268// "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:10",
269// "RefCount": "1"
270// }
271// }
272// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:10]={
273// "ObjectInfo": {
274// "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:10",
275// "ModTime": "0",
276// "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:2",
277// "RefCount": "1"
278// },
279// "Value": {
280// "T": {
281// "@type": "/gno.RefType",
282// "ID": "gno.land/p/demo/avl.Node"
283// },
284// "V": {
285// "@type": "/gno.RefValue",
286// "Hash": "83e42caaf53070dd95b5f859053eb51ed900bbda",
287// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:11"
288// }
289// }
290// }
291// u[a8ada09dee16d791fd406d629fe29bb0ed084a30:2]={
292// "Blank": {},
293// "ObjectInfo": {
294// "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:2",
295// "IsEscaped": true,
296// "ModTime": "9",
297// "RefCount": "2"
298// },
299// "Parent": null,
300// "Source": {
301// "@type": "/gno.RefNode",
302// "BlockNode": null,
303// "Location": {
304// "Column": "0",
305// "File": "",
306// "Line": "0",
307// "PkgPath": "gno.land/r/test"
308// }
309// },
310// "Values": [
311// {
312// "T": {
313// "@type": "/gno.PointerType",
314// "Elt": {
315// "@type": "/gno.RefType",
316// "ID": "gno.land/p/demo/avl.Node"
317// }
318// },
319// "V": {
320// "@type": "/gno.PointerValue",
321// "Base": {
322// "@type": "/gno.RefValue",
323// "Hash": "1faa9fa4ba1935121a6d3f0a623772e9d4499b0a",
324// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:10"
325// },
326// "Index": "0",
327// "TV": null
328// }
329// },
330// {
331// "T": {
332// "@type": "/gno.FuncType",
333// "Params": [],
334// "Results": []
335// },
336// "V": {
337// "@type": "/gno.FuncValue",
338// "Closure": {
339// "@type": "/gno.RefValue",
340// "Escaped": true,
341// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:3"
342// },
343// "FileName": "main.gno",
344// "IsMethod": false,
345// "Name": "init.1",
346// "NativeName": "",
347// "NativePkg": "",
348// "PkgPath": "gno.land/r/test",
349// "Source": {
350// "@type": "/gno.RefNode",
351// "BlockNode": null,
352// "Location": {
353// "Column": "1",
354// "File": "main.gno",
355// "Line": "10",
356// "PkgPath": "gno.land/r/test"
357// }
358// },
359// "Type": {
360// "@type": "/gno.FuncType",
361// "Params": [],
362// "Results": []
363// }
364// }
365// },
366// {
367// "T": {
368// "@type": "/gno.FuncType",
369// "Params": [],
370// "Results": []
371// },
372// "V": {
373// "@type": "/gno.FuncValue",
374// "Closure": {
375// "@type": "/gno.RefValue",
376// "Escaped": true,
377// "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:3"
378// },
379// "FileName": "main.gno",
380// "IsMethod": false,
381// "Name": "main",
382// "NativeName": "",
383// "NativePkg": "",
384// "PkgPath": "gno.land/r/test",
385// "Source": {
386// "@type": "/gno.RefNode",
387// "BlockNode": null,
388// "Location": {
389// "Column": "1",
390// "File": "main.gno",
391// "Line": "15",
392// "PkgPath": "gno.land/r/test"
393// }
394// },
395// "Type": {
396// "@type": "/gno.FuncType",
397// "Params": [],
398// "Results": []
399// }
400// }
401// }
402// ]
403// }
404// d[a8ada09dee16d791fd406d629fe29bb0ed084a30:4]
405// d[a8ada09dee16d791fd406d629fe29bb0ed084a30:5]
z_1_filetest.gno
12.26 Kb ยท 405 lines