as-app/src/network/splitLink.js

18 lines
452 B
JavaScript

import { split } from "@apollo/client";
import { getMainDefinition } from "@apollo/client/utilities";
export default function createSplitLink({ wsLink, httpLink }) {
const splitLink = split(
({ query }) => {
const definition = getMainDefinition(query);
return (
definition.kind === "OperationDefinition" &&
definition.operation === "subscription"
);
},
wsLink,
httpLink,
);
return splitLink;
}