@atlaskit/util-service-support 6.1.2 → 6.2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/util-service-support
2
2
 
3
+ ## 6.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`56507598609`](https://bitbucket.org/atlassian/atlassian-frontend/commits/56507598609) - Skip minor dependency bump
8
+
9
+ ## 6.1.3
10
+
11
+ ### Patch Changes
12
+
13
+ - [`8cc2f888c83`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8cc2f888c83) - Upgrade Typescript from `4.3.5` to `4.5.5`
14
+
3
15
  ## 6.1.2
4
16
 
5
17
  ### Patch Changes
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime/helpers/typeof");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -9,9 +8,7 @@ var _exportNames = {
9
8
  utils: true
10
9
  };
11
10
  exports.utils = void 0;
12
-
13
11
  var _types = require("./types");
14
-
15
12
  Object.keys(_types).forEach(function (key) {
16
13
  if (key === "default" || key === "__esModule") return;
17
14
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -23,9 +20,7 @@ Object.keys(_types).forEach(function (key) {
23
20
  }
24
21
  });
25
22
  });
26
-
27
23
  var _serviceResources = require("./serviceResources");
28
-
29
24
  Object.keys(_serviceResources).forEach(function (key) {
30
25
  if (key === "default" || key === "__esModule") return;
31
26
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -37,12 +32,8 @@ Object.keys(_serviceResources).forEach(function (key) {
37
32
  }
38
33
  });
39
34
  });
40
-
41
35
  var serviceUtils = _interopRequireWildcard(require("./serviceUtils"));
42
-
43
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
44
-
45
37
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
46
-
47
38
  var utils = serviceUtils;
48
39
  exports.utils = utils;
