Commit 2742416
authored
Feature/kotlin codegen (#359)
New style of kotlin code-gen
* Generates data classes that match GQL schema nullability. These allow for partial contstruction for use as return values in a query that asks for a partial object. If any field (nullable or not) is used but was not requested, it will throw an exception. These classes use suppliers as field initializers to defer evaluation until use.
* Adds projections using kotlin closures. This very nearly matches the GQL query syntax as compiled kotlin.
* All new styles are behind to options: `generateKotlinNullableClasses` and `generateKotlinClosureProjections`
* Uses new style of file based testing to preview generated code1 parent dfa49ab commit 2742416
File tree
377 files changed
+9713
-47
lines changed- graphql-dgs-codegen-client-core/src/main/kotlin/com/netflix/graphql/dgs/client/codegen
- graphql-dgs-codegen-core
- src
- main/kotlin/com/netflix/graphql/dgs/codegen
- generators
- kotlin2
- kotlin
- test
- kotlin/com/netflix/graphql/dgs/codegen
- resources/kotlin2
- constantsForInputTypes
- expected
- client
- types
- constantsWithExtendedInputTypes
- expected
- client
- types
- constantsWithExtendedInterface
- expected
- client
- types
- constantsWithExtendedQuery
- expected
- client
- types
- constantsWithExtendedTypes
- expected
- client
- types
- dataClassDocs
- expected
- client
- types
- dataClassFieldDocs
- expected
- client
- types
- dataClassWIthNoFields
- expected
- client
- types
- dataClassWithDeeplyNestedComplexField
- expected
- client
- types
- dataClassWithExtendedInterface
- expected
- client
- types
- dataClassWithInterfaceInheritance
- expected
- client
- types
- dataClassWithInterface
- expected
- client
- types
- dataClassWithListProperties
- expected
- client
- types
- dataClassWithNonNullableAndInterface
- expected
- client
- types
- dataClassWithNonNullableComplexType
- expected
- client
- types
- dataClassWithNonNullableListOfNullableValues
- expected
- client
- types
- dataClassWithNonNullablePrimitiveInList
- expected
- client
- types
- dataClassWithNonNullablePrimitive
- expected
- client
- types
- dataClassWithNonNullableProperties
- expected
- client
- types
- dataClassWithNullablePrimitive
- expected
- client
- types
- dataClassWithRecursiveField
- expected
- client
- types
- dataClassWithStringProperties
- expected
- client
- types
- enumDocs
- expected
- types
- enumWithExtendedType
- expected
- client
- types
- enum
- expected
- client
- types
- inputWithDefaultEnumValueForArray
- expected
- types
- inputWithDefaultIntValueForArray
- expected
- types
- inputWithDefaultStringValueForArray
- expected
- types
- inputWithDefaultValueForArray
- expected
- types
- inputWithDefaultValueForEnum
- expected
- types
- inputWithExtendedType
- expected
- client
- types
- input
- expected
- client
- types
- interfaceClassWithInterfaceFieldsOfDifferentType
- expected
- client
- types
- interfaceClassWithInterfaceFields
- expected
- client
- types
- interfaceClassWithNonNullableFields
- expected
- client
- types
- interfaceDocs
- expected
- client
- types
- interfaceFieldsDocs
- expected
- client
- types
- interfaceWithInterfaceInheritance
- expected
- client
- types
- projectionWithEnum
- expected
- client
- types
- projectionWithPrimitiveAndArgs
- expected
- client
- types
- projectionWithPrimitives
- expected
- client
- types
- projectionWithTypeAndArgs
- expected
- client
- types
- projectionWithType
- expected
- client
- types
- projectionWithUnion
- expected
- client
- types
- skipCodegenOnFields
- expected
- client
- types
- skipCodegenOnInterfaceFields
- expected
- client
- types
- skipCodegenOnTypes
- expected
- client
- types
- unionTypesWithoutInterfaceCanDeserialize
- expected
- client
- types
- unionWithExtendedType
- expected
- client
- types
- union
- expected
- client
- types
- graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
377 files changed
+9713
-47
lines changedLines changed: 73 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
Lines changed: 126 additions & 47 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
23 | 28 | | |
24 | 29 | | |
25 | 30 | | |
| |||
32 | 37 | | |
33 | 38 | | |
34 | 39 | | |
| 40 | + | |
35 | 41 | | |
36 | 42 | | |
37 | 43 | | |
| |||
73 | 79 | | |
74 | 80 | | |
75 | 81 | | |
| 82 | + | |
76 | 83 | | |
77 | 84 | | |
78 | 85 | | |
79 | 86 | | |
| 87 | + | |
80 | 88 | | |
81 | 89 | | |
82 | 90 | | |
| |||
105 | 113 | | |
106 | 114 | | |
107 | 115 | | |
108 | | - | |
| 116 | + | |
109 | 117 | | |
110 | 118 | | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
111 | 160 | | |
112 | 161 | | |
113 | 162 | | |
| |||
239 | 288 | | |
240 | 289 | | |
241 | 290 | | |
242 | | - | |
243 | | - | |
244 | | - | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
245 | 322 | | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
254 | 332 | | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
| 333 | + | |
264 | 334 | | |
265 | | - | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
266 | 342 | | |
267 | | - | |
268 | | - | |
269 | | - | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
270 | 352 | | |
271 | | - | |
272 | | - | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
273 | 357 | | |
274 | 358 | | |
275 | 359 | | |
| |||
338 | 422 | | |
339 | 423 | | |
340 | 424 | | |
| 425 | + | |
| 426 | + | |
341 | 427 | | |
342 | 428 | | |
343 | 429 | | |
| |||
382 | 468 | | |
383 | 469 | | |
384 | 470 | | |
385 | | - | |
| 471 | + | |
386 | 472 | | |
387 | 473 | | |
388 | 474 | | |
| |||
394 | 480 | | |
395 | 481 | | |
396 | 482 | | |
| 483 | + | |
397 | 484 | | |
398 | 485 | | |
399 | 486 | | |
400 | | - | |
| 487 | + | |
| 488 | + | |
401 | 489 | | |
402 | 490 | | |
403 | 491 | | |
| |||
408 | 496 | | |
409 | 497 | | |
410 | 498 | | |
| 499 | + | |
411 | 500 | | |
412 | 501 | | |
413 | 502 | | |
414 | 503 | | |
| 504 | + | |
415 | 505 | | |
416 | 506 | | |
417 | 507 | | |
| |||
422 | 512 | | |
423 | 513 | | |
424 | 514 | | |
| 515 | + | |
425 | 516 | | |
426 | 517 | | |
427 | 518 | | |
428 | | - | |
| 519 | + | |
| 520 | + | |
429 | 521 | | |
430 | 522 | | |
431 | 523 | | |
432 | 524 | | |
433 | 525 | | |
434 | | - | |
435 | 526 | | |
436 | 527 | | |
437 | 528 | | |
438 | 529 | | |
439 | 530 | | |
440 | 531 | | |
441 | | - | |
442 | 532 | | |
443 | 533 | | |
444 | 534 | | |
445 | 535 | | |
446 | | - | |
| 536 | + | |
447 | 537 | | |
448 | 538 | | |
449 | 539 | | |
450 | | - | |
| 540 | + | |
451 | 541 | | |
452 | 542 | | |
453 | 543 | | |
| |||
482 | 572 | | |
483 | 573 | | |
484 | 574 | | |
485 | | - | |
486 | | - | |
487 | | - | |
488 | | - | |
489 | | - | |
490 | | - | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
| 575 | + | |
497 | 576 | | |
498 | 577 | | |
499 | | - | |
| 578 | + | |
500 | 579 | | |
501 | 580 | | |
502 | 581 | | |
| |||
0 commit comments