cuelang.org/go@v0.10.1/pkg/list/pkg.go (about) 1 // Code generated by cuelang.org/go/pkg/gen. DO NOT EDIT. 2 3 package list 4 5 import ( 6 "cuelang.org/go/internal/core/adt" 7 "cuelang.org/go/internal/pkg" 8 ) 9 10 func init() { 11 pkg.Register("list", p) 12 } 13 14 var _ = adt.TopKind // in case the adt package isn't used 15 16 var p = &pkg.Package{ 17 Native: []*pkg.Builtin{{ 18 Name: "Drop", 19 Params: []pkg.Param{ 20 {Kind: adt.ListKind}, 21 {Kind: adt.IntKind}, 22 }, 23 Result: adt.ListKind, 24 Func: func(c *pkg.CallCtxt) { 25 x, n := c.List(0), c.Int(1) 26 if c.Do() { 27 c.Ret, c.Err = Drop(x, n) 28 } 29 }, 30 }, { 31 Name: "FlattenN", 32 Params: []pkg.Param{ 33 {Kind: adt.TopKind}, 34 {Kind: adt.IntKind}, 35 }, 36 Result: adt.ListKind, 37 Func: func(c *pkg.CallCtxt) { 38 xs, depth := c.Value(0), c.Int(1) 39 if c.Do() { 40 c.Ret, c.Err = FlattenN(xs, depth) 41 } 42 }, 43 }, { 44 Name: "Repeat", 45 Params: []pkg.Param{ 46 {Kind: adt.ListKind}, 47 {Kind: adt.IntKind}, 48 }, 49 Result: adt.ListKind, 50 Func: func(c *pkg.CallCtxt) { 51 x, count := c.List(0), c.Int(1) 52 if c.Do() { 53 c.Ret, c.Err = Repeat(x, count) 54 } 55 }, 56 }, { 57 Name: "Concat", 58 Params: []pkg.Param{ 59 {Kind: adt.ListKind}, 60 }, 61 Result: adt.ListKind, 62 Func: func(c *pkg.CallCtxt) { 63 a := c.List(0) 64 if c.Do() { 65 c.Ret, c.Err = Concat(a) 66 } 67 }, 68 }, { 69 Name: "Take", 70 Params: []pkg.Param{ 71 {Kind: adt.ListKind}, 72 {Kind: adt.IntKind}, 73 }, 74 Result: adt.ListKind, 75 Func: func(c *pkg.CallCtxt) { 76 x, n := c.List(0), c.Int(1) 77 if c.Do() { 78 c.Ret, c.Err = Take(x, n) 79 } 80 }, 81 }, { 82 Name: "Slice", 83 Params: []pkg.Param{ 84 {Kind: adt.ListKind}, 85 {Kind: adt.IntKind}, 86 {Kind: adt.IntKind}, 87 }, 88 Result: adt.ListKind, 89 Func: func(c *pkg.CallCtxt) { 90 x, i, j := c.List(0), c.Int(1), c.Int(2) 91 if c.Do() { 92 c.Ret, c.Err = Slice(x, i, j) 93 } 94 }, 95 }, { 96 Name: "Reverse", 97 Params: []pkg.Param{ 98 {Kind: adt.ListKind}, 99 }, 100 Result: adt.ListKind, 101 Func: func(c *pkg.CallCtxt) { 102 x := c.List(0) 103 if c.Do() { 104 c.Ret = Reverse(x) 105 } 106 }, 107 }, { 108 Name: "MinItems", 109 Params: []pkg.Param{ 110 {Kind: adt.ListKind}, 111 {Kind: adt.IntKind}, 112 }, 113 Result: adt.BoolKind, 114 Func: func(c *pkg.CallCtxt) { 115 list, n := c.CueList(0), c.Int(1) 116 if c.Do() { 117 c.Ret, c.Err = MinItems(list, n) 118 } 119 }, 120 }, { 121 Name: "MaxItems", 122 Params: []pkg.Param{ 123 {Kind: adt.ListKind}, 124 {Kind: adt.IntKind}, 125 }, 126 Result: adt.BoolKind, 127 Func: func(c *pkg.CallCtxt) { 128 list, n := c.CueList(0), c.Int(1) 129 if c.Do() { 130 c.Ret, c.Err = MaxItems(list, n) 131 } 132 }, 133 }, { 134 Name: "UniqueItems", 135 Params: []pkg.Param{ 136 {Kind: adt.ListKind}, 137 }, 138 Result: adt.BoolKind, 139 Func: func(c *pkg.CallCtxt) { 140 a := c.List(0) 141 if c.Do() { 142 c.Ret = UniqueItems(a) 143 } 144 }, 145 }, { 146 Name: "Contains", 147 Params: []pkg.Param{ 148 {Kind: adt.ListKind}, 149 {Kind: adt.TopKind}, 150 }, 151 Result: adt.BoolKind, 152 Func: func(c *pkg.CallCtxt) { 153 a, v := c.List(0), c.Value(1) 154 if c.Do() { 155 c.Ret = Contains(a, v) 156 } 157 }, 158 }, { 159 Name: "Avg", 160 Params: []pkg.Param{ 161 {Kind: adt.ListKind}, 162 }, 163 Result: adt.NumberKind, 164 Func: func(c *pkg.CallCtxt) { 165 xs := c.DecimalList(0) 166 if c.Do() { 167 c.Ret, c.Err = Avg(xs) 168 } 169 }, 170 }, { 171 Name: "Max", 172 Params: []pkg.Param{ 173 {Kind: adt.ListKind}, 174 }, 175 Result: adt.NumberKind, 176 Func: func(c *pkg.CallCtxt) { 177 xs := c.DecimalList(0) 178 if c.Do() { 179 c.Ret, c.Err = Max(xs) 180 } 181 }, 182 }, { 183 Name: "Min", 184 Params: []pkg.Param{ 185 {Kind: adt.ListKind}, 186 }, 187 Result: adt.NumberKind, 188 Func: func(c *pkg.CallCtxt) { 189 xs := c.DecimalList(0) 190 if c.Do() { 191 c.Ret, c.Err = Min(xs) 192 } 193 }, 194 }, { 195 Name: "Product", 196 Params: []pkg.Param{ 197 {Kind: adt.ListKind}, 198 }, 199 Result: adt.NumberKind, 200 Func: func(c *pkg.CallCtxt) { 201 xs := c.DecimalList(0) 202 if c.Do() { 203 c.Ret, c.Err = Product(xs) 204 } 205 }, 206 }, { 207 Name: "Range", 208 Params: []pkg.Param{ 209 {Kind: adt.NumberKind}, 210 {Kind: adt.NumberKind}, 211 {Kind: adt.NumberKind}, 212 }, 213 Result: adt.ListKind, 214 Func: func(c *pkg.CallCtxt) { 215 start, limit, step := c.Decimal(0), c.Decimal(1), c.Decimal(2) 216 if c.Do() { 217 c.Ret, c.Err = Range(start, limit, step) 218 } 219 }, 220 }, { 221 Name: "Sum", 222 Params: []pkg.Param{ 223 {Kind: adt.ListKind}, 224 }, 225 Result: adt.NumberKind, 226 Func: func(c *pkg.CallCtxt) { 227 xs := c.DecimalList(0) 228 if c.Do() { 229 c.Ret, c.Err = Sum(xs) 230 } 231 }, 232 }, { 233 Name: "Sort", 234 Params: []pkg.Param{ 235 {Kind: adt.ListKind}, 236 {Kind: adt.TopKind}, 237 }, 238 Result: adt.ListKind, 239 Func: func(c *pkg.CallCtxt) { 240 list, cmp := c.List(0), c.Value(1) 241 if c.Do() { 242 c.Ret, c.Err = Sort(list, cmp) 243 } 244 }, 245 }, { 246 Name: "SortStable", 247 Params: []pkg.Param{ 248 {Kind: adt.ListKind}, 249 {Kind: adt.TopKind}, 250 }, 251 Result: adt.ListKind, 252 Func: func(c *pkg.CallCtxt) { 253 list, cmp := c.List(0), c.Value(1) 254 if c.Do() { 255 c.Ret, c.Err = SortStable(list, cmp) 256 } 257 }, 258 }, { 259 Name: "SortStrings", 260 Params: []pkg.Param{ 261 {Kind: adt.ListKind}, 262 }, 263 Result: adt.ListKind, 264 Func: func(c *pkg.CallCtxt) { 265 a := c.StringList(0) 266 if c.Do() { 267 c.Ret = SortStrings(a) 268 } 269 }, 270 }, { 271 Name: "IsSorted", 272 Params: []pkg.Param{ 273 {Kind: adt.ListKind}, 274 {Kind: adt.TopKind}, 275 }, 276 Result: adt.BoolKind, 277 Func: func(c *pkg.CallCtxt) { 278 list, cmp := c.List(0), c.Value(1) 279 if c.Do() { 280 c.Ret = IsSorted(list, cmp) 281 } 282 }, 283 }, { 284 Name: "IsSortedStrings", 285 Params: []pkg.Param{ 286 {Kind: adt.ListKind}, 287 }, 288 Result: adt.BoolKind, 289 Func: func(c *pkg.CallCtxt) { 290 a := c.StringList(0) 291 if c.Do() { 292 c.Ret = IsSortedStrings(a) 293 } 294 }, 295 }}, 296 CUE: `{ 297 Comparer: { 298 T: _ 299 x: T 300 y: T 301 less: bool 302 } 303 Ascending: { 304 Comparer 305 T: number | string 306 x: T 307 y: T 308 less: x < y 309 } 310 Descending: { 311 Comparer 312 T: number | string 313 x: T 314 y: T 315 less: x > y 316 } 317 }`, 318 }