UNPKG

@zendesk/laika

Version:

Test, mock, intercept and modify Apollo Client's operations — in both browser and unit tests!

43 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.observableError = exports.observableOf = exports.executeLink = exports.onNextTick = void 0; const core_1 = require("@apollo/client/core"); // eslint-disable-next-line @typescript-eslint/no-explicit-any const onNextTick = (action) => new Promise((resolve, reject) => { setTimeout(() => { try { resolve(action()); } catch (error) { reject(error); } }); }); exports.onNextTick = onNextTick; const testClient = new core_1.ApolloClient({ cache: new core_1.InMemoryCache(), link: core_1.ApolloLink.empty(), }); const executeWithOptionalContext = core_1.execute; const executeLink = (link, request) => // Apollo Client 4 requires an explicit client in the execute context, while // Apollo Client 3 still uses the two-argument signature. executeWithOptionalContext.length >= 3 ? executeWithOptionalContext(link, request, { client: testClient }) : executeWithOptionalContext(link, request); exports.executeLink = executeLink; const observableOf = (...values) => new core_1.Observable((observer) => { var _a; values.forEach((value) => { var _a; (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value); }); (_a = observer.complete) === null || _a === void 0 ? void 0 : _a.call(observer); }); exports.observableOf = observableOf; const observableError = (error) => new core_1.Observable((observer) => { var _a; (_a = observer.error) === null || _a === void 0 ? void 0 : _a.call(observer, error); }); exports.observableError = observableError; //# sourceMappingURL=testUtils.js.map