123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = require("tslib");
- var zen_observable_ts_1 = tslib_1.__importDefault(require("zen-observable-ts"));
- var apollo_utilities_1 = require("apollo-utilities");
- exports.getOperationName = apollo_utilities_1.getOperationName;
- var ts_invariant_1 = require("ts-invariant");
- function validateOperation(operation) {
- var OPERATION_FIELDS = [
- 'query',
- 'operationName',
- 'variables',
- 'extensions',
- 'context',
- ];
- for (var _i = 0, _a = Object.keys(operation); _i < _a.length; _i++) {
- var key = _a[_i];
- if (OPERATION_FIELDS.indexOf(key) < 0) {
- throw new ts_invariant_1.InvariantError("illegal argument: " + key);
- }
- }
- return operation;
- }
- exports.validateOperation = validateOperation;
- var LinkError = (function (_super) {
- tslib_1.__extends(LinkError, _super);
- function LinkError(message, link) {
- var _this = _super.call(this, message) || this;
- _this.link = link;
- return _this;
- }
- return LinkError;
- }(Error));
- exports.LinkError = LinkError;
- function isTerminating(link) {
- return link.request.length <= 1;
- }
- exports.isTerminating = isTerminating;
- function toPromise(observable) {
- var completed = false;
- return new Promise(function (resolve, reject) {
- observable.subscribe({
- next: function (data) {
- if (completed) {
- ts_invariant_1.invariant.warn("Promise Wrapper does not support multiple results from Observable");
- }
- else {
- completed = true;
- resolve(data);
- }
- },
- error: reject,
- });
- });
- }
- exports.toPromise = toPromise;
- exports.makePromise = toPromise;
- function fromPromise(promise) {
- return new zen_observable_ts_1.default(function (observer) {
- promise
- .then(function (value) {
- observer.next(value);
- observer.complete();
- })
- .catch(observer.error.bind(observer));
- });
- }
- exports.fromPromise = fromPromise;
- function fromError(errorValue) {
- return new zen_observable_ts_1.default(function (observer) {
- observer.error(errorValue);
- });
- }
- exports.fromError = fromError;
- function transformOperation(operation) {
- var transformedOperation = {
- variables: operation.variables || {},
- extensions: operation.extensions || {},
- operationName: operation.operationName,
- query: operation.query,
- };
- if (!transformedOperation.operationName) {
- transformedOperation.operationName =
- typeof transformedOperation.query !== 'string'
- ? apollo_utilities_1.getOperationName(transformedOperation.query)
- : '';
- }
- return transformedOperation;
- }
- exports.transformOperation = transformOperation;
- function createOperation(starting, operation) {
- var context = tslib_1.__assign({}, starting);
- var setContext = function (next) {
- if (typeof next === 'function') {
- context = tslib_1.__assign({}, context, next(context));
- }
- else {
- context = tslib_1.__assign({}, context, next);
- }
- };
- var getContext = function () { return (tslib_1.__assign({}, context)); };
- Object.defineProperty(operation, 'setContext', {
- enumerable: false,
- value: setContext,
- });
- Object.defineProperty(operation, 'getContext', {
- enumerable: false,
- value: getContext,
- });
- Object.defineProperty(operation, 'toKey', {
- enumerable: false,
- value: function () { return getKey(operation); },
- });
- return operation;
- }
- exports.createOperation = createOperation;
- function getKey(operation) {
- var query = operation.query, variables = operation.variables, operationName = operation.operationName;
- return JSON.stringify([operationName, query, variables]);
- }
- exports.getKey = getKey;
- //# sourceMappingURL=linkUtils.js.map
|