@commercetools-frontend/application-shell 21.9.0 → 21.12.0
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.
- package/dist/{application-entry-point-f104319e.esm.js → application-entry-point-01424eb5.esm.js} +276 -95
- package/dist/{application-entry-point-0650332e.cjs.prod.js → application-entry-point-93ad5f12.cjs.prod.js} +280 -94
- package/dist/{application-entry-point-9df8f75e.cjs.dev.js → application-entry-point-a9aa0d45.cjs.dev.js} +280 -94
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +21 -15
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +21 -15
- package/dist/commercetools-frontend-application-shell.esm.js +17 -15
- package/dist/{constants-3cf6ed64.esm.js → constants-a3c850be.esm.js} +4 -1
- package/dist/{constants-bf2e1d68.cjs.dev.js → constants-c2c238ff.cjs.prod.js} +4 -1
- package/dist/{constants-f34da47c.cjs.prod.js → constants-d9a5241e.cjs.dev.js} +4 -1
- package/dist/declarations/src/configure-apollo.d.ts +2 -2
- package/dist/declarations/src/constants.d.ts +3 -0
- package/dist/declarations/src/export-types.d.ts +9 -0
- package/dist/declarations/src/index.d.ts +3 -1
- package/dist/declarations/src/types/generated/ctp.d.ts +15 -1
- package/dist/declarations/src/utils/apollo-client-runtime-cache.d.ts +1 -2
- package/dist/declarations/src/utils/apollo-context.d.ts +3 -14
- package/dist/declarations/src/utils/get-mc-api-url/get-mc-api-url.d.ts +2 -7
- package/dist/declarations/src/utils/http-client.d.ts +29 -0
- package/dist/declarations/src/utils/index.d.ts +1 -1
- package/dist/{index-b0b16985.cjs.dev.js → index-149f53ec.cjs.dev.js} +9 -14
- package/dist/{index-edd1f296.esm.js → index-424de814.esm.js} +9 -14
- package/dist/{index-3dac983e.cjs.prod.js → index-f0bd3232.cjs.prod.js} +9 -14
- package/dist/{oidc-82e151f9.cjs.prod.js → oidc-5b507512.cjs.prod.js} +1 -1
- package/dist/{oidc-8af521ca.esm.js → oidc-5cae2dba.esm.js} +1 -1
- package/dist/{oidc-ff089e6f.cjs.dev.js → oidc-9134face.cjs.dev.js} +1 -1
- package/dist/{project-expired-23ed250a.cjs.prod.js → project-expired-18373b37.cjs.dev.js} +16 -14
- package/dist/{project-expired-e4b56600.esm.js → project-expired-457db600.esm.js} +16 -14
- package/dist/{project-expired-5f0f3bb2.cjs.dev.js → project-expired-de826ba3.cjs.prod.js} +16 -14
- package/dist/{project-not-found-11ee63f2.esm.js → project-not-found-0c6fe7f5.esm.js} +16 -14
- package/dist/{project-not-found-24cd5af4.cjs.dev.js → project-not-found-5c0fe8a1.cjs.dev.js} +16 -14
- package/dist/{project-not-found-cf44540b.cjs.prod.js → project-not-found-fa0e524c.cjs.prod.js} +16 -14
- package/dist/{project-not-initialized-e5b36044.cjs.dev.js → project-not-initialized-a1bf95fd.cjs.dev.js} +16 -14
- package/dist/{project-not-initialized-f160d31e.cjs.prod.js → project-not-initialized-da0fad06.cjs.prod.js} +16 -14
- package/dist/{project-not-initialized-23dd0a8d.esm.js → project-not-initialized-dc38f9f9.esm.js} +16 -14
- package/dist/{project-suspended-5b470857.esm.js → project-suspended-32b5b5b2.esm.js} +16 -14
- package/dist/{project-suspended-ad97c11c.cjs.dev.js → project-suspended-92518e78.cjs.dev.js} +16 -14
- package/dist/{project-suspended-f6f25355.cjs.prod.js → project-suspended-cbad48d9.cjs.prod.js} +16 -14
- package/dist/{quick-access-5223e91a.esm.js → quick-access-793ccbe9.esm.js} +13 -11
- package/dist/{quick-access-4077e80d.cjs.dev.js → quick-access-9dc493d3.cjs.dev.js} +13 -11
- package/dist/{quick-access-cdb8ce9e.cjs.prod.js → quick-access-feca5530.cjs.prod.js} +13 -11
- package/dist/{service-page-project-switcher-057e819c.cjs.prod.js → service-page-project-switcher-15a90544.cjs.prod.js} +1 -1
- package/dist/{service-page-project-switcher-f29ee61d.esm.js → service-page-project-switcher-5f17d0e5.esm.js} +1 -1
- package/dist/{service-page-project-switcher-ab9d0c0e.cjs.dev.js → service-page-project-switcher-b9c66554.cjs.dev.js} +1 -1
- package/package.json +16 -16
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -2
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +13 -3
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +13 -3
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +13 -3
|
@@ -22,7 +22,7 @@ var omitEmpty = require('omit-empty-es');
|
|
|
22
22
|
var notifications = require('@commercetools-frontend/notifications');
|
|
23
23
|
var sdk = require('@commercetools-frontend/sdk');
|
|
24
24
|
var constants = require('@commercetools-frontend/constants');
|
|
25
|
-
var constants$1 = require('./constants-
|
|
25
|
+
var constants$1 = require('./constants-d9a5241e.cjs.dev.js');
|
|
26
26
|
var reactNotifications = require('@commercetools-frontend/react-notifications');
|
|
27
27
|
var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
|
|
28
28
|
var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
@@ -38,7 +38,6 @@ var sentry = require('@commercetools-frontend/sentry');
|
|
|
38
38
|
var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
|
|
39
39
|
var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
|
|
40
40
|
var client = require('@apollo/client');
|
|
41
|
-
var createHttpUserAgent = require('@commercetools/http-user-agent');
|
|
42
41
|
var loggerLink = require('apollo-link-logger');
|
|
43
42
|
var _Array$from = require('@babel/runtime-corejs3/core-js-stable/array/from');
|
|
44
43
|
var _Symbol = require('@babel/runtime-corejs3/core-js-stable/symbol');
|
|
@@ -49,8 +48,19 @@ var history = require('@commercetools-frontend/browser-history');
|
|
|
49
48
|
var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
|
|
50
49
|
var _Object$values = require('@babel/runtime-corejs3/core-js-stable/object/values');
|
|
51
50
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
51
|
+
var createHttpUserAgent = require('@commercetools/http-user-agent');
|
|
52
52
|
var uuid = require('uuid');
|
|
53
53
|
var _JSON$stringify = require('@babel/runtime-corejs3/core-js-stable/json/stringify');
|
|
54
|
+
var _Reflect$construct = require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
|
|
55
|
+
var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/asyncToGenerator');
|
|
56
|
+
var _createClass = require('@babel/runtime-corejs3/helpers/createClass');
|
|
57
|
+
var _classCallCheck = require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
58
|
+
var _assertThisInitialized = require('@babel/runtime-corejs3/helpers/assertThisInitialized');
|
|
59
|
+
var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
|
|
60
|
+
var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
|
|
61
|
+
var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
|
|
62
|
+
var _wrapNativeSuper = require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
|
|
63
|
+
var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
|
|
54
64
|
var retry = require('@apollo/client/link/retry');
|
|
55
65
|
var _pt = require('prop-types');
|
|
56
66
|
var react = require('react');
|
|
@@ -86,7 +96,6 @@ var _indexOfInstanceProperty__default = /*#__PURE__*/_interopDefault(_indexOfIns
|
|
|
86
96
|
var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanceProperty);
|
|
87
97
|
var _URL__default = /*#__PURE__*/_interopDefault(_URL);
|
|
88
98
|
var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
|
|
89
|
-
var createHttpUserAgent__default = /*#__PURE__*/_interopDefault(createHttpUserAgent);
|
|
90
99
|
var loggerLink__default = /*#__PURE__*/_interopDefault(loggerLink);
|
|
91
100
|
var _Array$from__default = /*#__PURE__*/_interopDefault(_Array$from);
|
|
92
101
|
var _Symbol__default = /*#__PURE__*/_interopDefault(_Symbol);
|
|
@@ -96,12 +105,15 @@ var history__default = /*#__PURE__*/_interopDefault(history);
|
|
|
96
105
|
var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
|
|
97
106
|
var _Object$values__default = /*#__PURE__*/_interopDefault(_Object$values);
|
|
98
107
|
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
108
|
+
var createHttpUserAgent__default = /*#__PURE__*/_interopDefault(createHttpUserAgent);
|
|
99
109
|
var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
|
|
110
|
+
var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construct);
|
|
111
|
+
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefault(_regeneratorRuntime);
|
|
100
112
|
var _pt__default = /*#__PURE__*/_interopDefault(_pt);
|
|
101
113
|
var invariant__default = /*#__PURE__*/_interopDefault(invariant);
|
|
102
114
|
|
|
103
115
|
// NOTE: This string will be replaced on build time with the package version.
|
|
104
|
-
var version = "21.
|
|
116
|
+
var version = "21.12.0";
|
|
105
117
|
|
|
106
118
|
var isAddNotificationErrorAction = function isAddNotificationErrorAction(action) {
|
|
107
119
|
var errorAction = action;
|
|
@@ -229,9 +241,9 @@ var messages = reactIntl.defineMessages({
|
|
|
229
241
|
}
|
|
230
242
|
});
|
|
231
243
|
|
|
232
|
-
function ownKeys$
|
|
244
|
+
function ownKeys$6(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
233
245
|
|
|
234
|
-
function _objectSpread$
|
|
246
|
+
function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$6(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$6(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
235
247
|
|
|
236
248
|
var getPortalContainer = function getPortalContainer() {
|
|
237
249
|
return process.env.NODE_ENV === 'test' ? document.body : document.querySelector("#".concat(REQUESTS_IN_FLIGHT_LOADER_DOM_ID));
|
|
@@ -243,7 +255,7 @@ var RequestsInFlightLoader = function RequestsInFlightLoader() {
|
|
|
243
255
|
});
|
|
244
256
|
if (!hasRequestsInFlight) return null;
|
|
245
257
|
return /*#__PURE__*/ReactDOM__default["default"].createPortal(jsxRuntime.jsx(LoadingSpinner__default["default"], {
|
|
246
|
-
children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$
|
|
258
|
+
children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$6({}, messages.labelLoading))
|
|
247
259
|
}), getPortalContainer());
|
|
248
260
|
};
|
|
249
261
|
|
|
@@ -349,52 +361,47 @@ function getCorrelationId() {
|
|
|
349
361
|
return _filterInstanceProperty__default["default"](_context = ['mc', selectProjectKeyFromUrl(), userId, uuid.v4()]).call(_context, skipMalformedPart).join('/');
|
|
350
362
|
}
|
|
351
363
|
|
|
352
|
-
|
|
353
|
-
|
|
364
|
+
// NOTE: Copied from `@application-shell-connectors`.
|
|
365
|
+
// TODO: Remove this version once the change in the connectors has been released.
|
|
366
|
+
var mcHostnameRegex = /^mc(-(\d){4,})?\.(.*)$/;
|
|
367
|
+
var mcPreviewHostnameRegex = /^.*\.mc-preview\.(.*)$/;
|
|
368
|
+
|
|
369
|
+
var getMcOriginTld = function getMcOriginTld(host) {
|
|
370
|
+
if (host.match(mcPreviewHostnameRegex)) {
|
|
371
|
+
return host.replace(mcPreviewHostnameRegex, '$1');
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
return host.replace(mcHostnameRegex, '$3');
|
|
354
375
|
};
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
* Given the Merchant Center or Custom Application runs behind the proxy
|
|
358
|
-
* then the `mcApiUrl` should be build using the origin on the window.
|
|
359
|
-
*
|
|
360
|
-
* This allows the Merchant Center (or any Custom Appliction) to automatically
|
|
361
|
-
* use an `mcApiUrl` which matches the respective url of the deployment.
|
|
362
|
-
*
|
|
363
|
-
* This is particularily useful with the new and old hostnames for the Merchant Center.
|
|
364
|
-
* When using the origin, it will be made sure that the authorization cookie will
|
|
365
|
-
* always be sent as the appropriate API url is used.
|
|
366
|
-
*
|
|
367
|
-
* 1. MC: mc.commercetools.com with API: mc-api.europe-west1.gcp.commercetools.com
|
|
368
|
-
* -> Will not work as urls differ
|
|
369
|
-
* 2. MC: mc.europe-west1.gcp.commercetools.com with API: mc-api.commercetools.com
|
|
370
|
-
* -> Will not work as urls differ
|
|
371
|
-
*
|
|
372
|
-
* Using the origin ensures that urls always match with the cookie sent. Otherwise,
|
|
373
|
-
* the application shell will rightfully redirect to the logout page.
|
|
374
|
-
*/
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
var getMcApiUrlFromOrigin = function getMcApiUrlFromOrigin(actualWindow) {
|
|
376
|
+
|
|
377
|
+
var getMcApiUrlFromOrigin = function getMcApiUrlFromOrigin(origin) {
|
|
378
378
|
var _context;
|
|
379
379
|
|
|
380
|
-
var url = new _URL__default["default"](
|
|
381
|
-
var originTld =
|
|
380
|
+
var url = new _URL__default["default"](origin);
|
|
381
|
+
var originTld = getMcOriginTld(url.host);
|
|
382
382
|
return _concatInstanceProperty__default["default"](_context = "".concat(url.protocol, "//mc-api.")).call(_context, originTld);
|
|
383
383
|
};
|
|
384
384
|
|
|
385
|
-
var
|
|
386
|
-
return
|
|
385
|
+
var parseAsBoolean = function parseAsBoolean(value) {
|
|
386
|
+
return value === true || value === 'true';
|
|
387
387
|
};
|
|
388
388
|
|
|
389
389
|
function getMcApiUrl() {
|
|
390
|
-
var
|
|
391
|
-
var
|
|
390
|
+
var environment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.app;
|
|
391
|
+
var origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.origin;
|
|
392
|
+
var isServedByProxy = parseAsBoolean(environment.servedByProxy);
|
|
393
|
+
/**
|
|
394
|
+
* Prefer using the origin URL for the MC API based on the origin value
|
|
395
|
+
* of the browser's `window.location`.
|
|
396
|
+
* This ensures that the application always uses the correct URL associated
|
|
397
|
+
* with that environment, instead of relying on the config value.
|
|
398
|
+
*/
|
|
392
399
|
|
|
393
400
|
if (isServedByProxy) {
|
|
394
|
-
return getMcApiUrlFromOrigin(
|
|
401
|
+
return getMcApiUrlFromOrigin(origin);
|
|
395
402
|
}
|
|
396
403
|
|
|
397
|
-
return
|
|
404
|
+
return environment.mcApiUrl;
|
|
398
405
|
}
|
|
399
406
|
|
|
400
407
|
var getSessionToken = function getSessionToken() {
|
|
@@ -470,9 +477,9 @@ var setSessionState = function setSessionState(stateId, state) {
|
|
|
470
477
|
window.sessionStorage.setItem(sessionStateKey, _JSON$stringify__default["default"](state));
|
|
471
478
|
};
|
|
472
479
|
|
|
473
|
-
function ownKeys$
|
|
480
|
+
function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
474
481
|
|
|
475
|
-
function _objectSpread$
|
|
482
|
+
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$5(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$5(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
476
483
|
|
|
477
484
|
var identityStoreEnhancer = function identityStoreEnhancer(noop) {
|
|
478
485
|
return noop;
|
|
@@ -485,7 +492,7 @@ var mergeObjectValues = function mergeObjectValues(object) {
|
|
|
485
492
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
486
493
|
value = _ref2[1];
|
|
487
494
|
|
|
488
|
-
return _objectSpread$
|
|
495
|
+
return _objectSpread$5(_objectSpread$5({}, acc), value);
|
|
489
496
|
}, {});
|
|
490
497
|
};
|
|
491
498
|
|
|
@@ -530,7 +537,7 @@ var createInternalReducer = function createInternalReducer() {
|
|
|
530
537
|
}); // NOTE: since we don't know in advance which reducers will be injected,
|
|
531
538
|
// we pass an `unknown` type to express this uncertainty and make the compiler happy.
|
|
532
539
|
|
|
533
|
-
return redux.combineReducers(_objectSpread$
|
|
540
|
+
return redux.combineReducers(_objectSpread$5(_objectSpread$5({
|
|
534
541
|
requestsInFlight: requestsInFlightReducer,
|
|
535
542
|
notifications: notifications.reducer
|
|
536
543
|
}, injectedReducers), preloadedStateReducers));
|
|
@@ -573,9 +580,9 @@ var createReduxStore = function createReduxStore() {
|
|
|
573
580
|
};
|
|
574
581
|
var internalReduxStore = createReduxStore();
|
|
575
582
|
|
|
576
|
-
function ownKeys$
|
|
583
|
+
function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
577
584
|
|
|
578
|
-
function _objectSpread$
|
|
585
|
+
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$4(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
579
586
|
|
|
580
587
|
var getSkipTokenRetry = function getSkipTokenRetry(context) {
|
|
581
588
|
var skipTokenRetry = Boolean(context.skipTokenRetry);
|
|
@@ -583,7 +590,7 @@ var getSkipTokenRetry = function getSkipTokenRetry(context) {
|
|
|
583
590
|
};
|
|
584
591
|
|
|
585
592
|
var forwardTokenRetryHeader = function forwardTokenRetryHeader(headers) {
|
|
586
|
-
return _objectSpread$
|
|
593
|
+
return _objectSpread$4(_objectSpread$4({}, headers), {}, _defineProperty({}, constants$1.SUPPORTED_HEADERS.X_TOKEN_RETRY, 'true'));
|
|
587
594
|
}; // This link retries requests to the CTP API that have been rejected
|
|
588
595
|
// because of an invalid/expired oauth token.
|
|
589
596
|
// To do so, we resend the request with the header "X-Force-Token: true"
|
|
@@ -674,9 +681,184 @@ var errorLink = error.onError(function (_ref) {
|
|
|
674
681
|
return;
|
|
675
682
|
});
|
|
676
683
|
|
|
684
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct__default["default"](Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
685
|
+
|
|
686
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct__default["default"]) return false; if (_Reflect$construct__default["default"].sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
687
|
+
|
|
688
|
+
function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
689
|
+
|
|
690
|
+
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context5, _context6; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context5 = ownKeys$3(Object(source), !0)).call(_context5, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context6 = ownKeys$3(Object(source))).call(_context6, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
691
|
+
var defaultUserAgent = createHttpUserAgent__default["default"]({
|
|
692
|
+
name: 'unknown-http-client',
|
|
693
|
+
libraryName: window.app.applicationName
|
|
694
|
+
});
|
|
695
|
+
var defaultForwardToVersion = 'v2';
|
|
696
|
+
var defaultForwardToAudiencePolicy = 'forward-url-full-path';
|
|
697
|
+
|
|
698
|
+
function buildApiUrl(endpoint) {
|
|
699
|
+
var _context;
|
|
700
|
+
|
|
701
|
+
var apiUrl = getMcApiUrl().replace(/\/$/, '');
|
|
702
|
+
return _concatInstanceProperty__default["default"](_context = "".concat(apiUrl)).call(_context, endpoint);
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
var getAppliedForwardToHeaders = function getAppliedForwardToHeaders(forwardToConfig) {
|
|
706
|
+
var _context2, _forwardToConfig$head, _forwardToConfig$vers, _forwardToConfig$audi, _objectSpread3;
|
|
707
|
+
|
|
708
|
+
if (!forwardToConfig) {
|
|
709
|
+
return {};
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
return _objectSpread$3(_objectSpread$3({}, _reduceInstanceProperty__default["default"](_context2 = _Object$entries__default["default"]((_forwardToConfig$head = forwardToConfig.headers) !== null && _forwardToConfig$head !== void 0 ? _forwardToConfig$head : {})).call(_context2, function (customForwardHeaders, _ref) {
|
|
713
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
714
|
+
headerName = _ref2[0],
|
|
715
|
+
headerValue = _ref2[1];
|
|
716
|
+
|
|
717
|
+
return _objectSpread$3(_objectSpread$3({}, customForwardHeaders), {}, _defineProperty({}, "x-forward-header-".concat(headerName), headerValue));
|
|
718
|
+
}, {})), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, constants$1.SUPPORTED_HEADERS.ACCEPT_VERSION, (_forwardToConfig$vers = forwardToConfig.version) !== null && _forwardToConfig$vers !== void 0 ? _forwardToConfig$vers : defaultForwardToVersion), _defineProperty(_objectSpread3, constants$1.SUPPORTED_HEADERS.X_FORWARD_TO, forwardToConfig.uri), _defineProperty(_objectSpread3, constants$1.SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY, (_forwardToConfig$audi = forwardToConfig.audiencePolicy) !== null && _forwardToConfig$audi !== void 0 ? _forwardToConfig$audi : defaultForwardToAudiencePolicy), _objectSpread3));
|
|
719
|
+
};
|
|
720
|
+
|
|
721
|
+
function createHttpClientOptions() {
|
|
722
|
+
var _config$projectKey, _objectSpread4;
|
|
723
|
+
|
|
724
|
+
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
725
|
+
var sessionToken = getSessionToken();
|
|
726
|
+
var projectKey = (_config$projectKey = config.projectKey) !== null && _config$projectKey !== void 0 ? _config$projectKey : selectProjectKeyFromUrl();
|
|
727
|
+
var userId = selectUserId();
|
|
728
|
+
var userAgent = (config === null || config === void 0 ? void 0 : config.userAgent) || defaultUserAgent;
|
|
729
|
+
return {
|
|
730
|
+
credentials: 'include',
|
|
731
|
+
headers: omitEmpty__default["default"](_objectSpread$3(_objectSpread$3({}, config.headers), {}, (_objectSpread4 = {}, _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.ACCEPT, 'application/json'), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.AUTHORIZATION, sessionToken ? "Bearer ".concat(sessionToken) : undefined), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_APPLICATION_ID, window.app.applicationId), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_CORRELATION_ID, getCorrelationId({
|
|
732
|
+
userId: userId
|
|
733
|
+
})), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_PROJECT_KEY, projectKey), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_USER_AGENT, userAgent), _objectSpread4), getAppliedForwardToHeaders(config.forwardToConfig)))
|
|
734
|
+
};
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
var RenewTokenError = /*#__PURE__*/function (_Error) {
|
|
738
|
+
_inherits(RenewTokenError, _Error);
|
|
739
|
+
|
|
740
|
+
var _super = _createSuper(RenewTokenError);
|
|
741
|
+
|
|
742
|
+
function RenewTokenError(message) {
|
|
743
|
+
var _this;
|
|
744
|
+
|
|
745
|
+
_classCallCheck(this, RenewTokenError);
|
|
746
|
+
|
|
747
|
+
_this = _super.call(this, message);
|
|
748
|
+
|
|
749
|
+
_Object$defineProperty__default["default"](_assertThisInitialized(_this), 'name', {
|
|
750
|
+
value: 'RenewTokenError'
|
|
751
|
+
});
|
|
752
|
+
|
|
753
|
+
return _this;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
return _createClass(RenewTokenError);
|
|
757
|
+
}( /*#__PURE__*/_wrapNativeSuper(Error));
|
|
758
|
+
|
|
759
|
+
function executeHttpClientRequest(_x) {
|
|
760
|
+
return _executeHttpClientRequest.apply(this, arguments);
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
function _executeHttpClientRequest() {
|
|
764
|
+
_executeHttpClientRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(fetcher) {
|
|
765
|
+
var config,
|
|
766
|
+
sendRequest,
|
|
767
|
+
_sendRequest,
|
|
768
|
+
_args2 = arguments;
|
|
769
|
+
|
|
770
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context4) {
|
|
771
|
+
while (1) {
|
|
772
|
+
switch (_context4.prev = _context4.next) {
|
|
773
|
+
case 0:
|
|
774
|
+
_sendRequest = function _sendRequest3() {
|
|
775
|
+
_sendRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
|
|
776
|
+
var _ref3,
|
|
777
|
+
shouldRenewToken,
|
|
778
|
+
requestOptions,
|
|
779
|
+
response,
|
|
780
|
+
refreshedSessionToken,
|
|
781
|
+
_args = arguments;
|
|
782
|
+
|
|
783
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context3) {
|
|
784
|
+
while (1) {
|
|
785
|
+
switch (_context3.prev = _context3.next) {
|
|
786
|
+
case 0:
|
|
787
|
+
_ref3 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, shouldRenewToken = _ref3.shouldRenewToken;
|
|
788
|
+
requestOptions = createHttpClientOptions(config);
|
|
789
|
+
_context3.next = 4;
|
|
790
|
+
return fetcher(_objectSpread$3(_objectSpread$3({}, requestOptions), {}, {
|
|
791
|
+
headers: omitEmpty__default["default"](_objectSpread$3(_objectSpread$3({}, requestOptions.headers), {}, _defineProperty({}, constants$1.SUPPORTED_HEADERS.X_TOKEN_RETRY, shouldRenewToken)))
|
|
792
|
+
}));
|
|
793
|
+
|
|
794
|
+
case 4:
|
|
795
|
+
response = _context3.sent;
|
|
796
|
+
|
|
797
|
+
if (!(response.statusCode === constants.STATUS_CODES.UNAUTHORIZED)) {
|
|
798
|
+
_context3.next = 7;
|
|
799
|
+
break;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
throw new RenewTokenError("Unauthorized response, attempting retry.");
|
|
803
|
+
|
|
804
|
+
case 7:
|
|
805
|
+
// In case a new session token is returned from the server, save it.
|
|
806
|
+
refreshedSessionToken = response.getHeader('x-refreshed-session-token');
|
|
807
|
+
|
|
808
|
+
if (refreshedSessionToken) {
|
|
809
|
+
setActiveSession(refreshedSessionToken);
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
return _context3.abrupt("return", response.data);
|
|
813
|
+
|
|
814
|
+
case 10:
|
|
815
|
+
case "end":
|
|
816
|
+
return _context3.stop();
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
}, _callee);
|
|
820
|
+
}));
|
|
821
|
+
return _sendRequest.apply(this, arguments);
|
|
822
|
+
};
|
|
823
|
+
|
|
824
|
+
sendRequest = function _sendRequest2() {
|
|
825
|
+
return _sendRequest.apply(this, arguments);
|
|
826
|
+
};
|
|
827
|
+
|
|
828
|
+
config = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
|
|
829
|
+
return _context4.abrupt("return", sendRequest().catch(function (error) {
|
|
830
|
+
if (error instanceof RenewTokenError) {
|
|
831
|
+
// Retry the request and ask to renew the token.
|
|
832
|
+
return sendRequest({
|
|
833
|
+
shouldRenewToken: true
|
|
834
|
+
});
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
throw error;
|
|
838
|
+
}));
|
|
839
|
+
|
|
840
|
+
case 4:
|
|
841
|
+
case "end":
|
|
842
|
+
return _context4.stop();
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
}, _callee2);
|
|
846
|
+
}));
|
|
847
|
+
return _executeHttpClientRequest.apply(this, arguments);
|
|
848
|
+
}
|
|
849
|
+
|
|
677
850
|
function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
678
851
|
|
|
679
|
-
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var
|
|
852
|
+
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$2(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
853
|
+
var userAgent = createHttpUserAgent__default["default"]({
|
|
854
|
+
name: 'apollo-client',
|
|
855
|
+
// version: apolloVersion,
|
|
856
|
+
libraryName: [window.app.applicationName, 'application-shell'].join('/'),
|
|
857
|
+
libraryVersion: version,
|
|
858
|
+
contactUrl: 'https://git.io/fjuyC',
|
|
859
|
+
// points to the appkit repo issues
|
|
860
|
+
contactEmail: 'support@commercetools.com'
|
|
861
|
+
});
|
|
680
862
|
|
|
681
863
|
var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
|
|
682
864
|
var _context;
|
|
@@ -684,35 +866,43 @@ var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
|
|
|
684
866
|
return target ? _includesInstanceProperty__default["default"](_context = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context, target) : false;
|
|
685
867
|
};
|
|
686
868
|
|
|
687
|
-
var
|
|
688
|
-
|
|
689
|
-
var _context2, _apolloContext$forwar, _objectSpread3;
|
|
869
|
+
var extractSessionTokenFromResponse = function extractSessionTokenFromResponse(context) {
|
|
870
|
+
var _context$response, _context$response$hea, _context$restResponse;
|
|
690
871
|
|
|
691
|
-
|
|
692
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
693
|
-
headerName = _ref2[0],
|
|
694
|
-
headerValue = _ref2[1];
|
|
872
|
+
var refreshedSessionToken = (_context$response = context.response) === null || _context$response === void 0 ? void 0 : (_context$response$hea = _context$response.headers) === null || _context$response$hea === void 0 ? void 0 : _context$response$hea.get('x-refreshed-session-token');
|
|
695
873
|
|
|
696
|
-
|
|
697
|
-
|
|
874
|
+
if (refreshedSessionToken) {
|
|
875
|
+
return refreshedSessionToken !== null && refreshedSessionToken !== void 0 ? refreshedSessionToken : null;
|
|
698
876
|
}
|
|
699
877
|
|
|
700
|
-
|
|
878
|
+
var restResponseWithRefreshTokenHeader = (_context$restResponse = context.restResponses) === null || _context$restResponse === void 0 ? void 0 : _findInstanceProperty__default["default"](_context$restResponse).call(_context$restResponse, function (response) {
|
|
879
|
+
var _response$headers;
|
|
880
|
+
|
|
881
|
+
return (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.has('x-refreshed-session-token');
|
|
882
|
+
});
|
|
883
|
+
|
|
884
|
+
if (restResponseWithRefreshTokenHeader) {
|
|
885
|
+
var _restResponseWithRefr;
|
|
886
|
+
|
|
887
|
+
return (_restResponseWithRefr = restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token')) !== null && _restResponseWithRefr !== void 0 ? _restResponseWithRefr : null;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
return null;
|
|
701
891
|
};
|
|
702
892
|
/* eslint-disable import/prefer-default-export */
|
|
703
893
|
// Use a middleware to update the request headers with the correct params.
|
|
704
894
|
|
|
705
895
|
|
|
706
896
|
var headerLink = new client.ApolloLink(function (operation, forward) {
|
|
707
|
-
var
|
|
897
|
+
var _context2, _objectSpread2, _context3;
|
|
708
898
|
|
|
709
899
|
var apolloContext = operation.getContext();
|
|
710
900
|
var variables = operation.variables;
|
|
711
901
|
var graphQlTarget = apolloContext.target || variables.target;
|
|
712
|
-
if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty__default["default"](
|
|
902
|
+
if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty__default["default"](_context2 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context2, operation.operationName, "\""));
|
|
713
903
|
/**
|
|
714
904
|
* NOTE:
|
|
715
|
-
* The project key is read from the url in a project related
|
|
905
|
+
* The project key is read from the url in a project related application context.
|
|
716
906
|
* This holds for most applications like `application-categories`, `application-discounts` etc.
|
|
717
907
|
* However, the `application-account` does not run with the project key being part of the url.
|
|
718
908
|
* As a result we allow passing the project key as a variable on the operation allowing
|
|
@@ -721,20 +911,16 @@ var headerLink = new client.ApolloLink(function (operation, forward) {
|
|
|
721
911
|
|
|
722
912
|
var projectKey = apolloContext.projectKey || variables.projectKey || selectProjectKeyFromUrl();
|
|
723
913
|
var teamId = apolloContext.teamId || variables.teamId || selectTeamIdFromLocalStorage();
|
|
724
|
-
var userId = selectUserId();
|
|
725
914
|
var featureFlag = apolloContext.featureFlag || variables.featureFlag;
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
return _mapInstanceProperty__default["default"](_context4 = forward(operation)).call(_context4, function (response) {
|
|
734
|
-
var _context$response, _context$response$hea;
|
|
735
|
-
|
|
915
|
+
operation.setContext(createHttpClientOptions({
|
|
916
|
+
userAgent: userAgent,
|
|
917
|
+
headers: omitEmpty__default["default"](_objectSpread$2(_objectSpread$2({}, apolloContext.headers), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, constants$1.SUPPORTED_HEADERS.X_GRAPHQL_TARGET, graphQlTarget), _defineProperty(_objectSpread2, constants$1.SUPPORTED_HEADERS.X_GRAPHQL_OPERATION_NAME, operation.operationName), _defineProperty(_objectSpread2, constants$1.SUPPORTED_HEADERS.X_TEAM_ID, teamId), _defineProperty(_objectSpread2, constants$1.SUPPORTED_HEADERS.X_FEATURE_FLAG, featureFlag), _objectSpread2))),
|
|
918
|
+
forwardToConfig: apolloContext.forwardToConfig,
|
|
919
|
+
projectKey: projectKey
|
|
920
|
+
}));
|
|
921
|
+
return _mapInstanceProperty__default["default"](_context3 = forward(operation)).call(_context3, function (response) {
|
|
736
922
|
var context = operation.getContext();
|
|
737
|
-
var refreshedSessionToken = (
|
|
923
|
+
var refreshedSessionToken = extractSessionTokenFromResponse(context);
|
|
738
924
|
|
|
739
925
|
if (refreshedSessionToken) {
|
|
740
926
|
setActiveSession(refreshedSessionToken);
|
|
@@ -762,37 +948,34 @@ var tokenRetryLink = new retry.RetryLink({
|
|
|
762
948
|
}
|
|
763
949
|
});
|
|
764
950
|
|
|
765
|
-
var _context;
|
|
766
|
-
|
|
767
951
|
function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
768
952
|
|
|
769
953
|
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
770
|
-
var userAgent = createHttpUserAgent__default["default"]({
|
|
771
|
-
name: 'apollo-client',
|
|
772
|
-
// version: apolloVersion,
|
|
773
|
-
libraryName: [window.app.applicationName, 'application-shell'].join('/'),
|
|
774
|
-
libraryVersion: version,
|
|
775
|
-
contactUrl: 'https://git.io/fjuyC',
|
|
776
|
-
// points to the appkit repo issues
|
|
777
|
-
contactEmail: 'support@commercetools.com'
|
|
778
|
-
});
|
|
779
954
|
var httpLink = client.createHttpLink({
|
|
780
955
|
uri: "".concat(getMcApiUrl(), "/graphql"),
|
|
781
|
-
headers: {
|
|
782
|
-
accept: 'application/json',
|
|
783
|
-
'x-user-agent': userAgent
|
|
784
|
-
},
|
|
785
956
|
fetch: fetch
|
|
786
|
-
});
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
957
|
+
});
|
|
958
|
+
|
|
959
|
+
var createApolloLink = function createApolloLink() {
|
|
960
|
+
var _context;
|
|
790
961
|
|
|
791
|
-
var
|
|
962
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
963
|
+
return (// The order of links is IMPORTANT!
|
|
964
|
+
// In the request-phase they are executed top to bottom.
|
|
965
|
+
// In the response/phase they are executed bottom to top.
|
|
966
|
+
// The `httpLink` is terminating so it must be last, while `tokenRetryLink` and `errorLink`
|
|
967
|
+
// wrap the links the their right.
|
|
968
|
+
client.from(_concatInstanceProperty__default["default"](_context = [headerLink]).call(_context, _toConsumableArray(options.restLink ? [options.restLink] : []), [// Must be before `tokenRetryLink`.
|
|
969
|
+
errorLink], _toConsumableArray(isLoggerEnabled() ? [loggerLink__default["default"]] : []), [// Must be after `errorLink`.
|
|
970
|
+
tokenRetryLink, // Must be last.
|
|
971
|
+
httpLink]))
|
|
972
|
+
);
|
|
973
|
+
}; // This custom merge function allows to merge two arrays of objects.
|
|
792
974
|
// The incoming list is what we need to update to, but we still need
|
|
793
975
|
// to ensure that existing cache elements are not removed but updated.
|
|
794
976
|
// This is usually the case when elements get removed.
|
|
795
977
|
|
|
978
|
+
|
|
796
979
|
var mergeArraysObjects = function mergeArraysObjects() {
|
|
797
980
|
var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
798
981
|
var incoming = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -827,7 +1010,7 @@ var createApolloClient = function createApolloClient() {
|
|
|
827
1010
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
828
1011
|
var customCacheConfig = (_options$cache = options === null || options === void 0 ? void 0 : options.cache) !== null && _options$cache !== void 0 ? _options$cache : {};
|
|
829
1012
|
return new client.ApolloClient({
|
|
830
|
-
link:
|
|
1013
|
+
link: createApolloLink(options),
|
|
831
1014
|
// https://www.apollographql.com/docs/react/caching/cache-configuration/
|
|
832
1015
|
cache: new client.InMemoryCache(_objectSpread$1(_objectSpread$1({}, customCacheConfig), {}, {
|
|
833
1016
|
// https://www.apollographql.com/docs/react/caching/cache-configuration/#generating-unique-identifiers
|
|
@@ -1016,9 +1199,12 @@ exports.REQUESTS_IN_FLIGHT_LOADER_DOM_ID = REQUESTS_IN_FLIGHT_LOADER_DOM_ID;
|
|
|
1016
1199
|
exports.RequestsInFlightLoader = RequestsInFlightLoader;
|
|
1017
1200
|
exports.RouteCatchAll = RouteCatchAll;
|
|
1018
1201
|
exports.applyDefaultMiddlewares = applyDefaultMiddlewares;
|
|
1202
|
+
exports.buildApiUrl = buildApiUrl;
|
|
1019
1203
|
exports.clearSession = clearSession;
|
|
1020
1204
|
exports.createApolloClient = createApolloClient;
|
|
1205
|
+
exports.createHttpClientOptions = createHttpClientOptions;
|
|
1021
1206
|
exports.createReduxStore = createReduxStore;
|
|
1207
|
+
exports.executeHttpClientRequest = executeHttpClientRequest;
|
|
1022
1208
|
exports.getActiveProjectKey = getActiveProjectKey;
|
|
1023
1209
|
exports.getMcApiUrl = getMcApiUrl;
|
|
1024
1210
|
exports.getSessionScope = getSessionScope;
|