1
1
package graphql
2
2
3
- import (
4
- "fmt"
5
- )
6
-
7
3
type SchemaConfig struct {
8
4
Query * Object
9
5
Mutation * Object
@@ -403,12 +399,12 @@ func assertObjectImplementsInterface(schema *Schema, object *Object, iface *Inte
403
399
404
400
// Assert interface field type is satisfied by object field type, by being
405
401
// a valid subtype. (covariant)
406
- err = invariant (
402
+ err = invariantf (
407
403
isTypeSubTypeOf (schema , objectField .Type , ifaceField .Type ),
408
- fmt . Sprintf ( `%v.%v expects type "%v" but ` +
404
+ `%v.%v expects type "%v" but ` +
409
405
`%v.%v provides type "%v".` ,
410
- iface , fieldName , ifaceField .Type ,
411
- object , fieldName , objectField .Type ) ,
406
+ iface , fieldName , ifaceField .Type ,
407
+ object , fieldName , objectField .Type ,
412
408
)
413
409
if err != nil {
414
410
return err
@@ -425,27 +421,26 @@ func assertObjectImplementsInterface(schema *Schema, object *Object, iface *Inte
425
421
}
426
422
}
427
423
// Assert interface field arg exists on object field.
428
- err = invariant (
424
+ err = invariantf (
429
425
objectArg != nil ,
430
- fmt . Sprintf ( `%v.%v expects argument "%v" but ` +
426
+ `%v.%v expects argument "%v" but ` +
431
427
`%v.%v does not provide it.` ,
432
- iface , fieldName , argName ,
433
- object , fieldName ) ,
428
+ iface , fieldName , argName ,
429
+ object , fieldName ,
434
430
)
435
431
if err != nil {
436
432
return err
437
433
}
438
434
439
435
// Assert interface field arg type matches object field arg type.
440
436
// (invariant)
441
- err = invariant (
437
+ err = invariantf (
442
438
isEqualType (ifaceArg .Type , objectArg .Type ),
443
- fmt .Sprintf (
444
- `%v.%v(%v:) expects type "%v" ` +
445
- `but %v.%v(%v:) provides ` +
446
- `type "%v".` ,
447
- iface , fieldName , argName , ifaceArg .Type ,
448
- object , fieldName , argName , objectArg .Type ),
439
+ `%v.%v(%v:) expects type "%v" ` +
440
+ `but %v.%v(%v:) provides ` +
441
+ `type "%v".` ,
442
+ iface , fieldName , argName , ifaceArg .Type ,
443
+ object , fieldName , argName , objectArg .Type ,
449
444
)
450
445
if err != nil {
451
446
return err
@@ -464,12 +459,12 @@ func assertObjectImplementsInterface(schema *Schema, object *Object, iface *Inte
464
459
465
460
if ifaceArg == nil {
466
461
_ , ok := objectArg .Type .(* NonNull )
467
- err = invariant (
462
+ err = invariantf (
468
463
! ok ,
469
- fmt . Sprintf ( `%v.%v(%v:) is of required type ` +
464
+ `%v.%v(%v:) is of required type ` +
470
465
`"%v" but is not also provided by the interface %v.%v.` ,
471
- object , fieldName , argName ,
472
- objectArg .Type , iface , fieldName ) ,
466
+ object , fieldName , argName ,
467
+ objectArg .Type , iface , fieldName ,
473
468
)
474
469
if err != nil {
475
470
return err
0 commit comments