UNPKG

@n1ru4l/graphql-live-query-patch

Version:

Shared logic for building live query patch implementations.

27 lines (26 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createApplyLiveQueryPatchGenerator = void 0; const createLiveQueryPatchGenerator_js_1 = require("./createLiveQueryPatchGenerator.js"); const isAsyncIterable = (value) => { return (typeof value === "object" && value !== null && Symbol.asyncIterator in value); }; /** * after-ware for wrapping execute in order to generate live query patches. */ const createApplyLiveQueryPatchGenerator = (generatePatch) => { return (executionResult) => { const makePatch = (0, createLiveQueryPatchGenerator_js_1.createLiveQueryPatchGenerator)(generatePatch); const handler = (result) => { if (isAsyncIterable(result)) { return makePatch(result); } return result; }; if (executionResult instanceof Promise) { return executionResult.then(handler); } return handler(executionResult); }; }; exports.createApplyLiveQueryPatchGenerator = createApplyLiveQueryPatchGenerator;