github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/pkg/strings/pkg.go (about) 1 // Code generated by go generate. DO NOT EDIT. 2 3 //go:generate rm pkg.go 4 //go:generate go run ../gen/gen.go 5 6 package strings 7 8 import ( 9 "fmt" 10 11 "github.com/joomcode/cue/internal/core/adt" 12 "github.com/joomcode/cue/pkg/internal" 13 ) 14 15 func init() { 16 internal.Register("strings", pkg) 17 } 18 19 var _ = adt.TopKind // in case the adt package isn't used 20 21 var pkg = &internal.Package{ 22 Native: []*internal.Builtin{{ 23 Name: "ByteAt", 24 Params: []internal.Param{ 25 {Kind: adt.BytesKind | adt.StringKind}, 26 {Kind: adt.IntKind}, 27 }, 28 Result: adt.IntKind, 29 Func: func(c *internal.CallCtxt) { 30 b, i := c.Bytes(0), c.Int(1) 31 if c.Do() { 32 c.Ret, c.Err = ByteAt(b, i) 33 } 34 }, 35 }, { 36 Name: "ByteSlice", 37 Params: []internal.Param{ 38 {Kind: adt.BytesKind | adt.StringKind}, 39 {Kind: adt.IntKind}, 40 {Kind: adt.IntKind}, 41 }, 42 Result: adt.BytesKind | adt.StringKind, 43 Func: func(c *internal.CallCtxt) { 44 b, start, end := c.Bytes(0), c.Int(1), c.Int(2) 45 if c.Do() { 46 c.Ret, c.Err = ByteSlice(b, start, end) 47 } 48 }, 49 }, { 50 Name: "Runes", 51 Params: []internal.Param{ 52 {Kind: adt.StringKind}, 53 }, 54 Result: adt.ListKind, 55 Func: func(c *internal.CallCtxt) { 56 s := c.String(0) 57 if c.Do() { 58 c.Ret = Runes(s) 59 } 60 }, 61 }, { 62 Name: "MinRunes", 63 Params: []internal.Param{ 64 {Kind: adt.StringKind}, 65 {Kind: adt.IntKind}, 66 }, 67 Result: adt.BoolKind, 68 Func: func(c *internal.CallCtxt) { 69 s, min := c.String(0), c.Int(1) 70 if c.Do() { 71 c.Ret = MinRunes(s, min) 72 } 73 }, 74 }, { 75 Name: "MaxRunes", 76 Params: []internal.Param{ 77 {Kind: adt.StringKind}, 78 {Kind: adt.IntKind}, 79 }, 80 Result: adt.BoolKind, 81 Func: func(c *internal.CallCtxt) { 82 s, max := c.String(0), c.Int(1) 83 if c.Do() { 84 c.Ret = MaxRunes(s, max) 85 } 86 }, 87 }, { 88 Name: "ToTitle", 89 Params: []internal.Param{ 90 {Kind: adt.StringKind}, 91 }, 92 Result: adt.StringKind, 93 Func: func(c *internal.CallCtxt) { 94 s := c.String(0) 95 if c.Do() { 96 c.Ret = ToTitle(s) 97 } 98 }, 99 }, { 100 Name: "ToCamel", 101 Params: []internal.Param{ 102 {Kind: adt.StringKind}, 103 }, 104 Result: adt.StringKind, 105 Func: func(c *internal.CallCtxt) { 106 s := c.String(0) 107 if c.Do() { 108 c.Ret = ToCamel(s) 109 } 110 }, 111 }, { 112 Name: "SliceRunes", 113 Params: []internal.Param{ 114 {Kind: adt.StringKind}, 115 {Kind: adt.IntKind}, 116 {Kind: adt.IntKind}, 117 }, 118 Result: adt.StringKind, 119 Func: func(c *internal.CallCtxt) { 120 s, start, end := c.String(0), c.Int(1), c.Int(2) 121 if c.Do() { 122 c.Ret, c.Err = SliceRunes(s, start, end) 123 } 124 }, 125 }, { 126 Name: "Compare", 127 Params: []internal.Param{ 128 {Kind: adt.StringKind}, 129 {Kind: adt.StringKind}, 130 }, 131 Result: adt.IntKind, 132 Func: func(c *internal.CallCtxt) { 133 a, b := c.String(0), c.String(1) 134 if c.Do() { 135 c.Ret = Compare(a, b) 136 } 137 }, 138 }, { 139 Name: "Count", 140 Params: []internal.Param{ 141 {Kind: adt.StringKind}, 142 {Kind: adt.StringKind}, 143 }, 144 Result: adt.IntKind, 145 Func: func(c *internal.CallCtxt) { 146 s, substr := c.String(0), c.String(1) 147 if c.Do() { 148 c.Ret = Count(s, substr) 149 } 150 }, 151 }, { 152 Name: "Contains", 153 Params: []internal.Param{ 154 {Kind: adt.StringKind}, 155 {Kind: adt.StringKind}, 156 }, 157 Result: adt.BoolKind, 158 Func: func(c *internal.CallCtxt) { 159 s, substr := c.String(0), c.String(1) 160 if c.Do() { 161 c.Ret = Contains(s, substr) 162 } 163 }, 164 }, { 165 Name: "ContainsAny", 166 Params: []internal.Param{ 167 {Kind: adt.StringKind}, 168 {Kind: adt.StringKind}, 169 }, 170 Result: adt.BoolKind, 171 Func: func(c *internal.CallCtxt) { 172 s, chars := c.String(0), c.String(1) 173 if c.Do() { 174 c.Ret = ContainsAny(s, chars) 175 } 176 }, 177 }, { 178 Name: "LastIndex", 179 Params: []internal.Param{ 180 {Kind: adt.StringKind}, 181 {Kind: adt.StringKind}, 182 }, 183 Result: adt.IntKind, 184 Func: func(c *internal.CallCtxt) { 185 s, substr := c.String(0), c.String(1) 186 if c.Do() { 187 c.Ret = LastIndex(s, substr) 188 } 189 }, 190 }, { 191 Name: "IndexAny", 192 Params: []internal.Param{ 193 {Kind: adt.StringKind}, 194 {Kind: adt.StringKind}, 195 }, 196 Result: adt.IntKind, 197 Func: func(c *internal.CallCtxt) { 198 s, chars := c.String(0), c.String(1) 199 if c.Do() { 200 c.Ret = IndexAny(s, chars) 201 } 202 }, 203 }, { 204 Name: "LastIndexAny", 205 Params: []internal.Param{ 206 {Kind: adt.StringKind}, 207 {Kind: adt.StringKind}, 208 }, 209 Result: adt.IntKind, 210 Func: func(c *internal.CallCtxt) { 211 s, chars := c.String(0), c.String(1) 212 if c.Do() { 213 c.Ret = LastIndexAny(s, chars) 214 } 215 }, 216 }, { 217 Name: "SplitN", 218 Params: []internal.Param{ 219 {Kind: adt.StringKind}, 220 {Kind: adt.StringKind}, 221 {Kind: adt.IntKind}, 222 }, 223 Result: adt.ListKind, 224 Func: func(c *internal.CallCtxt) { 225 s, sep, n := c.String(0), c.String(1), c.Int(2) 226 if c.Do() { 227 c.Ret = SplitN(s, sep, n) 228 } 229 }, 230 }, { 231 Name: "SplitAfterN", 232 Params: []internal.Param{ 233 {Kind: adt.StringKind}, 234 {Kind: adt.StringKind}, 235 {Kind: adt.IntKind}, 236 }, 237 Result: adt.ListKind, 238 Func: func(c *internal.CallCtxt) { 239 s, sep, n := c.String(0), c.String(1), c.Int(2) 240 if c.Do() { 241 c.Ret = SplitAfterN(s, sep, n) 242 } 243 }, 244 }, { 245 Name: "Split", 246 Params: []internal.Param{ 247 {Kind: adt.StringKind}, 248 {Kind: adt.StringKind}, 249 }, 250 Result: adt.ListKind, 251 Func: func(c *internal.CallCtxt) { 252 s, sep := c.String(0), c.String(1) 253 if c.Do() { 254 c.Ret = Split(s, sep) 255 } 256 }, 257 }, { 258 Name: "SplitAfter", 259 Params: []internal.Param{ 260 {Kind: adt.StringKind}, 261 {Kind: adt.StringKind}, 262 }, 263 Result: adt.ListKind, 264 Func: func(c *internal.CallCtxt) { 265 s, sep := c.String(0), c.String(1) 266 if c.Do() { 267 c.Ret = SplitAfter(s, sep) 268 } 269 }, 270 }, { 271 Name: "Fields", 272 Params: []internal.Param{ 273 {Kind: adt.StringKind}, 274 }, 275 Result: adt.ListKind, 276 Func: func(c *internal.CallCtxt) { 277 s := c.String(0) 278 if c.Do() { 279 c.Ret = Fields(s) 280 } 281 }, 282 }, { 283 Name: "Join", 284 Params: []internal.Param{ 285 {Kind: adt.ListKind}, 286 {Kind: adt.StringKind}, 287 }, 288 Result: adt.StringKind, 289 Func: func(c *internal.CallCtxt) { 290 elems, sep := c.StringList(0), c.String(1) 291 if c.Do() { 292 c.Ret = Join(elems, sep) 293 } 294 }, 295 }, { 296 Name: "HasPrefix", 297 Params: []internal.Param{ 298 {Kind: adt.StringKind}, 299 {Kind: adt.StringKind}, 300 }, 301 Result: adt.BoolKind, 302 Func: func(c *internal.CallCtxt) { 303 s, prefix := c.String(0), c.String(1) 304 if c.Do() { 305 c.Ret = HasPrefix(s, prefix) 306 } 307 }, 308 }, { 309 Name: "HasSuffix", 310 Params: []internal.Param{ 311 {Kind: adt.StringKind}, 312 {Kind: adt.StringKind}, 313 }, 314 Result: adt.BoolKind, 315 Func: func(c *internal.CallCtxt) { 316 s, suffix := c.String(0), c.String(1) 317 if c.Do() { 318 c.Ret = HasSuffix(s, suffix) 319 } 320 }, 321 }, { 322 Name: "Repeat", 323 Params: []internal.Param{ 324 {Kind: adt.StringKind}, 325 {Kind: adt.IntKind}, 326 }, 327 Result: adt.StringKind, 328 Func: func(c *internal.CallCtxt) { 329 s, count := c.String(0), c.Int(1) 330 if c.Do() { 331 c.Ret = Repeat(s, count) 332 } 333 }, 334 }, { 335 Name: "ToUpper", 336 Params: []internal.Param{ 337 {Kind: adt.StringKind}, 338 }, 339 Result: adt.StringKind, 340 Func: func(c *internal.CallCtxt) { 341 s := c.String(0) 342 if c.Do() { 343 c.Ret = ToUpper(s) 344 } 345 }, 346 }, { 347 Name: "ToLower", 348 Params: []internal.Param{ 349 {Kind: adt.StringKind}, 350 }, 351 Result: adt.StringKind, 352 Func: func(c *internal.CallCtxt) { 353 s := c.String(0) 354 if c.Do() { 355 c.Ret = ToLower(s) 356 } 357 }, 358 }, { 359 Name: "Trim", 360 Params: []internal.Param{ 361 {Kind: adt.StringKind}, 362 {Kind: adt.StringKind}, 363 }, 364 Result: adt.StringKind, 365 Func: func(c *internal.CallCtxt) { 366 s, cutset := c.String(0), c.String(1) 367 if c.Do() { 368 c.Ret = Trim(s, cutset) 369 } 370 }, 371 }, { 372 Name: "TrimLeft", 373 Params: []internal.Param{ 374 {Kind: adt.StringKind}, 375 {Kind: adt.StringKind}, 376 }, 377 Result: adt.StringKind, 378 Func: func(c *internal.CallCtxt) { 379 s, cutset := c.String(0), c.String(1) 380 if c.Do() { 381 c.Ret = TrimLeft(s, cutset) 382 } 383 }, 384 }, { 385 Name: "TrimRight", 386 Params: []internal.Param{ 387 {Kind: adt.StringKind}, 388 {Kind: adt.StringKind}, 389 }, 390 Result: adt.StringKind, 391 Func: func(c *internal.CallCtxt) { 392 s, cutset := c.String(0), c.String(1) 393 if c.Do() { 394 c.Ret = TrimRight(s, cutset) 395 } 396 }, 397 }, { 398 Name: "TrimSpace", 399 Params: []internal.Param{ 400 {Kind: adt.StringKind}, 401 }, 402 Result: adt.StringKind, 403 Func: func(c *internal.CallCtxt) { 404 s := c.String(0) 405 if c.Do() { 406 c.Ret = TrimSpace(s) 407 } 408 }, 409 }, { 410 Name: "TrimPrefix", 411 Params: []internal.Param{ 412 {Kind: adt.StringKind}, 413 {Kind: adt.StringKind}, 414 }, 415 Result: adt.StringKind, 416 Func: func(c *internal.CallCtxt) { 417 s, prefix := c.String(0), c.String(1) 418 if c.Do() { 419 c.Ret = TrimPrefix(s, prefix) 420 } 421 }, 422 }, { 423 Name: "TrimSuffix", 424 Params: []internal.Param{ 425 {Kind: adt.StringKind}, 426 {Kind: adt.StringKind}, 427 }, 428 Result: adt.StringKind, 429 Func: func(c *internal.CallCtxt) { 430 s, suffix := c.String(0), c.String(1) 431 if c.Do() { 432 c.Ret = TrimSuffix(s, suffix) 433 } 434 }, 435 }, { 436 Name: "Replace", 437 Params: []internal.Param{ 438 {Kind: adt.StringKind}, 439 {Kind: adt.StringKind}, 440 {Kind: adt.StringKind}, 441 {Kind: adt.IntKind}, 442 }, 443 Result: adt.StringKind, 444 Func: func(c *internal.CallCtxt) { 445 s, old, new, n := c.String(0), c.String(1), c.String(2), c.Int(3) 446 if c.Do() { 447 c.Ret = Replace(s, old, new, n) 448 } 449 }, 450 }, { 451 Name: "Print", 452 Params: []internal.Param{ 453 {Kind: adt.TopKind}, 454 }, 455 Result: adt.TopKind, 456 Func: func(c *internal.CallCtxt) { 457 v := c.Value(0) 458 if c.Do() { 459 b, _ := v.MarshalJSON() 460 fmt.Println(string(b)) 461 c.Ret = v 462 } 463 }, 464 }, { 465 Name: "Index", 466 Params: []internal.Param{ 467 {Kind: adt.StringKind}, 468 {Kind: adt.StringKind}, 469 }, 470 Result: adt.IntKind, 471 Func: func(c *internal.CallCtxt) { 472 s, substr := c.String(0), c.String(1) 473 if c.Do() { 474 c.Ret = Index(s, substr) 475 } 476 }, 477 }}, 478 }