वास्तव में, आप union
का उपयोग कर सकते हैं या इंटरफ़ेस
linked_device
के लिए टाइप करें फ़ील्ड.
संघ प्रकार का उपयोग करके, आप GQAssetType
लागू कर सकते हैं इस प्रकार है:
// graphql-asset-type.js
import { GraphQLObjectType, GraphQLString, GraphQLUnionType } from 'graphql'
var LinkedDeviceType = new GraphQLUnionType({
name: 'Linked Device',
types: [ ObjectIdType, GQAssetType ],
resolveType(value) {
if (value instanceof ObjectId) {
return ObjectIdType;
}
if (value instanceof Asset) {
return GQAssetType;
}
}
});
export var GQAssetType = new GraphQLObjectType({
name: 'Asset',
fields: () => ({
name: { type: GraphQLString },
linked_device: { type: LinkedDeviceType },
})
});
इस उत्कृष्ट ग्राफक्यूएल यूनियन और इंटरफेस पर लेख देखें। ।