@nuxtjs/sanity
Version:
Sanity integration for Nuxt
27 lines (26 loc) • 703 B
JavaScript
export const createLiveStore = (liveContent) => {
if (!liveContent) return void 0;
const entries = /* @__PURE__ */ new Map();
return {
notify(tags, lastLiveEventId) {
entries.forEach((entry) => {
const updateLastLiveEventId = () => {
entry.lastLiveEventId = lastLiveEventId;
};
entry.callback(tags, updateLastLiveEventId);
});
},
subscribe(queryKey, callback) {
entries.set(queryKey, {
lastLiveEventId: void 0,
callback
});
return {
getLastLiveEventId: () => entries.get(queryKey)?.lastLiveEventId,
unsubscribe: () => {
entries.delete(queryKey);
}
};
}
};
};