1
2
3 package json
4
5 import (
6 "cuelang.org/go/internal/core/adt"
7 "cuelang.org/go/internal/pkg"
8 )
9
10 func init() {
11 pkg.Register("encoding/json", p)
12 }
13
14 var _ = adt.TopKind
15
16 var p = &pkg.Package{
17 Native: []*pkg.Builtin{{
18 Name: "Valid",
19 Params: []pkg.Param{
20 {Kind: adt.BytesKind | adt.StringKind},
21 },
22 Result: adt.BoolKind,
23 Func: func(c *pkg.CallCtxt) {
24 data := c.Bytes(0)
25 if c.Do() {
26 c.Ret = Valid(data)
27 }
28 },
29 }, {
30 Name: "Compact",
31 Params: []pkg.Param{
32 {Kind: adt.BytesKind | adt.StringKind},
33 },
34 Result: adt.StringKind,
35 Func: func(c *pkg.CallCtxt) {
36 src := c.Bytes(0)
37 if c.Do() {
38 c.Ret, c.Err = Compact(src)
39 }
40 },
41 }, {
42 Name: "Indent",
43 Params: []pkg.Param{
44 {Kind: adt.BytesKind | adt.StringKind},
45 {Kind: adt.StringKind},
46 {Kind: adt.StringKind},
47 },
48 Result: adt.StringKind,
49 Func: func(c *pkg.CallCtxt) {
50 src, prefix, indent := c.Bytes(0), c.String(1), c.String(2)
51 if c.Do() {
52 c.Ret, c.Err = Indent(src, prefix, indent)
53 }
54 },
55 }, {
56 Name: "HTMLEscape",
57 Params: []pkg.Param{
58 {Kind: adt.BytesKind | adt.StringKind},
59 },
60 Result: adt.StringKind,
61 Func: func(c *pkg.CallCtxt) {
62 src := c.Bytes(0)
63 if c.Do() {
64 c.Ret = HTMLEscape(src)
65 }
66 },
67 }, {
68 Name: "Marshal",
69 Params: []pkg.Param{
70 {Kind: adt.TopKind},
71 },
72 Result: adt.StringKind,
73 Func: func(c *pkg.CallCtxt) {
74 v := c.Value(0)
75 if c.Do() {
76 c.Ret, c.Err = Marshal(v)
77 }
78 },
79 }, {
80 Name: "MarshalStream",
81 Params: []pkg.Param{
82 {Kind: adt.TopKind},
83 },
84 Result: adt.StringKind,
85 Func: func(c *pkg.CallCtxt) {
86 v := c.Value(0)
87 if c.Do() {
88 c.Ret, c.Err = MarshalStream(v)
89 }
90 },
91 }, {
92 Name: "UnmarshalStream",
93 Params: []pkg.Param{
94 {Kind: adt.BytesKind | adt.StringKind},
95 },
96 Result: adt.TopKind,
97 Func: func(c *pkg.CallCtxt) {
98 data := c.Bytes(0)
99 if c.Do() {
100 c.Ret, c.Err = UnmarshalStream(data)
101 }
102 },
103 }, {
104 Name: "Unmarshal",
105 Params: []pkg.Param{
106 {Kind: adt.BytesKind | adt.StringKind},
107 },
108 Result: adt.TopKind,
109 Func: func(c *pkg.CallCtxt) {
110 b := c.Bytes(0)
111 if c.Do() {
112 c.Ret, c.Err = Unmarshal(b)
113 }
114 },
115 }, {
116 Name: "Validate",
117 Params: []pkg.Param{
118 {Kind: adt.BytesKind | adt.StringKind},
119 {Kind: adt.TopKind},
120 },
121 Result: adt.BoolKind,
122 Func: func(c *pkg.CallCtxt) {
123 b, v := c.Bytes(0), c.Value(1)
124 if c.Do() {
125 c.Ret, c.Err = Validate(b, v)
126 }
127 },
128 }},
129 }
130
View as plain text