@apollo/client 3.6.1 → 3.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/LICENSE +1 -1
  2. package/apollo-client.cjs +133 -78
  3. package/apollo-client.cjs.map +1 -1
  4. package/apollo-client.min.cjs +1 -1
  5. package/cache/cache.cjs.native.js +2289 -0
  6. package/core/ApolloClient.d.ts.map +1 -1
  7. package/core/ApolloClient.js.map +1 -1
  8. package/core/ObservableQuery.d.ts.map +1 -1
  9. package/core/ObservableQuery.js +3 -1
  10. package/core/ObservableQuery.js.map +1 -1
  11. package/core/core.cjs +4 -2
  12. package/core/core.cjs.map +1 -1
  13. package/core/core.cjs.native.js +2141 -0
  14. package/errors/errors.cjs.native.js +48 -0
  15. package/invariantErrorCodes.js +1 -1
  16. package/link/batch/batch.cjs.native.js +161 -0
  17. package/link/batch-http/batch-http.cjs.native.js +127 -0
  18. package/link/context/context.cjs.native.js +38 -0
  19. package/link/core/core.cjs.native.js +121 -0
  20. package/link/error/error.cjs.native.js +90 -0
  21. package/link/http/http.cjs.native.js +320 -0
  22. package/link/http/selectHttpOptionsAndBody.d.ts.map +1 -1
  23. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  24. package/link/persisted-queries/index.d.ts +2 -1
  25. package/link/persisted-queries/index.d.ts.map +1 -1
  26. package/link/persisted-queries/index.js +26 -13
  27. package/link/persisted-queries/index.js.map +1 -1
  28. package/link/persisted-queries/persisted-queries.cjs +25 -12
  29. package/link/persisted-queries/persisted-queries.cjs.map +1 -1
  30. package/link/persisted-queries/persisted-queries.cjs.native.js +174 -0
  31. package/link/retry/retry.cjs.native.js +170 -0
  32. package/link/schema/schema.cjs.native.js +56 -0
  33. package/link/subscriptions/subscriptions.cjs.native.js +45 -0
  34. package/link/utils/utils.cjs.native.js +115 -0
  35. package/link/ws/ws.cjs.native.js +28 -0
  36. package/main.cjs.native.js +16 -0
  37. package/package.json +17 -18
  38. package/react/components/components.cjs.native.js +79 -0
  39. package/react/context/ApolloConsumer.js +2 -2
  40. package/react/context/ApolloProvider.js +2 -2
  41. package/react/context/context.cjs +4 -4
  42. package/react/context/context.cjs.map +1 -1
  43. package/react/context/context.cjs.native.js +67 -0
  44. package/react/hoc/hoc.cjs.native.js +325 -0
  45. package/react/hooks/hooks.cjs +151 -90
  46. package/react/hooks/hooks.cjs.map +1 -1
  47. package/react/hooks/hooks.cjs.native.js +604 -0
  48. package/react/hooks/useLazyQuery.d.ts.map +1 -1
  49. package/react/hooks/useLazyQuery.js +7 -22
  50. package/react/hooks/useLazyQuery.js.map +1 -1
  51. package/react/hooks/useQuery.d.ts +5 -1
  52. package/react/hooks/useQuery.d.ts.map +1 -1
  53. package/react/hooks/useQuery.js +46 -39
  54. package/react/hooks/useQuery.js.map +1 -1
  55. package/react/hooks/useSubscription.d.ts.map +1 -1
  56. package/react/hooks/useSubscription.js +17 -7
  57. package/react/hooks/useSubscription.js.map +1 -1
  58. package/react/hooks/useSyncExternalStore.d.ts +4 -0
  59. package/react/hooks/useSyncExternalStore.d.ts.map +1 -0
  60. package/react/hooks/useSyncExternalStore.js +48 -0
  61. package/react/hooks/useSyncExternalStore.js.map +1 -0
  62. package/react/parser/parser.cjs.native.js +103 -0
  63. package/react/react.cjs.native.js +22 -0
  64. package/react/ssr/ssr.cjs.native.js +150 -0
  65. package/testing/core/core.cjs.native.js +288 -0
  66. package/testing/core/mocking/mockQueryManager.js +1 -1
  67. package/testing/core/mocking/mockWatchQuery.js +1 -1
  68. package/testing/core/wrap.js +1 -1
  69. package/testing/testing.cjs.native.js +58 -0
  70. package/utilities/common/canUse.d.ts +2 -0
  71. package/utilities/common/canUse.d.ts.map +1 -1
  72. package/utilities/common/canUse.js +6 -2
  73. package/utilities/common/canUse.js.map +1 -1
  74. package/utilities/common/mergeOptions.d.ts +1 -1
  75. package/utilities/common/mergeOptions.d.ts.map +1 -1
  76. package/utilities/common/mergeOptions.js +1 -1
  77. package/utilities/common/mergeOptions.js.map +1 -1
  78. package/utilities/globals/global.js +1 -2
  79. package/utilities/globals/globals.cjs.native.js +56 -0
  80. package/utilities/observables/Concast.d.ts.map +1 -1
  81. package/utilities/observables/Concast.js +5 -2
  82. package/utilities/observables/Concast.js.map +1 -1
  83. package/utilities/policies/pagination.d.ts.map +1 -1
  84. package/utilities/policies/pagination.js +9 -7
  85. package/utilities/policies/pagination.js.map +1 -1
  86. package/utilities/utilities.cjs +22 -12
  87. package/utilities/utilities.cjs.map +1 -1
  88. package/utilities/utilities.cjs.native.js +1284 -0
  89. package/version.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"persisted-queries.cjs","sources":["index.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport { invariant } from '../../utilities/globals';\nimport { print } from 'graphql';\nimport { ApolloLink } from '../core';\nimport { Observable, compact, } from '../../utilities';\nexport var VERSION = 1;\nexport var PersistedQueryLink;\n(function (PersistedQueryLink) {\n ;\n ;\n ;\n})(PersistedQueryLink || (PersistedQueryLink = {}));\nvar defaultOptions = {\n disable: function (_a) {\n var graphQLErrors = _a.graphQLErrors, operation = _a.operation;\n if (graphQLErrors &&\n graphQLErrors.some(function (_a) {\n var message = _a.message;\n return message === 'PersistedQueryNotSupported';\n })) {\n return true;\n }\n var response = operation.getContext().response;\n if (response &&\n response.status &&\n (response.status === 400 || response.status === 500)) {\n return true;\n }\n return false;\n },\n useGETForHashedQueries: false,\n};\nfunction operationDefinesMutation(operation) {\n return operation.query.definitions.some(function (d) { return d.kind === 'OperationDefinition' && d.operation === 'mutation'; });\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hashesByQuery = new WeakMap();\nvar nextHashesChildKey = 0;\nexport var createPersistedQueryLink = function (options) {\n __DEV__ ? invariant(options && (typeof options.sha256 === 'function' ||\n typeof options.generateHash === 'function'), 'Missing/invalid \"sha256\" or \"generateHash\" function. Please ' +\n 'configure one using the \"createPersistedQueryLink(options)\" options ' +\n 'parameter.') : invariant(options && (typeof options.sha256 === 'function' ||\n typeof options.generateHash === 'function'), 22);\n var _a = compact(defaultOptions, options), sha256 = _a.sha256, _b = _a.generateHash, generateHash = _b === void 0 ? function (query) {\n return Promise.resolve(sha256(print(query)));\n } : _b, disable = _a.disable, useGETForHashedQueries = _a.useGETForHashedQueries;\n var supportsPersistedQueries = true;\n var hashesChildKey = 'forLink' + nextHashesChildKey++;\n var getHashPromise = function (query) {\n return new Promise(function (resolve) { return resolve(generateHash(query)); });\n };\n function getQueryHash(query) {\n if (!query || typeof query !== 'object') {\n return getHashPromise(query);\n }\n var hashes = hashesByQuery.get(query);\n if (!hashes)\n hashesByQuery.set(query, hashes = Object.create(null));\n return hasOwnProperty.call(hashes, hashesChildKey)\n ? hashes[hashesChildKey]\n : hashes[hashesChildKey] = getHashPromise(query);\n }\n return new ApolloLink(function (operation, forward) {\n __DEV__ ? invariant(forward, 'PersistedQueryLink cannot be the last link in the chain.') : invariant(forward, 23);\n var query = operation.query;\n return new Observable(function (observer) {\n var subscription;\n var retried = false;\n var originalFetchOptions;\n var setFetchOptions = false;\n var retry = function (_a, cb) {\n var response = _a.response, networkError = _a.networkError;\n if (!retried && ((response && response.errors) || networkError)) {\n retried = true;\n var disablePayload = {\n response: response,\n networkError: networkError,\n operation: operation,\n graphQLErrors: response ? response.errors : undefined,\n };\n supportsPersistedQueries = !disable(disablePayload);\n if ((response &&\n response.errors &&\n response.errors.some(function (_a) {\n var message = _a.message;\n return message === 'PersistedQueryNotFound';\n })) ||\n !supportsPersistedQueries) {\n if (subscription)\n subscription.unsubscribe();\n operation.setContext({\n http: {\n includeQuery: true,\n includeExtensions: supportsPersistedQueries,\n },\n fetchOptions: {\n method: 'POST',\n },\n });\n if (setFetchOptions) {\n operation.setContext({ fetchOptions: originalFetchOptions });\n }\n subscription = forward(operation).subscribe(handler);\n return;\n }\n }\n cb();\n };\n var handler = {\n next: function (response) {\n retry({ response: response }, function () { return observer.next(response); });\n },\n error: function (networkError) {\n retry({ networkError: networkError }, function () { return observer.error(networkError); });\n },\n complete: observer.complete.bind(observer),\n };\n operation.setContext({\n http: {\n includeQuery: !supportsPersistedQueries,\n includeExtensions: supportsPersistedQueries,\n },\n });\n if (useGETForHashedQueries &&\n supportsPersistedQueries &&\n !operationDefinesMutation(operation)) {\n operation.setContext(function (_a) {\n var _b = _a.fetchOptions, fetchOptions = _b === void 0 ? {} : _b;\n originalFetchOptions = fetchOptions;\n return {\n fetchOptions: __assign(__assign({}, fetchOptions), { method: 'GET' }),\n };\n });\n setFetchOptions = true;\n }\n if (supportsPersistedQueries) {\n getQueryHash(query).then(function (sha256Hash) {\n operation.extensions.persistedQuery = {\n version: VERSION,\n sha256Hash: sha256Hash,\n };\n subscription = forward(operation).subscribe(handler);\n }).catch(observer.error.bind(observer));\n ;\n }\n else {\n subscription = forward(operation).subscribe(handler);\n }\n return function () {\n if (subscription)\n subscription.unsubscribe();\n };\n });\n });\n};\n//# sourceMappingURL=index.js.map"],"names":["PersistedQueryLink","invariant","compact","print","ApolloLink","Observable","__assign"],"mappings":"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"}
