TL;DR
union型を扱った時にJavaScript版のAWSAppSyncClientにfragmentMatcherを設定する方法がなかなかわからなかったので共有しておきます。
(apollo-clientの情報は結構見つかりました)
version
aws-appsync@1.1.4
code
JavaScript版と書いていますが以下はTypeScriptです。すいません。
import { IntrospectionFragmentMatcher } from 'apollo-cache-inmemory';
import { AWSAppSyncClient, AUTH_TYPE } from 'aws-appsync';
const fragmentMatcher: IntrospectionFragmentMatcher = new IntrospectionFragmentMatcher({
introspectionQueryResultData: {
__schema: {
types: [] // no types provided
}
}
});
const client: AWSAppSyncClient = new AWSAppSyncClient({
url: ENV.awsAppSync.graphqlEndpoint,
region: ENV.awsAppSync.region,
auth: {
type: AUTH_TYPE.OPENID_CONNECT,
jwtToken: async () => getAccessToken()
},
cacheOptions: {
fragmentMatcher: fragmentMatcher
}
});