doesFragmentTypeApply method
bool
doesFragmentTypeApply(
- GraphQLObjectType? objectType,
- TypeConditionContext fragmentType, {
- GraphQLObjectType? parentType,
Implementation
bool doesFragmentTypeApply(
GraphQLObjectType? objectType, TypeConditionContext fragmentType,
{GraphQLObjectType? parentType}) {
var type = convertType(TypeContext(fragmentType.typeName, null),
usePolymorphicName: true, parent: parentType ?? objectType);
if (type is GraphQLObjectType && !type.isInterface) {
for (var field in type.fields) {
if (!objectType!.fields.any((f) => f.name == field.name)) return false;
}
return true;
} else if (type is GraphQLObjectType && type.isInterface) {
return objectType!.isImplementationOf(type);
} else if (type is GraphQLUnionType) {
return type.possibleTypes.any((t) => objectType!.isImplementationOf(t));
}
return false;
}