Я выполняю рефакторинг старого компонента, написанного на клиенте React & Apollo, и у меня есть следующий кусок кода:
export const getBusiness = (query: DocumentNode) => compose([
graphql<BusinessSchema, BusinessPartnerSchema, Identity, GQLResult<LegalEntity> | undefined>(query, {
options: props => ({
variables: { id }
}),
props: ({ data }) => data && Object.assign(
{ loading: data.loading, error: data.error || validateLegalEntity(data.businessPartner) },
data.businessPartner && {
prop: data.prop
}
),
skip: props => !props.id
})
]
)
const validateBusiness = (data?: BusinessUnit): ApolloError | undefined =>
data && data.businessPartners.length === 0 &&
new ApolloError({
graphQLErrors: [{ message: 'User has no assigned outlets', extensions: { business: 'validation' } } as unknown as GraphQLError]
}) || undefined
Я искал в документах ApolloClient и не может найти аналог для этого класса или пример использования с перехватчиками.