@@ -1,29 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.AbstractResource = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  var AbstractResource = /*#__PURE__*/function () {
17
12
  function AbstractResource() {
18
13
  (0, _classCallCheck2.default)(this, AbstractResource);
19
14
  (0, _defineProperty2.default)(this, "listeners", new Set());
20
15
  }
21
-
22
16
  (0, _createClass2.default)(AbstractResource, [{
23
17
  key: "subscribe",
24
18
  value: function subscribe(onChange) {
25
19
  this.listeners.add(onChange);
26
-
27
20
  if (this.lastResult) {
28
21
  // Notify subscribe of last result (i.e. initial state)
29
22
  onChange.result(this.lastResult);
@@ -71,5 +64,4 @@ var AbstractResource = /*#__PURE__*/function () {
71
64
  }]);
72
65
  return AbstractResource;
73
66
  }();
74
-
75
67
  exports.AbstractResource = AbstractResource;
@@ -1,31 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.requestService = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _types = require("./types");
13
-
14
10
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
-
16
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
-
18
12
  var defaultRequestServiceOptions = {};
19
-
20
13
  var buildUrl = function buildUrl(baseUrl) {
21
14
  var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
22
15
  var queryParams = arguments.length > 2 ? arguments[2] : undefined;
23
16
  var secOptions = arguments.length > 3 ? arguments[3] : undefined;
24
- var searchParam = new URLSearchParams( // For relative urls, the URL class requires base to be set. It's ignored if a url is not relative.
17
+ var searchParam = new URLSearchParams(
18
+ // For relative urls, the URL class requires base to be set. It's ignored if a url is not relative.
25
19
  // Since we only care about search params it is fine to have any base url here.
26
20
  new URL(baseUrl, 'https://BASE_FALLBACK').search || undefined);
27
21
  baseUrl = baseUrl.split('?')[0];
28
-
29
22
  if (queryParams) {
30
23
  for (var key in queryParams) {
31
24
  if ({}.hasOwnProperty.call(queryParams, key)) {
@@ -33,12 +26,10 @@ var buildUrl = function buildUrl(baseUrl) {
33
26
  }
34
27
  }
35
28
  }
36
-
37
29
  if (secOptions && secOptions.params) {
38
30
  for (var _key in secOptions.params) {
39
31
  if ({}.hasOwnProperty.call(secOptions.params, _key)) {
40
32
  var values = secOptions.params[_key];
41
-
42
33
  if (Array.isArray(values)) {
43
34
  for (var i = 0; i < values.length; i++) {
44
35
  searchParam.append(_key, values[i]);
@@ -49,28 +40,21 @@ var buildUrl = function buildUrl(baseUrl) {
49
40
  }
50
41
  }
51
42
  }
52
-
53
43
  var separator = '';
54
-
55
44
  if (path && baseUrl.substr(-1) !== '/' && !path.startsWith('/')) {
56
45
  separator = '/';
57
46
  }
58
-
59
47
  var params = searchParam.toString();
60
-
61
48
  if (params) {
62
49
  params = '?' + params;
63
50
  }
64
-
65
51
  return "".concat(baseUrl).concat(separator).concat(path).concat(params);
66
52
  };
67
-
68
53
  var addToHeaders = function addToHeaders(headers, keyValues) {
69
54
  if (keyValues) {
70
55
  for (var key in keyValues) {
71
56
  if ({}.hasOwnProperty.call(keyValues, key)) {
72
57
  var values = keyValues[key];
73
-
74
58
  if (Array.isArray(values)) {
75
59
  for (var i = 0; i < values.length; i++) {
76
60
  headers[key] = values[i];
@@ -82,43 +66,35 @@ var addToHeaders = function addToHeaders(headers, keyValues) {
82
66
  }
83
67
  }
84
68
  };
85
-
86
69
  var buildHeaders = function buildHeaders(secOptions, extraHeaders) {
87
70
  var headers = {};
88
71
  addToHeaders(headers, extraHeaders);
89
-
90
72
  if (secOptions) {
91
73
  addToHeaders(headers, secOptions.headers);
92
74
  }
93
-
94
75
  return headers;
95
76
  };
77
+
96
78
  /**
97
79
  * @returns Promise containing the json response
98
80
  */
99
-
100
-
101
81
  var requestService = function requestService(serviceConfig, options) {
102
82
  var url = serviceConfig.url,
103
- securityProvider = serviceConfig.securityProvider,
104
- refreshedSecurityProvider = serviceConfig.refreshedSecurityProvider;
105
-
83
+ securityProvider = serviceConfig.securityProvider,
84
+ refreshedSecurityProvider = serviceConfig.refreshedSecurityProvider;
106
85
  var _ref = options || defaultRequestServiceOptions,
107
- path = _ref.path,
108
- queryParams = _ref.queryParams,
109
- requestInit = _ref.requestInit;
110
-
86
+ path = _ref.path,
87
+ queryParams = _ref.queryParams,
88
+ requestInit = _ref.requestInit;
111
89
  var secOptions = securityProvider && securityProvider();
112
90
  var requestUrl = buildUrl(url, path, queryParams, secOptions);
113
91
  var headers = buildHeaders(secOptions, requestInit && requestInit.headers);
114
92
  var credentials = (0, _types.buildCredentials)(secOptions);
115
93
  var ignoreResponsePayload = (options === null || options === void 0 ? void 0 : options.ignoreResponsePayload) || false;
116
-
117
94
  var requestOptions = _objectSpread(_objectSpread({}, requestInit), {}, {
118
95
  headers: headers,
119
96
  credentials: credentials
120
97
  });
121
-
122
98
  return fetch(requestUrl, requestOptions).then(function (response) {
123
99
  if (response.status === 204) {
124
100
  return Promise.resolve();
@@ -136,12 +112,10 @@ var requestService = function requestService(serviceConfig, options) {
136
112
  return requestService(retryServiceConfig, options);
137
113
  });
138
114
  }
139
-
140
115
  return Promise.reject({
141
116
  code: response.status,
142
117
  reason: response.statusText
143
118
  });
144
119
  });
145
120
  };
146
-
147
121
  exports.requestService = requestService;
package/dist/cjs/types.js CHANGED
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.buildCredentials = void 0;
7
-
8
7
  /**
9
8
  * Defines a typical Resource.
10
9
  *
@@ -14,13 +13,17 @@ exports.buildCredentials = void 0;
14
13
  * I = info type
15
14
  * O = options that filter can accept
16
15
  */
16
+
17
17
  var buildCredentials = function buildCredentials(secOptions) {
18
18
  return secOptions && secOptions.omitCredentials ? 'omit' : 'include';
19
19
  };
20
+
20
21
  /**
21
22
  * Returns a promise to a SecurityOptions that has just been forcibly refreshed with a
22
23
  * new token. Will be used for single retry per request if a 401 is returned.
23
24
  */
24
25
 
25
-
26
+ /**
27
+ * Returns the current SecurityOptions for the mentions service.
28
+ */
26
29
  exports.buildCredentials = buildCredentials;
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/util-service-support",
3
- "version": "6.1.2"
3
+ "version": "6.2.0"
4
4
  }
@@ -3,26 +3,21 @@ export class AbstractResource {
3
3
  constructor() {
4
4
  _defineProperty(this, "listeners", new Set());
5
5
  }
6
-
7
6
  subscribe(onChange) {
8
7
  this.listeners.add(onChange);
9
-
10
8
  if (this.lastResult) {
11
9
  // Notify subscribe of last result (i.e. initial state)
12
10
  onChange.result(this.lastResult);
13
11
  }
14
12
  }
15
-
16
13
  unsubscribe(onChange) {
17
14
  this.listeners.delete(onChange);
18
15
  }
19
-
20
16
  notifyResult(result) {
21
17
  this.listeners.forEach(onChange => {
22
18
  onChange.result(result);
23
19
  });
24
20
  }
25
-
26
21
  notifyError(error) {
27
22
  this.listeners.forEach(onChange => {
28
23
  if (onChange.error) {
@@ -30,7 +25,6 @@ export class AbstractResource {
30
25
  }
31
26
  });
32
27
  }
33
-
34
28
  notifyInfo(info) {
35
29
  this.listeners.forEach(onChange => {
36
30
  if (onChange.info) {
@@ -38,7 +32,6 @@ export class AbstractResource {
38
32
  }
39
33
  });
40
34
  }
41
-
42
35
  notifyNotReady() {
43
36
  this.listeners.forEach(onChange => {
44
37
  if (onChange.notReady) {
@@ -46,5 +39,4 @@ export class AbstractResource {
46
39
  }
47
40
  });
48
41
  }
49
-
50
42
  }
@@ -1,12 +1,11 @@
1
1
  import { buildCredentials } from './types';
2
2
  const defaultRequestServiceOptions = {};
3
-
4
3
  const buildUrl = (baseUrl, path = '', queryParams, secOptions) => {
5
- const searchParam = new URLSearchParams( // For relative urls, the URL class requires base to be set. It's ignored if a url is not relative.
4
+ const searchParam = new URLSearchParams(
5
+ // For relative urls, the URL class requires base to be set. It's ignored if a url is not relative.
6
6
  // Since we only care about search params it is fine to have any base url here.
7
7
  new URL(baseUrl, 'https://BASE_FALLBACK').search || undefined);
8
8
  baseUrl = baseUrl.split('?')[0];
9
-
10
9
  if (queryParams) {
11
10
  for (const key in queryParams) {
12
11
  if ({}.hasOwnProperty.call(queryParams, key)) {
@@ -14,12 +13,10 @@ const buildUrl = (baseUrl, path = '', queryParams, secOptions) => {
14
13
  }
15
14
  }
16
15
  }
17
-
18
16
  if (secOptions && secOptions.params) {
19
17
  for (const key in secOptions.params) {
20
18
  if ({}.hasOwnProperty.call(secOptions.params, key)) {
21
19
  const values = secOptions.params[key];
22
-
23
20
  if (Array.isArray(values)) {
24
21
  for (let i = 0; i < values.length; i++) {
25
22
  searchParam.append(key, values[i]);
@@ -30,28 +27,21 @@ const buildUrl = (baseUrl, path = '', queryParams, secOptions) => {
30
27
  }
31
28
  }
32
29
  }
33
-
34
30
  let separator = '';
35
-
36
31
  if (path && baseUrl.substr(-1) !== '/' && !path.startsWith('/')) {
37
32
  separator = '/';
38
33
  }
39
-
40
34
  let params = searchParam.toString();
41
-
42
35
  if (params) {
43
36
  params = '?' + params;
44
37
  }
45
-
46
38
  return `${baseUrl}${separator}${path}${params}`;
47
39
  };
48
-
49
40
  const addToHeaders = (headers, keyValues) => {
50
41
  if (keyValues) {
51
42
  for (const key in keyValues) {
52
43
  if ({}.hasOwnProperty.call(keyValues, key)) {
53
44
  const values = keyValues[key];
54
-
55
45
  if (Array.isArray(values)) {
56
46
  for (let i = 0; i < values.length; i++) {
57
47
  headers[key] = values[i];
@@ -63,22 +53,18 @@ const addToHeaders = (headers, keyValues) => {
63
53
  }
64
54
  }
65
55
  };
66
-
67
56
  const buildHeaders = (secOptions, extraHeaders) => {
68
57
  const headers = {};
69
58
  addToHeaders(headers, extraHeaders);
70
-
71
59
  if (secOptions) {
72
60
  addToHeaders(headers, secOptions.headers);
73
61
  }
74
-
75
62
  return headers;
76
63
  };
64
+
77
65
  /**
78
66
  * @returns Promise containing the json response
79
67
  */
80
-
81
-
82
68
  export const requestService = (serviceConfig, options) => {
83
69
  const {
84
70
  url,
@@ -95,7 +81,8 @@ export const requestService = (serviceConfig, options) => {
95
81
  const headers = buildHeaders(secOptions, requestInit && requestInit.headers);
96
82
  const credentials = buildCredentials(secOptions);
97
83
  const ignoreResponsePayload = (options === null || options === void 0 ? void 0 : options.ignoreResponsePayload) || false;
98
- const requestOptions = { ...requestInit,
84
+ const requestOptions = {
85
+ ...requestInit,
99
86
  headers,
100
87
  credentials
101
88
  };
@@ -114,7 +101,6 @@ export const requestService = (serviceConfig, options) => {
114
101
  return requestService(retryServiceConfig, options);
115
102
  });
116
103
  }
117
-
118
104
  return Promise.reject({
119
105
  code: response.status,
120
106
  reason: response.statusText
@@ -7,10 +7,16 @@
7
7
  * I = info type
8
8
  * O = options that filter can accept
9
9
  */
10
+
10
11
  export const buildCredentials = secOptions => {
11
12
  return secOptions && secOptions.omitCredentials ? 'omit' : 'include';
12
13
  };
14
+
13
15
  /**
14
16
  * Returns a promise to a SecurityOptions that has just been forcibly refreshed with a
15
17
  * new token. Will be used for single retry per request if a 401 is returned.
18
+ */
19
+
20
+ /**
21
+ * Returns the current SecurityOptions for the mentions service.
16
22
  */
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/util-service-support",
3
- "version": "6.1.2"
3
+ "version": "6.2.0"
4
4
  }
@@ -4,15 +4,12 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  export var AbstractResource = /*#__PURE__*/function () {
5
5
  function AbstractResource() {
6
6
  _classCallCheck(this, AbstractResource);
7
-
8
7
  _defineProperty(this, "listeners", new Set());
9
8
  }
10
-
11
9
  _createClass(AbstractResource, [{
12
10
  key: "subscribe",
13
11
  value: function subscribe(onChange) {
14
12
  this.listeners.add(onChange);
15
-
16
13
  if (this.lastResult) {
17
14
  // Notify subscribe of last result (i.e. initial state)
18
15
  onChange.result(this.lastResult);
@@ -58,6 +55,5 @@ export var AbstractResource = /*#__PURE__*/function () {
58
55
  });
59
56
  }
60
57
  }]);
61
-
62
58
  return AbstractResource;
63
59
  }();
@@ -1,21 +1,17 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
4
  import { buildCredentials } from './types';
8
5
  var defaultRequestServiceOptions = {};
9
-
10
6
  var buildUrl = function buildUrl(baseUrl) {
11
7
  var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
12
8
  var queryParams = arguments.length > 2 ? arguments[2] : undefined;
13
9
  var secOptions = arguments.length > 3 ? arguments[3] : undefined;
14
- var searchParam = new URLSearchParams( // For relative urls, the URL class requires base to be set. It's ignored if a url is not relative.
10
+ var searchParam = new URLSearchParams(
11
+ // For relative urls, the URL class requires base to be set. It's ignored if a url is not relative.
15
12
  // Since we only care about search params it is fine to have any base url here.
16
13
  new URL(baseUrl, 'https://BASE_FALLBACK').search || undefined);
17
14
  baseUrl = baseUrl.split('?')[0];
18
-
19
15
  if (queryParams) {
20
16
  for (var key in queryParams) {
21
17
  if ({}.hasOwnProperty.call(queryParams, key)) {
@@ -23,12 +19,10 @@ var buildUrl = function buildUrl(baseUrl) {
23
19
  }
24
20
  }
25
21
  }
26
-
27
22
  if (secOptions && secOptions.params) {
28
23
  for (var _key in secOptions.params) {
29
24
  if ({}.hasOwnProperty.call(secOptions.params, _key)) {
30
25
  var values = secOptions.params[_key];
31
-
32
26
  if (Array.isArray(values)) {
33
27
  for (var i = 0; i < values.length; i++) {
34
28
  searchParam.append(_key, values[i]);
@@ -39,28 +33,21 @@ var buildUrl = function buildUrl(baseUrl) {
39
33
  }
40
34
  }
41
35
  }
42
-
43
36
  var separator = '';
44
-
45
37
  if (path && baseUrl.substr(-1) !== '/' && !path.startsWith('/')) {
46
38
  separator = '/';
47
39
  }
48
-
49
40
  var params = searchParam.toString();
50
-
51
41
  if (params) {
52
42
  params = '?' + params;
53
43
  }
54
-
55
44
  return "".concat(baseUrl).concat(separator).concat(path).concat(params);
56
45
  };
57
-
58
46
  var addToHeaders = function addToHeaders(headers, keyValues) {
59
47
  if (keyValues) {
60
48
  for (var key in keyValues) {
61
49
  if ({}.hasOwnProperty.call(keyValues, key)) {
62
50
  var values = keyValues[key];
63
-
64
51
  if (Array.isArray(values)) {
65
52
  for (var i = 0; i < values.length; i++) {
66
53
  headers[key] = values[i];
@@ -72,43 +59,35 @@ var addToHeaders = function addToHeaders(headers, keyValues) {
72
59
  }
73
60
  }
74
61
  };
75
-
76
62
  var buildHeaders = function buildHeaders(secOptions, extraHeaders) {
77
63
  var headers = {};
78
64
  addToHeaders(headers, extraHeaders);
79
-
80
65
  if (secOptions) {
81
66
  addToHeaders(headers, secOptions.headers);
82
67
  }
83
-
84
68
  return headers;
85
69
  };
70
+
86
71
  /**
87
72
  * @returns Promise containing the json response
88
73
  */
89
-
90
-
91
74
  export var requestService = function requestService(serviceConfig, options) {
92
75
  var url = serviceConfig.url,
93
- securityProvider = serviceConfig.securityProvider,
94
- refreshedSecurityProvider = serviceConfig.refreshedSecurityProvider;
95
-
76
+ securityProvider = serviceConfig.securityProvider,
77
+ refreshedSecurityProvider = serviceConfig.refreshedSecurityProvider;
96
78
  var _ref = options || defaultRequestServiceOptions,
97
- path = _ref.path,
98
- queryParams = _ref.queryParams,
99
- requestInit = _ref.requestInit;
100
-
79
+ path = _ref.path,
80
+ queryParams = _ref.queryParams,
81
+ requestInit = _ref.requestInit;
101
82
  var secOptions = securityProvider && securityProvider();
102
83
  var requestUrl = buildUrl(url, path, queryParams, secOptions);
103
84
  var headers = buildHeaders(secOptions, requestInit && requestInit.headers);
104
85
  var credentials = buildCredentials(secOptions);
105
86
  var ignoreResponsePayload = (options === null || options === void 0 ? void 0 : options.ignoreResponsePayload) || false;
106
-
107
87
  var requestOptions = _objectSpread(_objectSpread({}, requestInit), {}, {
108
88
  headers: headers,
109
89
  credentials: credentials
110
90
  });
111
-
112
91
  return fetch(requestUrl, requestOptions).then(function (response) {
113
92
  if (response.status === 204) {
114
93
  return Promise.resolve();
@@ -126,7 +105,6 @@ export var requestService = function requestService(serviceConfig, options) {
126
105
  return requestService(retryServiceConfig, options);
127
106
  });
128
107
  }
129
-
130
108
  return Promise.reject({
131
109
  code: response.status,
132
110
  reason: response.statusText
package/dist/esm/types.js CHANGED
@@ -7,10 +7,16 @@
7
7
  * I = info type
8
8
  * O = options that filter can accept
9
9
  */
10
+
10
11
  export var buildCredentials = function buildCredentials(secOptions) {
11
12
  return secOptions && secOptions.omitCredentials ? 'omit' : 'include';
12
13
  };
14
+
13
15
  /**
14
16
  * Returns a promise to a SecurityOptions that has just been forcibly refreshed with a
15
17
  * new token. Will be used for single retry per request if a 401 is returned.
18
+ */
19
+
20
+ /**
21
+ * Returns the current SecurityOptions for the mentions service.
16
22
  */
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/util-service-support",
3
- "version": "6.1.2"
3
+ "version": "6.2.0"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/util-service-support",
3
- "version": "6.1.2",
3
+ "version": "6.2.0",
4
4
  "description": "A library of support classes for integrating React components with REST HTTP services",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -16,7 +16,7 @@
16
16
  "atlassian": {
17
17
  "deprecatedAutoEntryPoints": true,
18
18
  "releaseModel": "continuous",
19
- "team": "UIP: Monorepo"
19
+ "team": "UIP: Frontend Delivery"
20
20
  },
21
21
  "config": {
22
22
  "access": "public"
@@ -30,7 +30,7 @@
30
30
  "es6-promise": "^4.0.5",
31
31
  "fetch-mock": "^8.0.0",
32
32
  "sinon": "^2.2.0",
33
- "typescript": "4.3.5"
33
+ "typescript": "4.5.5"
34
34
  },
35
35
  "keywords": [
36
36
  "fabric",
package/report.api.md CHANGED
@@ -1,127 +1,136 @@
1
- ## API Report File for "@atlaskit/util-service-support".
1
+ <!-- API Report Version: 2.3 -->
2
2
 
3
- > Do not edit this file. This report is auto-generated by [API Extractor](https://api-extractor.com/).
3
+ ## API Report File for "@atlaskit/util-service-support"
4
4
 
5
- [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
5
+ > Do not edit this file. This report is auto-generated using [API Extractor](https://api-extractor.com/).
6
+ > [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
7
+
8
+ ### Table of contents
9
+
10
+ - [Main Entry Types](#main-entry-types)
11
+ - [Peer Dependencies](#peer-dependencies)
12
+
13
+ ### Main Entry Types
14
+
15
+ <!--SECTION START: Main Entry Types-->
6
16
 
7
17
  ```ts
8
- export declare abstract class AbstractResource<Q, R, E, I, O>
9
- implements Provider<Q, R, E, I, O> {
10
- private lastResult;
11
- private listeners;
18
+ // @public (undocumented)
19
+ export abstract class AbstractResource<Q, R, E, I, O>
20
+ implements Provider<Q, R, E, I, O>
21
+ {
22
+ // (undocumented)
12
23
  abstract filter(query?: Q, options?: O): void;
13
- subscribe(onChange: OnProviderChange<R, E, I>): void;
14
- unsubscribe(onChange: OnProviderChange<R, E, I>): void;
15
- protected notifyResult(result: R): void;
24
+ // (undocumented)
16
25
  protected notifyError(error: E): void;
26
+ // (undocumented)
17
27
  protected notifyInfo(info: I): void;
28
+ // (undocumented)
18
29
  protected notifyNotReady(): void;
30
+ // (undocumented)
31
+ protected notifyResult(result: R): void;
32
+ // (undocumented)
33
+ subscribe(onChange: OnProviderChange<R, E, I>): void;
34
+ // (undocumented)
35
+ unsubscribe(onChange: OnProviderChange<R, E, I>): void;
19
36
  }
20
37
 
21
- export declare const buildCredentials: (
38
+ // @public (undocumented)
39
+ export const buildCredentials: (
22
40
  secOptions?: SecurityOptions | undefined,
23
- ) => 'omit' | 'include';
41
+ ) => 'include' | 'omit';
24
42
 
25
- export declare interface KeyValues {
43
+ // @public (undocumented)
44
+ export interface KeyValues {
45
+ // (undocumented)
26
46
  [index: string]: any;
27
47
  }
28
48
 
29
- export declare interface OnProviderChange<R, E, I> {
30
- /**
31
- * Normal callback on a search result, or updated search result.
32
- */
33
- result(result: R): void;
34
- /**
35
- * When something goes wrong, e.g. underlying service is not available.
36
- */
49
+ // @public (undocumented)
50
+ export interface OnProviderChange<R, E, I> {
37
51
  error?(error: E): void;
38
- /**
39
- * Information to display, e.g. due to slow searches, initial message, etc.
40
- */
41
52
  info?(info: I): void;
42
- /**
43
- * Notifies if the Resource is not ready and won't respond to searches
44
- * in a timely manner. Note searches that occur while not ready Will
45
- * eventually be fulfilled.
46
- */
47
53
  notReady?(): void;
54
+ result(result: R): void;
48
55
  }
49
56
 
50
- /**
51
- * Defines a typical Resource.
52
- *
53
- * Q = query type
54
- * R = result type
55
- * E = error type
56
- * I = info type
57
- * O = options that filter can accept
58
- */
59
- export declare interface Provider<Q, R, E, I, O> {
60
- /**
61
- * Results are returned to the OnSearchResult
62
- * in the subscriber.
63
- *
64
- * There may not be a 1-on-1 relationship between a search
65
- * and a callback.
66
- *
67
- * For example, multiple queries may result in one callback if the
68
- * responses are out of order (i.e. old responses are dropped). Or
69
- * multiple callbacks may be fired, for example if the underlying data
70
- * set to search has changed, the last search may be executed again
71
- * with updated results.
72
- */
57
+ // @public
58
+ export interface Provider<Q, R, E, I, O> {
73
59
  filter(query?: Q, options?: O): void;
60
+ // (undocumented)
74
61
  subscribe(onChange: OnProviderChange<R, E, I>): void;
62
+ // (undocumented)
75
63
  unsubscribe(onChange: OnProviderChange<R, E, I>): void;
76
64
  }
77
65
 
78
- /**
79
- * Returns a promise to a SecurityOptions that has just been forcibly refreshed with a
80
- * new token. Will be used for single retry per request if a 401 is returned.
81
- */
82
- export declare interface RefreshSecurityProvider {
66
+ // @public
67
+ export interface RefreshSecurityProvider {
68
+ // (undocumented)
83
69
  (): Promise<SecurityOptions>;
84
70
  }
85
71
 
86
- /**
87
- * @returns Promise containing the json response
88
- */
89
- declare const requestService: <T>(
72
+ // @public (undocumented)
73
+ const requestService: <T>(
90
74
  serviceConfig: ServiceConfig,
91
75
  options?: RequestServiceOptions | undefined,
92
76
  ) => Promise<T>;
93
77
 
94
- export declare interface RequestServiceOptions {
78
+ // @public (undocumented)
79
+ export interface RequestServiceOptions {
80
+ // (undocumented)
81
+ ignoreResponsePayload?: boolean;
82
+ // (undocumented)
95
83
  path?: string;
84
+ // (undocumented)
96
85
  queryParams?: KeyValues;
86
+ // (undocumented)
97
87
  requestInit?: RequestInit;
98
- ignoreResponsePayload?: boolean;
99
88
  }
100
89
 
101
- export declare interface SecurityOptions {
102
- params?: KeyValues;
90
+ // @public (undocumented)
91
+ export interface SecurityOptions {
92
+ // (undocumented)
103
93
  headers?: KeyValues;
94
+ // (undocumented)
104
95
  omitCredentials?: boolean;
96
+ // (undocumented)
97
+ params?: KeyValues;
105
98
  }
106
99
 
107
- /**
108
- * Returns the current SecurityOptions for the mentions service.
109
- */
110
- export declare interface SecurityProvider {
100
+ // @public
101
+ export interface SecurityProvider {
102
+ // (undocumented)
111
103
  (): SecurityOptions;
112
104
  }
113
105
 
114
- export declare interface ServiceConfig {
115
- url: string;
116
- securityProvider?: SecurityProvider;
106
+ // @public (undocumented)
107
+ export interface ServiceConfig {
108
+ // (undocumented)
117
109
  refreshedSecurityProvider?: RefreshSecurityProvider;
110
+ // (undocumented)
111
+ securityProvider?: SecurityProvider;
112
+ // (undocumented)
113
+ url: string;
118
114
  }
119
115
 
120
116
  declare namespace serviceUtils {
121
117
  export { requestService };
122
118
  }
123
119
 
124
- export declare const utils: typeof serviceUtils;
120
+ // @public (undocumented)
121
+ export const utils: typeof serviceUtils;
125
122
 
126
- export {};
123
+ // (No @packageDocumentation comment for this package)
127
124
  ```
125
+
126
+ <!--SECTION END: Main Entry Types-->
127
+
128
+ ### Peer Dependencies
129
+
130
+ <!--SECTION START: Peer Dependencies-->
131
+
132
+ ```json
133
+ {}
134
+ ```
135
+
136
+ <!--SECTION END: Peer Dependencies-->
@@ -3,5 +3,12 @@
3
3
  "main": "../dist/cjs/serviceResources.js",
4
4
  "module": "../dist/esm/serviceResources.js",
5
5
  "module:es2019": "../dist/es2019/serviceResources.js",
6
- "types": "../dist/types/serviceResources.d.ts"
6
+ "types": "../dist/types/serviceResources.d.ts",
7
+ "typesVersions": {
8
+ ">=4.0 <4.5": {
9
+ "*": [
10
+ "../dist/types-ts4.0/serviceResources.d.ts"
11
+ ]
12
+ }
13
+ }
7
14
  }
@@ -3,5 +3,12 @@
3
3
  "main": "../dist/cjs/serviceUtils.js",
4
4
  "module": "../dist/esm/serviceUtils.js",
5
5
  "module:es2019": "../dist/es2019/serviceUtils.js",
6
- "types": "../dist/types/serviceUtils.d.ts"
6
+ "types": "../dist/types/serviceUtils.d.ts",
7
+ "typesVersions": {
8
+ ">=4.0 <4.5": {
9
+ "*": [
10
+ "../dist/types-ts4.0/serviceUtils.d.ts"
11
+ ]
12
+ }
13
+ }
7
14
  }
@@ -3,5 +3,12 @@
3
3
  "main": "../dist/cjs/types.js",
4
4
  "module": "../dist/esm/types.js",
5
5
  "module:es2019": "../dist/es2019/types.js",
6
- "types": "../dist/types/types.d.ts"
6
+ "types": "../dist/types/types.d.ts",
7
+ "typesVersions": {
8
+ ">=4.0 <4.5": {
9
+ "*": [
10
+ "../dist/types-ts4.0/types.d.ts"
11
+ ]
12
+ }
13
+ }
7
14
  }