1
2
3 package time
4
5 import (
6 "cuelang.org/go/internal/core/adt"
7 "cuelang.org/go/internal/pkg"
8 )
9
10 func init() {
11 pkg.Register("time", p)
12 }
13
14 var _ = adt.TopKind
15
16 var p = &pkg.Package{
17 Native: []*pkg.Builtin{{
18 Name: "Nanosecond",
19 Const: "1",
20 }, {
21 Name: "Microsecond",
22 Const: "1000",
23 }, {
24 Name: "Millisecond",
25 Const: "1000000",
26 }, {
27 Name: "Second",
28 Const: "1000000000",
29 }, {
30 Name: "Minute",
31 Const: "60000000000",
32 }, {
33 Name: "Hour",
34 Const: "3600000000000",
35 }, {
36 Name: "Duration",
37 Params: []pkg.Param{
38 {Kind: adt.StringKind},
39 },
40 Result: adt.BoolKind,
41 Func: func(c *pkg.CallCtxt) {
42 s := c.String(0)
43 if c.Do() {
44 c.Ret, c.Err = Duration(s)
45 }
46 },
47 }, {
48 Name: "FormatDuration",
49 Params: []pkg.Param{
50 {Kind: adt.IntKind},
51 },
52 Result: adt.StringKind,
53 Func: func(c *pkg.CallCtxt) {
54 d := c.Int64(0)
55 if c.Do() {
56 c.Ret = FormatDuration(d)
57 }
58 },
59 }, {
60 Name: "ParseDuration",
61 Params: []pkg.Param{
62 {Kind: adt.StringKind},
63 },
64 Result: adt.IntKind,
65 Func: func(c *pkg.CallCtxt) {
66 s := c.String(0)
67 if c.Do() {
68 c.Ret, c.Err = ParseDuration(s)
69 }
70 },
71 }, {
72 Name: "ANSIC",
73 Const: "\"Mon Jan _2 15:04:05 2006\"",
74 }, {
75 Name: "UnixDate",
76 Const: "\"Mon Jan _2 15:04:05 MST 2006\"",
77 }, {
78 Name: "RubyDate",
79 Const: "\"Mon Jan 02 15:04:05 -0700 2006\"",
80 }, {
81 Name: "RFC822",
82 Const: "\"02 Jan 06 15:04 MST\"",
83 }, {
84 Name: "RFC822Z",
85 Const: "\"02 Jan 06 15:04 -0700\"",
86 }, {
87 Name: "RFC850",
88 Const: "\"Monday, 02-Jan-06 15:04:05 MST\"",
89 }, {
90 Name: "RFC1123",
91 Const: "\"Mon, 02 Jan 2006 15:04:05 MST\"",
92 }, {
93 Name: "RFC1123Z",
94 Const: "\"Mon, 02 Jan 2006 15:04:05 -0700\"",
95 }, {
96 Name: "RFC3339",
97 Const: "\"2006-01-02T15:04:05Z07:00\"",
98 }, {
99 Name: "RFC3339Nano",
100 Const: "\"2006-01-02T15:04:05.999999999Z07:00\"",
101 }, {
102 Name: "RFC3339Date",
103 Const: "\"2006-01-02\"",
104 }, {
105 Name: "Kitchen",
106 Const: "\"3:04PM\"",
107 }, {
108 Name: "Kitchen24",
109 Const: "\"15:04\"",
110 }, {
111 Name: "January",
112 Const: "1",
113 }, {
114 Name: "February",
115 Const: "2",
116 }, {
117 Name: "March",
118 Const: "3",
119 }, {
120 Name: "April",
121 Const: "4",
122 }, {
123 Name: "May",
124 Const: "5",
125 }, {
126 Name: "June",
127 Const: "6",
128 }, {
129 Name: "July",
130 Const: "7",
131 }, {
132 Name: "August",
133 Const: "8",
134 }, {
135 Name: "September",
136 Const: "9",
137 }, {
138 Name: "October",
139 Const: "10",
140 }, {
141 Name: "November",
142 Const: "11",
143 }, {
144 Name: "December",
145 Const: "12",
146 }, {
147 Name: "Sunday",
148 Const: "0",
149 }, {
150 Name: "Monday",
151 Const: "1",
152 }, {
153 Name: "Tuesday",
154 Const: "2",
155 }, {
156 Name: "Wednesday",
157 Const: "3",
158 }, {
159 Name: "Thursday",
160 Const: "4",
161 }, {
162 Name: "Friday",
163 Const: "5",
164 }, {
165 Name: "Saturday",
166 Const: "6",
167 }, {
168 Name: "Time",
169 Params: []pkg.Param{
170 {Kind: adt.StringKind},
171 },
172 Result: adt.BoolKind,
173 Func: func(c *pkg.CallCtxt) {
174 s := c.String(0)
175 if c.Do() {
176 c.Ret, c.Err = Time(s)
177 }
178 },
179 }, {
180 Name: "Format",
181 Params: []pkg.Param{
182 {Kind: adt.StringKind},
183 {Kind: adt.StringKind},
184 },
185 Result: adt.BoolKind,
186 Func: func(c *pkg.CallCtxt) {
187 value, layout := c.String(0), c.String(1)
188 if c.Do() {
189 c.Ret, c.Err = Format(value, layout)
190 }
191 },
192 }, {
193 Name: "FormatString",
194 Params: []pkg.Param{
195 {Kind: adt.StringKind},
196 {Kind: adt.StringKind},
197 },
198 Result: adt.StringKind,
199 Func: func(c *pkg.CallCtxt) {
200 layout, value := c.String(0), c.String(1)
201 if c.Do() {
202 c.Ret, c.Err = FormatString(layout, value)
203 }
204 },
205 }, {
206 Name: "Parse",
207 Params: []pkg.Param{
208 {Kind: adt.StringKind},
209 {Kind: adt.StringKind},
210 },
211 Result: adt.StringKind,
212 Func: func(c *pkg.CallCtxt) {
213 layout, value := c.String(0), c.String(1)
214 if c.Do() {
215 c.Ret, c.Err = Parse(layout, value)
216 }
217 },
218 }, {
219 Name: "Unix",
220 Params: []pkg.Param{
221 {Kind: adt.IntKind},
222 {Kind: adt.IntKind},
223 },
224 Result: adt.StringKind,
225 Func: func(c *pkg.CallCtxt) {
226 sec, nsec := c.Int64(0), c.Int64(1)
227 if c.Do() {
228 c.Ret = Unix(sec, nsec)
229 }
230 },
231 }, {
232 Name: "Split",
233 Params: []pkg.Param{
234 {Kind: adt.StringKind},
235 },
236 Result: adt.TopKind,
237 Func: func(c *pkg.CallCtxt) {
238 t := c.String(0)
239 if c.Do() {
240 c.Ret, c.Err = Split(t)
241 }
242 },
243 }},
244 }
245
View as plain text