1
+ {"version":3,"file":"persisted-queries.cjs","sources":["index.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport { invariant } from '../../utilities/globals';\nimport { print } from 'graphql';\nimport { ApolloLink } from '../core';\nimport { Observable, compact, isNonEmptyArray, } from '../../utilities';\nexport var VERSION = 1;\nexport var PersistedQueryLink;\n(function (PersistedQueryLink) {\n ;\n ;\n ;\n})(PersistedQueryLink || (PersistedQueryLink = {}));\nfunction collectErrorsByMessage(graphQLErrors) {\n var collected = Object.create(null);\n if (isNonEmptyArray(graphQLErrors)) {\n graphQLErrors.forEach(function (error) { return collected[error.message] = error; });\n }\n return collected;\n}\nvar defaultOptions = {\n disable: function (_a) {\n var graphQLErrors = _a.graphQLErrors, operation = _a.operation;\n var errorMessages = collectErrorsByMessage(graphQLErrors);\n if (errorMessages.PersistedQueryNotSupported) {\n return true;\n }\n if (errorMessages.PersistedQueryNotFound) {\n return false;\n }\n var response = operation.getContext().response;\n if (response &&\n response.status &&\n (response.status === 400 || response.status === 500)) {\n return true;\n }\n return false;\n },\n useGETForHashedQueries: false,\n};\nfunction operationDefinesMutation(operation) {\n return operation.query.definitions.some(function (d) { return d.kind === 'OperationDefinition' && d.operation === 'mutation'; });\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hashesByQuery = new WeakMap();\nvar nextHashesChildKey = 0;\nexport var createPersistedQueryLink = function (options) {\n __DEV__ ? invariant(options && (typeof options.sha256 === 'function' ||\n typeof options.generateHash === 'function'), 'Missing/invalid \"sha256\" or \"generateHash\" function. Please ' +\n 'configure one using the \"createPersistedQueryLink(options)\" options ' +\n 'parameter.') : invariant(options && (typeof options.sha256 === 'function' ||\n typeof options.generateHash === 'function'), 22);\n var _a = compact(defaultOptions, options), sha256 = _a.sha256, _b = _a.generateHash, generateHash = _b === void 0 ? function (query) {\n return Promise.resolve(sha256(print(query)));\n } : _b, disable = _a.disable, useGETForHashedQueries = _a.useGETForHashedQueries;\n var supportsPersistedQueries = true;\n var hashesChildKey = 'forLink' + nextHashesChildKey++;\n var getHashPromise = function (query) {\n return new Promise(function (resolve) { return resolve(generateHash(query)); });\n };\n function getQueryHash(query) {\n if (!query || typeof query !== 'object') {\n return getHashPromise(query);\n }\n var hashes = hashesByQuery.get(query);\n if (!hashes)\n hashesByQuery.set(query, hashes = Object.create(null));\n return hasOwnProperty.call(hashes, hashesChildKey)\n ? hashes[hashesChildKey]\n : hashes[hashesChildKey] = getHashPromise(query);\n }\n return new ApolloLink(function (operation, forward) {\n __DEV__ ? invariant(forward, 'PersistedQueryLink cannot be the last link in the chain.') : invariant(forward, 23);\n var query = operation.query;\n return new Observable(function (observer) {\n var subscription;\n var retried = false;\n var originalFetchOptions;\n var setFetchOptions = false;\n var retry = function (_a, cb) {\n var response = _a.response, networkError = _a.networkError;\n if (!retried && ((response && response.errors) || networkError)) {\n retried = true;\n var graphQLErrors = [];\n var responseErrors = response && response.errors;\n if (isNonEmptyArray(responseErrors)) {\n graphQLErrors.push.apply(graphQLErrors, responseErrors);\n }\n var networkErrors = networkError &&\n networkError.result &&\n networkError.result.errors;\n if (isNonEmptyArray(networkErrors)) {\n graphQLErrors.push.apply(graphQLErrors, networkErrors);\n }\n var disablePayload = {\n response: response,\n networkError: networkError,\n operation: operation,\n graphQLErrors: isNonEmptyArray(graphQLErrors) ? graphQLErrors : void 0,\n };\n supportsPersistedQueries = !disable(disablePayload);\n if (collectErrorsByMessage(graphQLErrors).PersistedQueryNotFound ||\n !supportsPersistedQueries) {\n if (subscription)\n subscription.unsubscribe();\n operation.setContext({\n http: {\n includeQuery: true,\n includeExtensions: supportsPersistedQueries,\n },\n fetchOptions: {\n method: 'POST',\n },\n });\n if (setFetchOptions) {\n operation.setContext({ fetchOptions: originalFetchOptions });\n }\n subscription = forward(operation).subscribe(handler);\n return;\n }\n }\n cb();\n };\n var handler = {\n next: function (response) {\n retry({ response: response }, function () { return observer.next(response); });\n },\n error: function (networkError) {\n retry({ networkError: networkError }, function () { return observer.error(networkError); });\n },\n complete: observer.complete.bind(observer),\n };\n operation.setContext({\n http: {\n includeQuery: !supportsPersistedQueries,\n includeExtensions: supportsPersistedQueries,\n },\n });\n if (useGETForHashedQueries &&\n supportsPersistedQueries &&\n !operationDefinesMutation(operation)) {\n operation.setContext(function (_a) {\n var _b = _a.fetchOptions, fetchOptions = _b === void 0 ? {} : _b;\n originalFetchOptions = fetchOptions;\n return {\n fetchOptions: __assign(__assign({}, fetchOptions), { method: 'GET' }),\n };\n });\n setFetchOptions = true;\n }\n if (supportsPersistedQueries) {\n getQueryHash(query).then(function (sha256Hash) {\n operation.extensions.persistedQuery = {\n version: VERSION,\n sha256Hash: sha256Hash,\n };\n subscription = forward(operation).subscribe(handler);\n }).catch(observer.error.bind(observer));\n ;\n }\n else {\n subscription = forward(operation).subscribe(handler);\n }\n return function () {\n if (subscription)\n subscription.unsubscribe();\n };\n });\n });\n};\n//# sourceMappingURL=index.js.map"],"names":["PersistedQueryLink","isNonEmptyArray","invariant","compact","print","ApolloLink","Observable","__assign"],"mappings":";;;;;;;;;;AAKU,IAAC,OAAO,GAAG,EAAE;AACZA,oCAAmB;AAC9B,CAAC,UAAU,kBAAkB,EAAE;AAI/B,CAAC,EAAEA,0BAAkB,KAAKA,0BAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,SAAS,sBAAsB,CAAC,aAAa,EAAE;AAC/C,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxC,IAAI,IAAIC,yBAAe,CAAC,aAAa,CAAC,EAAE;AACxC,QAAQ,aAAa,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAC7F,KAAK;AACL,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,IAAI,cAAc,GAAG;AACrB,IAAI,OAAO,EAAE,UAAU,EAAE,EAAE;AAC3B,QAAQ,IAAI,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;AACvE,QAAQ,IAAI,aAAa,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;AAClE,QAAQ,IAAI,aAAa,CAAC,0BAA0B,EAAE;AACtD,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,aAAa,CAAC,sBAAsB,EAAE;AAClD,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,IAAI,QAAQ,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;AACvD,QAAQ,IAAI,QAAQ;AACpB,YAAY,QAAQ,CAAC,MAAM;AAC3B,aAAa,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE;AAClE,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,sBAAsB,EAAE,KAAK;AACjC,CAAC,CAAC;AACF,SAAS,wBAAwB,CAAC,SAAS,EAAE;AAC7C,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;AACrI,CAAC;AACD,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACrD,IAAI,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AAClC,IAAI,kBAAkB,GAAG,CAAC,CAAC;AACjB,IAAC,wBAAwB,GAAG,UAAU,OAAO,EAAE;AACzD,IAAI,OAAO,GAAGC,iBAAS,CAAC,OAAO,KAAK,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU;AACxE,QAAQ,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU,CAAC,EAAE,8DAA8D;AACnH,QAAQ,sEAAsE;AAC9E,QAAQ,YAAY,CAAC,GAAGA,iBAAS,CAAC,OAAO,KAAK,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU;AAClF,QAAQ,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;AACzD,IAAI,IAAI,EAAE,GAAGC,iBAAO,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,UAAU,KAAK,EAAE;AACzI,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAACC,aAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrD,KAAK,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,sBAAsB,GAAG,EAAE,CAAC,sBAAsB,CAAC;AACrF,IAAI,IAAI,wBAAwB,GAAG,IAAI,CAAC;AACxC,IAAI,IAAI,cAAc,GAAG,SAAS,GAAG,kBAAkB,EAAE,CAAC;AAC1D,IAAI,IAAI,cAAc,GAAG,UAAU,KAAK,EAAE;AAC1C,QAAQ,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACxF,KAAK,CAAC;AACN,IAAI,SAAS,YAAY,CAAC,KAAK,EAAE;AACjC,QAAQ,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACjD,YAAY,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AACzC,SAAS;AACT,QAAQ,IAAI,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,MAAM;AACnB,YAAY,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,QAAQ,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;AAC1D,cAAc,MAAM,CAAC,cAAc,CAAC;AACpC,cAAc,MAAM,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAC7D,KAAK;AACL,IAAI,OAAO,IAAIC,eAAU,CAAC,UAAU,SAAS,EAAE,OAAO,EAAE;AACxD,QAAQ,OAAO,GAAGH,iBAAS,CAAC,OAAO,EAAE,0DAA0D,CAAC,GAAGA,iBAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1H,QAAQ,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AACpC,QAAQ,OAAO,IAAII,oBAAU,CAAC,UAAU,QAAQ,EAAE;AAClD,YAAY,IAAI,YAAY,CAAC;AAC7B,YAAY,IAAI,OAAO,GAAG,KAAK,CAAC;AAChC,YAAY,IAAI,oBAAoB,CAAC;AACrC,YAAY,IAAI,eAAe,GAAG,KAAK,CAAC;AACxC,YAAY,IAAI,KAAK,GAAG,UAAU,EAAE,EAAE,EAAE,EAAE;AAC1C,gBAAgB,IAAI,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;AAC3E,gBAAgB,IAAI,CAAC,OAAO,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,EAAE;AACjF,oBAAoB,OAAO,GAAG,IAAI,CAAC;AACnC,oBAAoB,IAAI,aAAa,GAAG,EAAE,CAAC;AAC3C,oBAAoB,IAAI,cAAc,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;AACrE,oBAAoB,IAAIL,yBAAe,CAAC,cAAc,CAAC,EAAE;AACzD,wBAAwB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAChF,qBAAqB;AACrB,oBAAoB,IAAI,aAAa,GAAG,YAAY;AACpD,wBAAwB,YAAY,CAAC,MAAM;AAC3C,wBAAwB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACnD,oBAAoB,IAAIA,yBAAe,CAAC,aAAa,CAAC,EAAE;AACxD,wBAAwB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAC/E,qBAAqB;AACrB,oBAAoB,IAAI,cAAc,GAAG;AACzC,wBAAwB,QAAQ,EAAE,QAAQ;AAC1C,wBAAwB,YAAY,EAAE,YAAY;AAClD,wBAAwB,SAAS,EAAE,SAAS;AAC5C,wBAAwB,aAAa,EAAEA,yBAAe,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,KAAK,CAAC;AAC9F,qBAAqB,CAAC;AACtB,oBAAoB,wBAAwB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACxE,oBAAoB,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAC,sBAAsB;AACpF,wBAAwB,CAAC,wBAAwB,EAAE;AACnD,wBAAwB,IAAI,YAAY;AACxC,4BAA4B,YAAY,CAAC,WAAW,EAAE,CAAC;AACvD,wBAAwB,SAAS,CAAC,UAAU,CAAC;AAC7C,4BAA4B,IAAI,EAAE;AAClC,gCAAgC,YAAY,EAAE,IAAI;AAClD,gCAAgC,iBAAiB,EAAE,wBAAwB;AAC3E,6BAA6B;AAC7B,4BAA4B,YAAY,EAAE;AAC1C,gCAAgC,MAAM,EAAE,MAAM;AAC9C,6BAA6B;AAC7B,yBAAyB,CAAC,CAAC;AAC3B,wBAAwB,IAAI,eAAe,EAAE;AAC7C,4BAA4B,SAAS,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC;AACzF,yBAAyB;AACzB,wBAAwB,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC7E,wBAAwB,OAAO;AAC/B,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,EAAE,EAAE,CAAC;AACrB,aAAa,CAAC;AACd,YAAY,IAAI,OAAO,GAAG;AAC1B,gBAAgB,IAAI,EAAE,UAAU,QAAQ,EAAE;AAC1C,oBAAoB,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;AACnG,iBAAiB;AACjB,gBAAgB,KAAK,EAAE,UAAU,YAAY,EAAE;AAC/C,oBAAoB,KAAK,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;AAChH,iBAAiB;AACjB,gBAAgB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1D,aAAa,CAAC;AACd,YAAY,SAAS,CAAC,UAAU,CAAC;AACjC,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,YAAY,EAAE,CAAC,wBAAwB;AAC3D,oBAAoB,iBAAiB,EAAE,wBAAwB;AAC/D,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,sBAAsB;AACtC,gBAAgB,wBAAwB;AACxC,gBAAgB,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE;AACtD,gBAAgB,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE;AACnD,oBAAoB,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACrF,oBAAoB,oBAAoB,GAAG,YAAY,CAAC;AACxD,oBAAoB,OAAO;AAC3B,wBAAwB,YAAY,EAAEM,cAAQ,CAACA,cAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC7F,qBAAqB,CAAC;AACtB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,eAAe,GAAG,IAAI,CAAC;AACvC,aAAa;AACb,YAAY,IAAI,wBAAwB,EAAE;AAC1C,gBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,UAAU,EAAE;AAC/D,oBAAoB,SAAS,CAAC,UAAU,CAAC,cAAc,GAAG;AAC1D,wBAAwB,OAAO,EAAE,OAAO;AACxC,wBAAwB,UAAU,EAAE,UAAU;AAC9C,qBAAqB,CAAC;AACtB,oBAAoB,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACzE,iBAAiB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAExD,aAAa;AACb,iBAAiB;AACjB,gBAAgB,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACrE,aAAa;AACb,YAAY,OAAO,YAAY;AAC/B,gBAAgB,IAAI,YAAY;AAChC,oBAAoB,YAAY,CAAC,WAAW,EAAE,CAAC;AAC/C,aAAa,CAAC;AACd,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP;;;;;"}
@@ -0,0 +1,174 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var globals = require('../../utilities/globals');
7
+ var graphql = require('graphql');
8
+ var core = require('../core');
9
+ var utilities = require('../../utilities');
10
+
11
+ var VERSION = 1;
12
+ exports.PersistedQueryLink = void 0;
13
+ (function (PersistedQueryLink) {
14
+ })(exports.PersistedQueryLink || (exports.PersistedQueryLink = {}));
15
+ function collectErrorsByMessage(graphQLErrors) {
16
+ var collected = Object.create(null);
17
+ if (utilities.isNonEmptyArray(graphQLErrors)) {
18
+ graphQLErrors.forEach(function (error) { return collected[error.message] = error; });
19
+ }
20
+ return collected;
21
+ }
22
+ var defaultOptions = {
23
+ disable: function (_a) {
24
+ var graphQLErrors = _a.graphQLErrors, operation = _a.operation;
25
+ var errorMessages = collectErrorsByMessage(graphQLErrors);
26
+ if (errorMessages.PersistedQueryNotSupported) {
27
+ return true;
28
+ }
29
+ if (errorMessages.PersistedQueryNotFound) {
30
+ return false;
31
+ }
32
+ var response = operation.getContext().response;
33
+ if (response &&
34
+ response.status &&
35
+ (response.status === 400 || response.status === 500)) {
36
+ return true;
37
+ }
38
+ return false;
39
+ },
40
+ useGETForHashedQueries: false,
41
+ };
42
+ function operationDefinesMutation(operation) {
43
+ return operation.query.definitions.some(function (d) { return d.kind === 'OperationDefinition' && d.operation === 'mutation'; });
44
+ }
45
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
46
+ var hashesByQuery = new WeakMap();
47
+ var nextHashesChildKey = 0;
48
+ var createPersistedQueryLink = function (options) {
49
+ __DEV__ ? globals.invariant(options && (typeof options.sha256 === 'function' ||
50
+ typeof options.generateHash === 'function'), 'Missing/invalid "sha256" or "generateHash" function. Please ' +
51
+ 'configure one using the "createPersistedQueryLink(options)" options ' +
52
+ 'parameter.') : globals.invariant(options && (typeof options.sha256 === 'function' ||
53
+ typeof options.generateHash === 'function'), 22);
54
+ var _a = utilities.compact(defaultOptions, options), sha256 = _a.sha256, _b = _a.generateHash, generateHash = _b === void 0 ? function (query) {
55
+ return Promise.resolve(sha256(graphql.print(query)));
56
+ } : _b, disable = _a.disable, useGETForHashedQueries = _a.useGETForHashedQueries;
57
+ var supportsPersistedQueries = true;
58
+ var hashesChildKey = 'forLink' + nextHashesChildKey++;
59
+ var getHashPromise = function (query) {
60
+ return new Promise(function (resolve) { return resolve(generateHash(query)); });
61
+ };
62
+ function getQueryHash(query) {
63
+ if (!query || typeof query !== 'object') {
64
+ return getHashPromise(query);
65
+ }
66
+ var hashes = hashesByQuery.get(query);
67
+ if (!hashes)
68
+ hashesByQuery.set(query, hashes = Object.create(null));
69
+ return hasOwnProperty.call(hashes, hashesChildKey)
70
+ ? hashes[hashesChildKey]
71
+ : hashes[hashesChildKey] = getHashPromise(query);
72
+ }
73
+ return new core.ApolloLink(function (operation, forward) {
74
+ __DEV__ ? globals.invariant(forward, 'PersistedQueryLink cannot be the last link in the chain.') : globals.invariant(forward, 23);
75
+ var query = operation.query;
76
+ return new utilities.Observable(function (observer) {
77
+ var subscription;
78
+ var retried = false;
79
+ var originalFetchOptions;
80
+ var setFetchOptions = false;
81
+ var retry = function (_a, cb) {
82
+ var response = _a.response, networkError = _a.networkError;
83
+ if (!retried && ((response && response.errors) || networkError)) {
84
+ retried = true;
85
+ var graphQLErrors = [];
86
+ var responseErrors = response && response.errors;
87
+ if (utilities.isNonEmptyArray(responseErrors)) {
88
+ graphQLErrors.push.apply(graphQLErrors, responseErrors);
89
+ }
90
+ var networkErrors = networkError &&
91
+ networkError.result &&
92
+ networkError.result.errors;
93
+ if (utilities.isNonEmptyArray(networkErrors)) {
94
+ graphQLErrors.push.apply(graphQLErrors, networkErrors);
95
+ }
96
+ var disablePayload = {
97
+ response: response,
98
+ networkError: networkError,
99
+ operation: operation,
100
+ graphQLErrors: utilities.isNonEmptyArray(graphQLErrors) ? graphQLErrors : void 0,
101
+ };
102
+ supportsPersistedQueries = !disable(disablePayload);
103
+ if (collectErrorsByMessage(graphQLErrors).PersistedQueryNotFound ||
104
+ !supportsPersistedQueries) {
105
+ if (subscription)
106
+ subscription.unsubscribe();
107
+ operation.setContext({
108
+ http: {
109
+ includeQuery: true,
110
+ includeExtensions: supportsPersistedQueries,
111
+ },
112
+ fetchOptions: {
113
+ method: 'POST',
114
+ },
115
+ });
116
+ if (setFetchOptions) {
117
+ operation.setContext({ fetchOptions: originalFetchOptions });
118
+ }
119
+ subscription = forward(operation).subscribe(handler);
120
+ return;
121
+ }
122
+ }
123
+ cb();
124
+ };
125
+ var handler = {
126
+ next: function (response) {
127
+ retry({ response: response }, function () { return observer.next(response); });
128
+ },
129
+ error: function (networkError) {
130
+ retry({ networkError: networkError }, function () { return observer.error(networkError); });
131
+ },
132
+ complete: observer.complete.bind(observer),
133
+ };
134
+ operation.setContext({
135
+ http: {
136
+ includeQuery: !supportsPersistedQueries,
137
+ includeExtensions: supportsPersistedQueries,
138
+ },
139
+ });
140
+ if (useGETForHashedQueries &&
141
+ supportsPersistedQueries &&
142
+ !operationDefinesMutation(operation)) {
143
+ operation.setContext(function (_a) {
144
+ var _b = _a.fetchOptions, fetchOptions = _b === void 0 ? {} : _b;
145
+ originalFetchOptions = fetchOptions;
146
+ return {
147
+ fetchOptions: tslib.__assign(tslib.__assign({}, fetchOptions), { method: 'GET' }),
148
+ };
149
+ });
150
+ setFetchOptions = true;
151
+ }
152
+ if (supportsPersistedQueries) {
153
+ getQueryHash(query).then(function (sha256Hash) {
154
+ operation.extensions.persistedQuery = {
155
+ version: VERSION,
156
+ sha256Hash: sha256Hash,
157
+ };
158
+ subscription = forward(operation).subscribe(handler);
159
+ }).catch(observer.error.bind(observer));
160
+ }
161
+ else {
162
+ subscription = forward(operation).subscribe(handler);
163
+ }
164
+ return function () {
165
+ if (subscription)
166
+ subscription.unsubscribe();
167
+ };
168
+ });
169
+ });
170
+ };
171
+
172
+ exports.VERSION = VERSION;
173
+ exports.createPersistedQueryLink = createPersistedQueryLink;
174
+ //# sourceMappingURL=persisted-queries.cjs.map
@@ -0,0 +1,170 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var core = require('../core');
7
+ var utilities = require('../../utilities');
8
+
9
+ function buildDelayFunction(delayOptions) {
10
+ var _a = delayOptions || {}, _b = _a.initial, initial = _b === void 0 ? 300 : _b, _c = _a.jitter, jitter = _c === void 0 ? true : _c, _d = _a.max, max = _d === void 0 ? Infinity : _d;
11
+ var baseDelay = jitter ? initial : initial / 2;
12
+ return function delayFunction(count) {
13
+ var delay = Math.min(max, baseDelay * Math.pow(2, count));
14
+ if (jitter) {
15
+ delay = Math.random() * delay;
16
+ }
17
+ return delay;
18
+ };
19
+ }
20
+
21
+ function buildRetryFunction(retryOptions) {
22
+ var _a = retryOptions || {}, retryIf = _a.retryIf, _b = _a.max, max = _b === void 0 ? 5 : _b;
23
+ return function retryFunction(count, operation, error) {
24
+ if (count >= max)
25
+ return false;
26
+ return retryIf ? retryIf(error, operation) : !!error;
27
+ };
28
+ }
29
+
30
+ var RetryableOperation = (function () {
31
+ function RetryableOperation(operation, nextLink, delayFor, retryIf) {
32
+ var _this = this;
33
+ this.operation = operation;
34
+ this.nextLink = nextLink;
35
+ this.delayFor = delayFor;
36
+ this.retryIf = retryIf;
37
+ this.retryCount = 0;
38
+ this.values = [];
39
+ this.complete = false;
40
+ this.canceled = false;
41
+ this.observers = [];
42
+ this.currentSubscription = null;
43
+ this.onNext = function (value) {
44
+ _this.values.push(value);
45
+ for (var _i = 0, _a = _this.observers; _i < _a.length; _i++) {
46
+ var observer = _a[_i];
47
+ if (!observer)
48
+ continue;
49
+ observer.next(value);
50
+ }
51
+ };
52
+ this.onComplete = function () {
53
+ _this.complete = true;
54
+ for (var _i = 0, _a = _this.observers; _i < _a.length; _i++) {
55
+ var observer = _a[_i];
56
+ if (!observer)
57
+ continue;
58
+ observer.complete();
59
+ }
60
+ };
61
+ this.onError = function (error) { return tslib.__awaiter(_this, void 0, void 0, function () {
62
+ var shouldRetry, _i, _a, observer;
63
+ return tslib.__generator(this, function (_b) {
64
+ switch (_b.label) {
65
+ case 0:
66
+ this.retryCount += 1;
67
+ return [4, this.retryIf(this.retryCount, this.operation, error)];
68
+ case 1:
69
+ shouldRetry = _b.sent();
70
+ if (shouldRetry) {
71
+ this.scheduleRetry(this.delayFor(this.retryCount, this.operation, error));
72
+ return [2];
73
+ }
74
+ this.error = error;
75
+ for (_i = 0, _a = this.observers; _i < _a.length; _i++) {
76
+ observer = _a[_i];
77
+ if (!observer)
78
+ continue;
79
+ observer.error(error);
80
+ }
81
+ return [2];
82
+ }
83
+ });
84
+ }); };
85
+ }
86
+ RetryableOperation.prototype.subscribe = function (observer) {
87
+ if (this.canceled) {
88
+ throw new Error("Subscribing to a retryable link that was canceled is not supported");
89
+ }
90
+ this.observers.push(observer);
91
+ for (var _i = 0, _a = this.values; _i < _a.length; _i++) {
92
+ var value = _a[_i];
93
+ observer.next(value);
94
+ }
95
+ if (this.complete) {
96
+ observer.complete();
97
+ }
98
+ else if (this.error) {
99
+ observer.error(this.error);
100
+ }
101
+ };
102
+ RetryableOperation.prototype.unsubscribe = function (observer) {
103
+ var index = this.observers.indexOf(observer);
104
+ if (index < 0) {
105
+ throw new Error("RetryLink BUG! Attempting to unsubscribe unknown observer!");
106
+ }
107
+ this.observers[index] = null;
108
+ if (this.observers.every(function (o) { return o === null; })) {
109
+ this.cancel();
110
+ }
111
+ };
112
+ RetryableOperation.prototype.start = function () {
113
+ if (this.currentSubscription)
114
+ return;
115
+ this.try();
116
+ };
117
+ RetryableOperation.prototype.cancel = function () {
118
+ if (this.currentSubscription) {
119
+ this.currentSubscription.unsubscribe();
120
+ }
121
+ clearTimeout(this.timerId);
122
+ this.timerId = undefined;
123
+ this.currentSubscription = null;
124
+ this.canceled = true;
125
+ };
126
+ RetryableOperation.prototype.try = function () {
127
+ this.currentSubscription = this.nextLink(this.operation).subscribe({
128
+ next: this.onNext,
129
+ error: this.onError,
130
+ complete: this.onComplete,
131
+ });
132
+ };
133
+ RetryableOperation.prototype.scheduleRetry = function (delay) {
134
+ var _this = this;
135
+ if (this.timerId) {
136
+ throw new Error("RetryLink BUG! Encountered overlapping retries");
137
+ }
138
+ this.timerId = setTimeout(function () {
139
+ _this.timerId = undefined;
140
+ _this.try();
141
+ }, delay);
142
+ };
143
+ return RetryableOperation;
144
+ }());
145
+ var RetryLink = (function (_super) {
146
+ tslib.__extends(RetryLink, _super);
147
+ function RetryLink(options) {
148
+ var _this = _super.call(this) || this;
149
+ var _a = options || {}, attempts = _a.attempts, delay = _a.delay;
150
+ _this.delayFor =
151
+ typeof delay === 'function' ? delay : buildDelayFunction(delay);
152
+ _this.retryIf =
153
+ typeof attempts === 'function' ? attempts : buildRetryFunction(attempts);
154
+ return _this;
155
+ }
156
+ RetryLink.prototype.request = function (operation, nextLink) {
157
+ var retryable = new RetryableOperation(operation, nextLink, this.delayFor, this.retryIf);
158
+ retryable.start();
159
+ return new utilities.Observable(function (observer) {
160
+ retryable.subscribe(observer);
161
+ return function () {
162
+ retryable.unsubscribe(observer);
163
+ };
164
+ });
165
+ };
166
+ return RetryLink;
167
+ }(core.ApolloLink));
168
+
169
+ exports.RetryLink = RetryLink;
170
+ //# sourceMappingURL=retry.cjs.map
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var graphql = require('graphql');
7
+ var core = require('../core');
8
+ var utilities = require('../../utilities');
9
+
10
+ var SchemaLink = (function (_super) {
11
+ tslib.__extends(SchemaLink, _super);
12
+ function SchemaLink(options) {
13
+ var _this = _super.call(this) || this;
14
+ _this.schema = options.schema;
15
+ _this.rootValue = options.rootValue;
16
+ _this.context = options.context;
17
+ _this.validate = !!options.validate;
18
+ return _this;
19
+ }
20
+ SchemaLink.prototype.request = function (operation) {
21
+ var _this = this;
22
+ return new utilities.Observable(function (observer) {
23
+ new Promise(function (resolve) { return resolve(typeof _this.context === 'function'
24
+ ? _this.context(operation)
25
+ : _this.context); }).then(function (context) {
26
+ if (_this.validate) {
27
+ var validationErrors = graphql.validate(_this.schema, operation.query);
28
+ if (validationErrors.length > 0) {
29
+ return { errors: validationErrors };
30
+ }
31
+ }
32
+ return graphql.execute({
33
+ schema: _this.schema,
34
+ document: operation.query,
35
+ rootValue: _this.rootValue,
36
+ contextValue: context,
37
+ variableValues: operation.variables,
38
+ operationName: operation.operationName,
39
+ });
40
+ }).then(function (data) {
41
+ if (!observer.closed) {
42
+ observer.next(data);
43
+ observer.complete();
44
+ }
45
+ }).catch(function (error) {
46
+ if (!observer.closed) {
47
+ observer.error(error);
48
+ }
49
+ });
50
+ });
51
+ };
52
+ return SchemaLink;
53
+ }(core.ApolloLink));
54
+
55
+ exports.SchemaLink = SchemaLink;
56
+ //# sourceMappingURL=schema.cjs.map
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var graphql = require('graphql');
7
+ var core = require('../core');
8
+ var utilities = require('../../utilities');
9
+ var errors = require('../../errors');
10
+
11
+ function isLikeCloseEvent(val) {
12
+ return utilities.isNonNullObject(val) && 'code' in val && 'reason' in val;
13
+ }
14
+ var GraphQLWsLink = (function (_super) {
15
+ tslib.__extends(GraphQLWsLink, _super);
16
+ function GraphQLWsLink(client) {
17
+ var _this = _super.call(this) || this;
18
+ _this.client = client;
19
+ return _this;
20
+ }
21
+ GraphQLWsLink.prototype.request = function (operation) {
22
+ var _this = this;
23
+ return new utilities.Observable(function (observer) {
24
+ return _this.client.subscribe(tslib.__assign(tslib.__assign({}, operation), { query: graphql.print(operation.query) }), {
25
+ next: observer.next.bind(observer),
26
+ complete: observer.complete.bind(observer),
27
+ error: function (err) {
28
+ if (err instanceof Error) {
29
+ return observer.error(err);
30
+ }
31
+ if (isLikeCloseEvent(err)) {
32
+ return observer.error(new Error("Socket closed with event ".concat(err.code, " ").concat(err.reason || "")));
33
+ }
34
+ return observer.error(new errors.ApolloError({
35
+ graphQLErrors: Array.isArray(err) ? err : [err],
36
+ }));
37
+ },
38
+ });
39
+ });
40
+ };
41
+ return GraphQLWsLink;
42
+ }(core.ApolloLink));
43
+
44
+ exports.GraphQLWsLink = GraphQLWsLink;
45
+ //# sourceMappingURL=subscriptions.cjs.map
@@ -0,0 +1,115 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var globals = require('../../utilities/globals');
6
+ var utilities = require('../../utilities');
7
+ var tslib = require('tslib');
8
+
9
+ function fromError(errorValue) {
10
+ return new utilities.Observable(function (observer) {
11
+ observer.error(errorValue);
12
+ });
13
+ }
14
+
15
+ function toPromise(observable) {
16
+ var completed = false;
17
+ return new Promise(function (resolve, reject) {
18
+ observable.subscribe({
19
+ next: function (data) {
20
+ if (completed) {
21
+ __DEV__ && globals.invariant.warn("Promise Wrapper does not support multiple results from Observable");
22
+ }
23
+ else {
24
+ completed = true;
25
+ resolve(data);
26
+ }
27
+ },
28
+ error: reject,
29
+ });
30
+ });
31
+ }
32
+
33
+ function fromPromise(promise) {
34
+ return new utilities.Observable(function (observer) {
35
+ promise
36
+ .then(function (value) {
37
+ observer.next(value);
38
+ observer.complete();
39
+ })
40
+ .catch(observer.error.bind(observer));
41
+ });
42
+ }
43
+
44
+ var throwServerError = function (response, result, message) {
45
+ var error = new Error(message);
46
+ error.name = 'ServerError';
47
+ error.response = response;
48
+ error.statusCode = response.status;
49
+ error.result = result;
50
+ throw error;
51
+ };
52
+
53
+ function validateOperation(operation) {
54
+ var OPERATION_FIELDS = [
55
+ 'query',
56
+ 'operationName',
57
+ 'variables',
58
+ 'extensions',
59
+ 'context',
60
+ ];
61
+ for (var _i = 0, _a = Object.keys(operation); _i < _a.length; _i++) {
62
+ var key = _a[_i];
63
+ if (OPERATION_FIELDS.indexOf(key) < 0) {
64
+ throw __DEV__ ? new globals.InvariantError("illegal argument: ".concat(key)) : new globals.InvariantError(24);
65
+ }
66
+ }
67
+ return operation;
68
+ }
69
+
70
+ function createOperation(starting, operation) {
71
+ var context = tslib.__assign({}, starting);
72
+ var setContext = function (next) {
73
+ if (typeof next === 'function') {
74
+ context = tslib.__assign(tslib.__assign({}, context), next(context));
75
+ }
76
+ else {
77
+ context = tslib.__assign(tslib.__assign({}, context), next);
78
+ }
79
+ };
80
+ var getContext = function () { return (tslib.__assign({}, context)); };
81
+ Object.defineProperty(operation, 'setContext', {
82
+ enumerable: false,
83
+ value: setContext,
84
+ });
85
+ Object.defineProperty(operation, 'getContext', {
86
+ enumerable: false,
87
+ value: getContext,
88
+ });
89
+ return operation;
90
+ }
91
+
92
+ function transformOperation(operation) {
93
+ var transformedOperation = {
94
+ variables: operation.variables || {},
95
+ extensions: operation.extensions || {},
96
+ operationName: operation.operationName,
97
+ query: operation.query,
98
+ };
99
+ if (!transformedOperation.operationName) {
100
+ transformedOperation.operationName =
101
+ typeof transformedOperation.query !== 'string'
102
+ ? utilities.getOperationName(transformedOperation.query) || undefined
103
+ : '';
104
+ }
105
+ return transformedOperation;
106
+ }
107
+
108
+ exports.createOperation = createOperation;
109
+ exports.fromError = fromError;
110
+ exports.fromPromise = fromPromise;
111
+ exports.throwServerError = throwServerError;
112
+ exports.toPromise = toPromise;
113
+ exports.transformOperation = transformOperation;
114
+ exports.validateOperation = validateOperation;
115
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var subscriptionsTransportWs = require('subscriptions-transport-ws');
7
+ var core = require('../core');
8
+
9
+ var WebSocketLink = (function (_super) {
10
+ tslib.__extends(WebSocketLink, _super);
11
+ function WebSocketLink(paramsOrClient) {
12
+ var _this = _super.call(this) || this;
13
+ if (paramsOrClient instanceof subscriptionsTransportWs.SubscriptionClient) {
14
+ _this.subscriptionClient = paramsOrClient;
15
+ }
16
+ else {
17
+ _this.subscriptionClient = new subscriptionsTransportWs.SubscriptionClient(paramsOrClient.uri, paramsOrClient.options, paramsOrClient.webSocketImpl);
18
+ }
19
+ return _this;
20
+ }
21
+ WebSocketLink.prototype.request = function (operation) {
22
+ return this.subscriptionClient.request(operation);
23
+ };
24
+ return WebSocketLink;
25
+ }(core.ApolloLink));
26
+
27
+ exports.WebSocketLink = WebSocketLink;
28
+ //# sourceMappingURL=ws.cjs.map
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var core = require('./core');
6
+ var react = require('./react');
7
+
8
+
9
+
10
+ for (var k in core) {
11
+ if (k !== 'default' && !exports.hasOwnProperty(k)) exports[k] = core[k];
12
+ }
13
+ for (var k in react) {
14
+ if (k !== 'default' && !exports.hasOwnProperty(k)) exports[k] = react[k];
15
+ }
16
+ //# sourceMappingURL=main.cjs.map