UNPKG

@chmoyle-conga/graphql-cart

Version:

Cart module for realtime subscriptions to conga cart

29 lines (28 loc) 945 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createFilteredSSELink = void 0; const client_1 = require("@apollo/client"); const createFilteredSSELink = (url) => new client_1.ApolloLink((operation) => new client_1.Observable((observer) => { const eventSource = new EventSource(url); eventSource.onmessage = (event) => { try { // Parse the message data const data = JSON.parse(event.data); // Filter out empty messages based on your criteria if (data && Object.keys(data).length > 0) { observer.next({ data }); } } catch (e) { observer.error(e); } }; eventSource.onerror = (error) => { observer.error(error); }; // Return a cleanup function return () => { eventSource.close(); }; })); exports.createFilteredSSELink = createFilteredSSELink;