@commercetools/ts-client 2.1.0 → 2.1.2

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,18 @@
1
1
  # @commercetools/ts-client
2
2
 
3
+ ## 2.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#848](https://github.com/commercetools/commercetools-sdk-typescript/pull/848) [`39c5298`](https://github.com/commercetools/commercetools-sdk-typescript/commit/39c5298c8b6abb71bce47ef437e6e7359c3e8195) Thanks [@ajimae](https://github.com/ajimae)! - - add `httpClientOptions` to all supported `authMiddlewareOption` and `httpMiddlewareOptions`
8
+ - add options used for configuring the behaviour of the supported `httpClients` (fetch and axios)
9
+
10
+ ## 2.1.1
11
+
12
+ ### Patch Changes
13
+
14
+ - [#835](https://github.com/commercetools/commercetools-sdk-typescript/pull/835) [`b2c62ba`](https://github.com/commercetools/commercetools-sdk-typescript/commit/b2c62ba105b7fb9fe2eb6a4ae1b95c8d5b67d428) Thanks [@ajimae](https://github.com/ajimae)! - Fix issues with counting special characters' length
15
+
3
16
  ## 2.1.0
4
17
 
5
18
  ### Minor Changes
@@ -35,6 +35,17 @@ function _defineProperty(e, r, t) {
35
35
  }) : e[r] = t, e;
36
36
  }
37
37
 
38
+ var Buffer = require('buffer/').Buffer;
39
+ function byteLength(body) {
40
+ if (body && (typeof body === 'string' || body instanceof Uint8Array)) {
41
+ return Buffer.byteLength(body).toString();
42
+ }
43
+ if (body && typeof body === 'object') {
44
+ return new TextEncoder().encode(JSON.stringify(body)).length.toString();
45
+ }
46
+ return '0';
47
+ }
48
+
38
49
  const HEADERS_CONTENT_TYPES = ['application/json', 'application/graphql'];
39
50
  const CONCURRENCT_REQUEST = 20;
40
51
  const CTP_API_URL = 'https://api.europe-west1.gcp.commercetools.com';
@@ -164,11 +175,10 @@ async function executor(request) {
164
175
  validateRetryCodes(retryCodes);
165
176
  async function execute() {
166
177
  return httpClient(url, {
167
- ...rest,
168
178
  ...options,
179
+ ...rest,
169
180
  headers: {
170
181
  ...rest.headers,
171
- ...options.headers,
172
182
  // axios header encoding
173
183
  'Accept-Encoding': 'application/json'
174
184
  },
@@ -255,7 +265,15 @@ async function executor(request) {
255
265
  * middleware options or from
256
266
  * http client config
257
267
  */
258
- {});
268
+
269
+ /**
270
+ * we want to suppress axios internal
271
+ * error handling behaviour to make it
272
+ * consistent with native fetch.
273
+ */
274
+ {
275
+ validateStatus: status => true
276
+ });
259
277
  return data;
260
278
  }
261
279
 
@@ -450,20 +468,16 @@ function createUserAgent(options) {
450
468
  return [baseInfo, systemInfo, libraryInfo, contactInfo, customAgent].filter(Boolean).join(' ');
451
469
  }
452
470
 
453
- function byteLength(body) {
454
- if (typeof body === 'string') return body.length.toString();
455
- if (body && typeof body === 'object') return new TextEncoder().encode(JSON.stringify(body)).length.toString();
456
- if (body instanceof Uint8Array) return body.length.toString();
457
- return '0';
458
- }
459
-
460
471
  /**
461
472
  * validate some essential http options
462
473
  * @param options
463
474
  */
464
- function validateHttpOptions(options) {
475
+ function validateHttpClientOptions(options) {
465
476
  if (!options.host) throw new Error('Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`');
466
477
  if (!options.httpClient && typeof options.httpClient !== 'function') throw new Error('An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.');
478
+ if (options.httpClientOptions && Object.prototype.toString.call(options.httpClientOptions) !== '[object Object]') {
479
+ throw new Error('`httpClientOptions` must be an object type');
480
+ }
467
481
  }
468
482
 
469
483
  /**
@@ -622,6 +636,7 @@ function buildRequestForPasswordFlow(options) {
622
636
  async function executeRequest$1(options) {
623
637
  const {
624
638
  httpClient,
639
+ httpClientOptions,
625
640
  tokenCache,
626
641
  userOption,
627
642
  tokenCacheObject
@@ -664,6 +679,7 @@ async function executeRequest$1(options) {
664
679
  'Content-Length': byteLength(body)
665
680
  },
666
681
  httpClient,
682
+ httpClientOptions,
667
683
  body
668
684
  });
669
685
  if (response.statusCode >= 200 && response.statusCode < 300) {
@@ -729,6 +745,7 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
729
745
  tokenCache,
730
746
  tokenCacheKey,
731
747
  httpClient: options.httpClient || fetch__default["default"],
748
+ httpClientOptions: options.httpClientOptions,
732
749
  ...buildRequestForAnonymousSessionFlow(options),
733
750
  userOption: options,
734
751
  next
@@ -783,6 +800,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
783
800
  tokenCacheKey,
784
801
  tokenCacheObject,
785
802
  httpClient: options.httpClient || fetch__default["default"],
803
+ httpClientOptions: options.httpClientOptions,
786
804
  ...buildRequestForClientCredentialsFlow(options),
787
805
  next
788
806
  };
@@ -858,6 +876,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
858
876
  tokenCache,
859
877
  tokenCacheKey,
860
878
  httpClient: options.httpClient || fetch__default["default"],
879
+ httpClientOptions: options.httpClientOptions,
861
880
  ...buildRequestForPasswordFlow(options),
862
881
  userOption: options,
863
882
  next
@@ -908,6 +927,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
908
927
  request,
909
928
  tokenCache,
910
929
  httpClient: options.httpClient || fetch,
930
+ httpClientOptions: options.httpClientOptions,
911
931
  ...buildRequestForRefreshTokenFlow(options),
912
932
  next
913
933
  };
@@ -1096,7 +1116,7 @@ async function executeRequest({
1096
1116
  }
1097
1117
  function createHttpMiddleware$1(options) {
1098
1118
  // validate response
1099
- validateHttpOptions(options);
1119
+ validateHttpClientOptions(options);
1100
1120
  const {
1101
1121
  host,
1102
1122
  credentialsMode,
@@ -1247,7 +1267,7 @@ function createQueueMiddleware$1({
1247
1267
 
1248
1268
  var packageJson = {
1249
1269
  name: "@commercetools/ts-client",
1250
- version: "2.1.0",
1270
+ version: "2.1.2",
1251
1271
  engines: {
1252
1272
  node: ">=14"
1253
1273
  },
@@ -1281,6 +1301,7 @@ var packageJson = {
1281
1301
  },
1282
1302
  dependencies: {
1283
1303
  "abort-controller": "3.0.0",
1304
+ buffer: "^6.0.3",
1284
1305
  "node-fetch": "^2.6.1"
1285
1306
  },
1286
1307
  files: [
@@ -1533,6 +1554,7 @@ class ClientBuilder {
1533
1554
  host: oauthUri,
1534
1555
  projectKey: projectKey || this.projectKey,
1535
1556
  credentials,
1557
+ httpClient: httpClient || fetch__default["default"],
1536
1558
  scopes
1537
1559
  }).withHttpMiddleware({
1538
1560
  host: baseUri,
@@ -26,6 +26,17 @@ function _defineProperty(e, r, t) {
26
26
  }) : e[r] = t, e;
27
27
  }
28
28
 
29
+ var Buffer = require('buffer/').Buffer;
30
+ function byteLength(body) {
31
+ if (body && (typeof body === 'string' || body instanceof Uint8Array)) {
32
+ return Buffer.byteLength(body).toString();
33
+ }
34
+ if (body && typeof body === 'object') {
35
+ return new TextEncoder().encode(JSON.stringify(body)).length.toString();
36
+ }
37
+ return '0';
38
+ }
39
+
29
40
  const HEADERS_CONTENT_TYPES = ['application/json', 'application/graphql'];
30
41
  const CONCURRENCT_REQUEST = 20;
31
42
  const CTP_API_URL = 'https://api.europe-west1.gcp.commercetools.com';
@@ -155,11 +166,10 @@ async function executor(request) {
155
166
  validateRetryCodes(retryCodes);
156
167
  async function execute() {
157
168
  return httpClient(url, {
158
- ...rest,
159
169
  ...options,
170
+ ...rest,
160
171
  headers: {
161
172
  ...rest.headers,
162
- ...options.headers,
163
173
  // axios header encoding
164
174
  'Accept-Encoding': 'application/json'
165
175
  },
@@ -246,7 +256,15 @@ async function executor(request) {
246
256
  * middleware options or from
247
257
  * http client config
248
258
  */
249
- {});
259
+
260
+ /**
261
+ * we want to suppress axios internal
262
+ * error handling behaviour to make it
263
+ * consistent with native fetch.
264
+ */
265
+ {
266
+ validateStatus: status => true
267
+ });
250
268
  return data;
251
269
  }
252
270
 
@@ -441,20 +459,16 @@ function createUserAgent(options) {
441
459
  return [baseInfo, systemInfo, libraryInfo, contactInfo, customAgent].filter(Boolean).join(' ');
442
460
  }
443
461
 
444
- function byteLength(body) {
445
- if (typeof body === 'string') return body.length.toString();
446
- if (body && typeof body === 'object') return new TextEncoder().encode(JSON.stringify(body)).length.toString();
447
- if (body instanceof Uint8Array) return body.length.toString();
448
- return '0';
449
- }
450
-
451
462
  /**
452
463
  * validate some essential http options
453
464
  * @param options
454
465
  */
455
- function validateHttpOptions(options) {
466
+ function validateHttpClientOptions(options) {
456
467
  if (!options.host) throw new Error('Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`');
457
468
  if (!options.httpClient && typeof options.httpClient !== 'function') throw new Error('An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.');
469
+ if (options.httpClientOptions && Object.prototype.toString.call(options.httpClientOptions) !== '[object Object]') {
470
+ throw new Error('`httpClientOptions` must be an object type');
471
+ }
458
472
  }
459
473
 
460
474
  /**
@@ -613,6 +627,7 @@ function buildRequestForPasswordFlow(options) {
613
627
  async function executeRequest$1(options) {
614
628
  const {
615
629
  httpClient,
630
+ httpClientOptions,
616
631
  tokenCache,
617
632
  userOption,
618
633
  tokenCacheObject
@@ -655,6 +670,7 @@ async function executeRequest$1(options) {
655
670
  'Content-Length': byteLength(body)
656
671
  },
657
672
  httpClient,
673
+ httpClientOptions,
658
674
  body
659
675
  });
660
676
  if (response.statusCode >= 200 && response.statusCode < 300) {
@@ -720,6 +736,7 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
720
736
  tokenCache,
721
737
  tokenCacheKey,
722
738
  httpClient: options.httpClient || fetch$1,
739
+ httpClientOptions: options.httpClientOptions,
723
740
  ...buildRequestForAnonymousSessionFlow(options),
724
741
  userOption: options,
725
742
  next
@@ -774,6 +791,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
774
791
  tokenCacheKey,
775
792
  tokenCacheObject,
776
793
  httpClient: options.httpClient || fetch$1,
794
+ httpClientOptions: options.httpClientOptions,
777
795
  ...buildRequestForClientCredentialsFlow(options),
778
796
  next
779
797
  };
@@ -849,6 +867,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
849
867
  tokenCache,
850
868
  tokenCacheKey,
851
869
  httpClient: options.httpClient || fetch$1,
870
+ httpClientOptions: options.httpClientOptions,
852
871
  ...buildRequestForPasswordFlow(options),
853
872
  userOption: options,
854
873
  next
@@ -899,6 +918,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
899
918
  request,
900
919
  tokenCache,
901
920
  httpClient: options.httpClient || fetch,
921
+ httpClientOptions: options.httpClientOptions,
902
922
  ...buildRequestForRefreshTokenFlow(options),
903
923
  next
904
924
  };
@@ -1087,7 +1107,7 @@ async function executeRequest({
1087
1107
  }
1088
1108
  function createHttpMiddleware$1(options) {
1089
1109
  // validate response
1090
- validateHttpOptions(options);
1110
+ validateHttpClientOptions(options);
1091
1111
  const {
1092
1112
  host,
1093
1113
  credentialsMode,
@@ -1238,7 +1258,7 @@ function createQueueMiddleware$1({
1238
1258
 
1239
1259
  var packageJson = {
1240
1260
  name: "@commercetools/ts-client",
1241
- version: "2.1.0",
1261
+ version: "2.1.2",
1242
1262
  engines: {
1243
1263
  node: ">=14"
1244
1264
  },
@@ -1272,6 +1292,7 @@ var packageJson = {
1272
1292
  },
1273
1293
  dependencies: {
1274
1294
  "abort-controller": "3.0.0",
1295
+ buffer: "^6.0.3",
1275
1296
  "node-fetch": "^2.6.1"
1276
1297
  },
1277
1298
  files: [
@@ -1524,6 +1545,7 @@ class ClientBuilder {
1524
1545
  host: oauthUri,
1525
1546
  projectKey: projectKey || this.projectKey,
1526
1547
  credentials,
1548
+ httpClient: httpClient || fetch$1,
1527
1549
  scopes
1528
1550
  }).withHttpMiddleware({
1529
1551
  host: baseUri,
@@ -35,6 +35,17 @@ function _defineProperty(e, r, t) {
35
35
  }) : e[r] = t, e;
36
36
  }
37
37
 
38
+ var Buffer = require('buffer/').Buffer;
39
+ function byteLength(body) {
40
+ if (body && (typeof body === 'string' || body instanceof Uint8Array)) {
41
+ return Buffer.byteLength(body).toString();
42
+ }
43
+ if (body && typeof body === 'object') {
44
+ return new TextEncoder().encode(JSON.stringify(body)).length.toString();
45
+ }
46
+ return '0';
47
+ }
48
+
38
49
  const HEADERS_CONTENT_TYPES = ['application/json', 'application/graphql'];
39
50
  const CONCURRENCT_REQUEST = 20;
40
51
  const CTP_API_URL = 'https://api.europe-west1.gcp.commercetools.com';
@@ -164,11 +175,10 @@ async function executor(request) {
164
175
  validateRetryCodes(retryCodes);
165
176
  async function execute() {
166
177
  return httpClient(url, {
167
- ...rest,
168
178
  ...options,
179
+ ...rest,
169
180
  headers: {
170
181
  ...rest.headers,
171
- ...options.headers,
172
182
  // axios header encoding
173
183
  'Accept-Encoding': 'application/json'
174
184
  },
@@ -255,7 +265,15 @@ async function executor(request) {
255
265
  * middleware options or from
256
266
  * http client config
257
267
  */
258
- {});
268
+
269
+ /**
270
+ * we want to suppress axios internal
271
+ * error handling behaviour to make it
272
+ * consistent with native fetch.
273
+ */
274
+ {
275
+ validateStatus: status => true
276
+ });
259
277
  return data;
260
278
  }
261
279
 
@@ -450,20 +468,16 @@ function createUserAgent(options) {
450
468
  return [baseInfo, systemInfo, libraryInfo, contactInfo, customAgent].filter(Boolean).join(' ');
451
469
  }
452
470
 
453
- function byteLength(body) {
454
- if (typeof body === 'string') return body.length.toString();
455
- if (body && typeof body === 'object') return new TextEncoder().encode(JSON.stringify(body)).length.toString();
456
- if (body instanceof Uint8Array) return body.length.toString();
457
- return '0';
458
- }
459
-
460
471
  /**
461
472
  * validate some essential http options
462
473
  * @param options
463
474
  */
464
- function validateHttpOptions(options) {
475
+ function validateHttpClientOptions(options) {
465
476
  if (!options.host) throw new Error('Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`');
466
477
  if (!options.httpClient && typeof options.httpClient !== 'function') throw new Error('An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.');
478
+ if (options.httpClientOptions && Object.prototype.toString.call(options.httpClientOptions) !== '[object Object]') {
479
+ throw new Error('`httpClientOptions` must be an object type');
480
+ }
467
481
  }
468
482
 
469
483
  /**
@@ -622,6 +636,7 @@ function buildRequestForPasswordFlow(options) {
622
636
  async function executeRequest$1(options) {
623
637
  const {
624
638
  httpClient,
639
+ httpClientOptions,
625
640
  tokenCache,
626
641
  userOption,
627
642
  tokenCacheObject
@@ -664,6 +679,7 @@ async function executeRequest$1(options) {
664
679
  'Content-Length': byteLength(body)
665
680
  },
666
681
  httpClient,
682
+ httpClientOptions,
667
683
  body
668
684
  });
669
685
  if (response.statusCode >= 200 && response.statusCode < 300) {
@@ -729,6 +745,7 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
729
745
  tokenCache,
730
746
  tokenCacheKey,
731
747
  httpClient: options.httpClient || fetch__default["default"],
748
+ httpClientOptions: options.httpClientOptions,
732
749
  ...buildRequestForAnonymousSessionFlow(options),
733
750
  userOption: options,
734
751
  next
@@ -783,6 +800,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
783
800
  tokenCacheKey,
784
801
  tokenCacheObject,
785
802
  httpClient: options.httpClient || fetch__default["default"],
803
+ httpClientOptions: options.httpClientOptions,
786
804
  ...buildRequestForClientCredentialsFlow(options),
787
805
  next
788
806
  };
@@ -858,6 +876,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
858
876
  tokenCache,
859
877
  tokenCacheKey,
860
878
  httpClient: options.httpClient || fetch__default["default"],
879
+ httpClientOptions: options.httpClientOptions,
861
880
  ...buildRequestForPasswordFlow(options),
862
881
  userOption: options,
863
882
  next
@@ -908,6 +927,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
908
927
  request,
909
928
  tokenCache,
910
929
  httpClient: options.httpClient || fetch,
930
+ httpClientOptions: options.httpClientOptions,
911
931
  ...buildRequestForRefreshTokenFlow(options),
912
932
  next
913
933
  };
@@ -1096,7 +1116,7 @@ async function executeRequest({
1096
1116
  }
1097
1117
  function createHttpMiddleware$1(options) {
1098
1118
  // validate response
1099
- validateHttpOptions(options);
1119
+ validateHttpClientOptions(options);
1100
1120
  const {
1101
1121
  host,
1102
1122
  credentialsMode,
@@ -1247,7 +1267,7 @@ function createQueueMiddleware$1({
1247
1267
 
1248
1268
  var packageJson = {
1249
1269
  name: "@commercetools/ts-client",
1250
- version: "2.1.0",
1270
+ version: "2.1.2",
1251
1271
  engines: {
1252
1272
  node: ">=14"
1253
1273
  },
@@ -1281,6 +1301,7 @@ var packageJson = {
1281
1301
  },
1282
1302
  dependencies: {
1283
1303
  "abort-controller": "3.0.0",
1304
+ buffer: "^6.0.3",
1284
1305
  "node-fetch": "^2.6.1"
1285
1306
  },
1286
1307
  files: [
@@ -1533,6 +1554,7 @@ class ClientBuilder {
1533
1554
  host: oauthUri,
1534
1555
  projectKey: projectKey || this.projectKey,
1535
1556
  credentials,
1557
+ httpClient: httpClient || fetch__default["default"],
1536
1558
  scopes
1537
1559
  }).withHttpMiddleware({
1538
1560
  host: baseUri,
@@ -35,6 +35,17 @@ function _defineProperty(e, r, t) {
35
35
  }) : e[r] = t, e;
36
36
  }
37
37
 
38
+ var Buffer = require('buffer/').Buffer;
39
+ function byteLength(body) {
40
+ if (body && (typeof body === 'string' || body instanceof Uint8Array)) {
41
+ return Buffer.byteLength(body).toString();
42
+ }
43
+ if (body && typeof body === 'object') {
44
+ return new TextEncoder().encode(JSON.stringify(body)).length.toString();
45
+ }
46
+ return '0';
47
+ }
48
+
38
49
  const HEADERS_CONTENT_TYPES = ['application/json', 'application/graphql'];
39
50
  const CONCURRENCT_REQUEST = 20;
40
51
  const CTP_API_URL = 'https://api.europe-west1.gcp.commercetools.com';
@@ -164,11 +175,10 @@ async function executor(request) {
164
175
  validateRetryCodes(retryCodes);
165
176
  async function execute() {
166
177
  return httpClient(url, {
167
- ...rest,
168
178
  ...options,
179
+ ...rest,
169
180
  headers: {
170
181
  ...rest.headers,
171
- ...options.headers,
172
182
  // axios header encoding
173
183
  'Accept-Encoding': 'application/json'
174
184
  },
@@ -255,7 +265,15 @@ async function executor(request) {
255
265
  * middleware options or from
256
266
  * http client config
257
267
  */
258
- {});
268
+
269
+ /**
270
+ * we want to suppress axios internal
271
+ * error handling behaviour to make it
272
+ * consistent with native fetch.
273
+ */
274
+ {
275
+ validateStatus: status => true
276
+ });
259
277
  return data;
260
278
  }
261
279
 
@@ -450,20 +468,16 @@ function createUserAgent(options) {
450
468
  return [baseInfo, systemInfo, libraryInfo, contactInfo, customAgent].filter(Boolean).join(' ');
451
469
  }
452
470
 
453
- function byteLength(body) {
454
- if (typeof body === 'string') return body.length.toString();
455
- if (body && typeof body === 'object') return new TextEncoder().encode(JSON.stringify(body)).length.toString();
456
- if (body instanceof Uint8Array) return body.length.toString();
457
- return '0';
458
- }
459
-
460
471
  /**
461
472
  * validate some essential http options
462
473
  * @param options
463
474
  */
464
- function validateHttpOptions(options) {
475
+ function validateHttpClientOptions(options) {
465
476
  if (!options.host) throw new Error('Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`');
466
477
  if (!options.httpClient && typeof options.httpClient !== 'function') throw new Error('An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.');
478
+ if (options.httpClientOptions && Object.prototype.toString.call(options.httpClientOptions) !== '[object Object]') {
479
+ throw new Error('`httpClientOptions` must be an object type');
480
+ }
467
481
  }
468
482
 
469
483
  /**
@@ -622,6 +636,7 @@ function buildRequestForPasswordFlow(options) {
622
636
  async function executeRequest$1(options) {
623
637
  const {
624
638
  httpClient,
639
+ httpClientOptions,
625
640
  tokenCache,
626
641
  userOption,
627
642
  tokenCacheObject
@@ -664,6 +679,7 @@ async function executeRequest$1(options) {
664
679
  'Content-Length': byteLength(body)
665
680
  },
666
681
  httpClient,
682
+ httpClientOptions,
667
683
  body
668
684
  });
669
685
  if (response.statusCode >= 200 && response.statusCode < 300) {
@@ -729,6 +745,7 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
729
745
  tokenCache,
730
746
  tokenCacheKey,
731
747
  httpClient: options.httpClient || fetch__default["default"],
748
+ httpClientOptions: options.httpClientOptions,
732
749
  ...buildRequestForAnonymousSessionFlow(options),
733
750
  userOption: options,
734
751
  next
@@ -783,6 +800,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
783
800
  tokenCacheKey,
784
801
  tokenCacheObject,
785
802
  httpClient: options.httpClient || fetch__default["default"],
803
+ httpClientOptions: options.httpClientOptions,
786
804
  ...buildRequestForClientCredentialsFlow(options),
787
805
  next
788
806
  };
@@ -858,6 +876,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
858
876
  tokenCache,
859
877
  tokenCacheKey,
860
878
  httpClient: options.httpClient || fetch__default["default"],
879
+ httpClientOptions: options.httpClientOptions,
861
880
  ...buildRequestForPasswordFlow(options),
862
881
  userOption: options,
863
882
  next
@@ -908,6 +927,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
908
927
  request,
909
928
  tokenCache,
910
929
  httpClient: options.httpClient || fetch,
930
+ httpClientOptions: options.httpClientOptions,
911
931
  ...buildRequestForRefreshTokenFlow(options),
912
932
  next
913
933
  };
@@ -1096,7 +1116,7 @@ async function executeRequest({
1096
1116
  }
1097
1117
  function createHttpMiddleware$1(options) {
1098
1118
  // validate response
1099
- validateHttpOptions(options);
1119
+ validateHttpClientOptions(options);
1100
1120
  const {
1101
1121
  host,
1102
1122
  credentialsMode,
@@ -1247,7 +1267,7 @@ function createQueueMiddleware$1({
1247
1267
 
1248
1268
  var packageJson = {
1249
1269
  name: "@commercetools/ts-client",
1250
- version: "2.1.0",
1270
+ version: "2.1.2",
1251
1271
  engines: {
1252
1272
  node: ">=14"
1253
1273
  },
@@ -1281,6 +1301,7 @@ var packageJson = {
1281
1301
  },
1282
1302
  dependencies: {
1283
1303
  "abort-controller": "3.0.0",
1304
+ buffer: "^6.0.3",
1284
1305
  "node-fetch": "^2.6.1"
1285
1306
  },
1286
1307
  files: [
@@ -1533,6 +1554,7 @@ class ClientBuilder {
1533
1554
  host: oauthUri,
1534
1555
  projectKey: projectKey || this.projectKey,
1535
1556
  credentials,
1557
+ httpClient: httpClient || fetch__default["default"],
1536
1558
  scopes
1537
1559
  }).withHttpMiddleware({
1538
1560
  host: baseUri,
@@ -26,6 +26,17 @@ function _defineProperty(e, r, t) {
26
26
  }) : e[r] = t, e;
27
27
  }
28
28
 
29
+ var Buffer = require('buffer/').Buffer;
30
+ function byteLength(body) {
31
+ if (body && (typeof body === 'string' || body instanceof Uint8Array)) {
32
+ return Buffer.byteLength(body).toString();
33
+ }
34
+ if (body && typeof body === 'object') {
35
+ return new TextEncoder().encode(JSON.stringify(body)).length.toString();
36
+ }
37
+ return '0';
38
+ }
39
+
29
40
  const HEADERS_CONTENT_TYPES = ['application/json', 'application/graphql'];
30
41
  const CONCURRENCT_REQUEST = 20;
31
42
  const CTP_API_URL = 'https://api.europe-west1.gcp.commercetools.com';
@@ -155,11 +166,10 @@ async function executor(request) {
155
166
  validateRetryCodes(retryCodes);
156
167
  async function execute() {
157
168
  return httpClient(url, {
158
- ...rest,
159
169
  ...options,
170
+ ...rest,
160
171
  headers: {
161
172
  ...rest.headers,
162
- ...options.headers,
163
173
  // axios header encoding
164
174
  'Accept-Encoding': 'application/json'
165
175
  },
@@ -246,7 +256,15 @@ async function executor(request) {
246
256
  * middleware options or from
247
257
  * http client config
248
258
  */
249
- {});
259
+
260
+ /**
261
+ * we want to suppress axios internal
262
+ * error handling behaviour to make it
263
+ * consistent with native fetch.
264
+ */
265
+ {
266
+ validateStatus: status => true
267
+ });
250
268
  return data;
251
269
  }
252
270
 
@@ -441,20 +459,16 @@ function createUserAgent(options) {
441
459
  return [baseInfo, systemInfo, libraryInfo, contactInfo, customAgent].filter(Boolean).join(' ');
442
460
  }
443
461
 
444
- function byteLength(body) {
445
- if (typeof body === 'string') return body.length.toString();
446
- if (body && typeof body === 'object') return new TextEncoder().encode(JSON.stringify(body)).length.toString();
447
- if (body instanceof Uint8Array) return body.length.toString();
448
- return '0';
449
- }
450
-
451
462
  /**
452
463
  * validate some essential http options
453
464
  * @param options
454
465
  */
455
- function validateHttpOptions(options) {
466
+ function validateHttpClientOptions(options) {
456
467
  if (!options.host) throw new Error('Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`');
457
468
  if (!options.httpClient && typeof options.httpClient !== 'function') throw new Error('An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.');
469
+ if (options.httpClientOptions && Object.prototype.toString.call(options.httpClientOptions) !== '[object Object]') {
470
+ throw new Error('`httpClientOptions` must be an object type');
471
+ }
458
472
  }
459
473
 
460
474
  /**
@@ -613,6 +627,7 @@ function buildRequestForPasswordFlow(options) {
613
627
  async function executeRequest$1(options) {
614
628
  const {
615
629
  httpClient,
630
+ httpClientOptions,
616
631
  tokenCache,
617
632
  userOption,
618
633
  tokenCacheObject
@@ -655,6 +670,7 @@ async function executeRequest$1(options) {
655
670
  'Content-Length': byteLength(body)
656
671
  },
657
672
  httpClient,
673
+ httpClientOptions,
658
674
  body
659
675
  });
660
676
  if (response.statusCode >= 200 && response.statusCode < 300) {
@@ -720,6 +736,7 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
720
736
  tokenCache,
721
737
  tokenCacheKey,
722
738
  httpClient: options.httpClient || fetch$1,
739
+ httpClientOptions: options.httpClientOptions,
723
740
  ...buildRequestForAnonymousSessionFlow(options),
724
741
  userOption: options,
725
742
  next
@@ -774,6 +791,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
774
791
  tokenCacheKey,
775
792
  tokenCacheObject,
776
793
  httpClient: options.httpClient || fetch$1,
794
+ httpClientOptions: options.httpClientOptions,
777
795
  ...buildRequestForClientCredentialsFlow(options),
778
796
  next
779
797
  };
@@ -849,6 +867,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
849
867
  tokenCache,
850
868
  tokenCacheKey,
851
869
  httpClient: options.httpClient || fetch$1,
870
+ httpClientOptions: options.httpClientOptions,
852
871
  ...buildRequestForPasswordFlow(options),
853
872
  userOption: options,
854
873
  next
@@ -899,6 +918,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
899
918
  request,
900
919
  tokenCache,
901
920
  httpClient: options.httpClient || fetch,
921
+ httpClientOptions: options.httpClientOptions,
902
922
  ...buildRequestForRefreshTokenFlow(options),
903
923
  next
904
924
  };
@@ -1087,7 +1107,7 @@ async function executeRequest({
1087
1107
  }
1088
1108
  function createHttpMiddleware$1(options) {
1089
1109
  // validate response
1090
- validateHttpOptions(options);
1110
+ validateHttpClientOptions(options);
1091
1111
  const {
1092
1112
  host,
1093
1113
  credentialsMode,
@@ -1238,7 +1258,7 @@ function createQueueMiddleware$1({
1238
1258
 
1239
1259
  var packageJson = {
1240
1260
  name: "@commercetools/ts-client",
1241
- version: "2.1.0",
1261
+ version: "2.1.2",
1242
1262
  engines: {
1243
1263
  node: ">=14"
1244
1264
  },
@@ -1272,6 +1292,7 @@ var packageJson = {
1272
1292
  },
1273
1293
  dependencies: {
1274
1294
  "abort-controller": "3.0.0",
1295
+ buffer: "^6.0.3",
1275
1296
  "node-fetch": "^2.6.1"
1276
1297
  },
1277
1298
  files: [
@@ -1524,6 +1545,7 @@ class ClientBuilder {
1524
1545
  host: oauthUri,
1525
1546
  projectKey: projectKey || this.projectKey,
1526
1547
  credentials,
1548
+ httpClient: httpClient || fetch$1,
1527
1549
  scopes
1528
1550
  }).withHttpMiddleware({
1529
1551
  host: baseUri,
@@ -1 +1,14 @@
1
- var window;(window||={})["@commercetools/ts-client"]=(()=>{var $e=Object.create;var ie=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var Ee=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),me=(e,t)=>{for(var r in t)ie(e,r,{get:t[r],enumerable:!0})},Oe=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Qe(t))!Ge.call(e,i)&&i!==r&&ie(e,i,{get:()=>t[i],enumerable:!(o=ze(t,i))||o.enumerable});return e};var G=(e,t,r)=>(r=e!=null?$e(Je(e)):{},Oe(t||!e||!e.__esModule?ie(r,"default",{value:e,enumerable:!0}):r,e)),Ve=e=>Oe(ie({},"__esModule",{value:!0}),e);var V=Ee((H,Pe)=>{"use strict";var Ye=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},F=Ye();Pe.exports=H=F.fetch;F.fetch&&(H.default=F.fetch.bind(F));H.Headers=F.Headers;H.Request=F.Request;H.Response=F.Response});var _e=Ee((Xr,pe)=>{"use strict";var{AbortController:ve,AbortSignal:yt}=typeof self<"u"?self:typeof window<"u"?window:void 0;pe.exports=ve;pe.exports.AbortSignal=yt;pe.exports.default=ve});var Ft={};me(Ft,{ClientBuilder:()=>z,Process:()=>we,createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>B,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>D,createAuthMiddlewareForRefreshTokenFlow:()=>$,createClient:()=>j,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var q=G(V());var ke={};me(ke,{createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>B,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>D,createAuthMiddlewareForRefreshTokenFlow:()=>$,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createErrorMiddleware:()=>xe,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var Ue=G(V());var y={};me(y,{CONCURRENCT_REQUEST:()=>Xe,CTP_API_URL:()=>Ze,CTP_AUTH_URL:()=>et,DEFAULT_HEADERS:()=>ye,HEADERS_CONTENT_TYPES:()=>We});var We=["application/json","application/graphql"],Xe=20,Ze="https://api.europe-west1.gcp.commercetools.com",et="https://auth.europe-west1.gcp.commercetools.com",ye=["content-type","access-control-allow-origin","access-control-allow-headers","access-control-allow-methods","access-control-expose-headers","access-control-max-ag","x-correlation-id","server-timing","date","server","transfer-encoding","access-control-max-age","content-encoding","x-envoy-upstream-service-time","via","alt-svc","connection"];function k(e,t,r={}){this.status=this.statusCode=this.code=e,this.message=t,Object.assign(this,r),this.name=this.constructor.name,this.constructor.prototype.__proto__=Error.prototype,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}function Se(...e){k.call(this,0,...e)}function Fe(...e){k.call(this,...e)}function tt(...e){k.call(this,400,...e)}function rt(...e){k.call(this,401,...e)}function ot(...e){k.call(this,403,...e)}function it(...e){k.call(this,404,...e)}function nt(...e){k.call(this,409,...e)}function at(...e){k.call(this,500,...e)}function st(...e){k.call(this,503,...e)}function Me(e){switch(e){case 0:return Se;case 400:return tt;case 401:return rt;case 403:return ot;case 404:return it;case 409:return nt;case 500:return at;case 503:return st;default:return}}function lt({statusCode:e,message:t,...r}){let o=t||"Unexpected non-JSON error response";e===404&&(o=`URI not found: ${r.originalRequest?.uri||r.uri}`);let i=Me(e);return i?new i(o,r):new Fe(e,o,r)}var N=lt;function dt(e,t){return[503,...e].includes(t?.status||t?.statusCode)}async function ut(e,t){async function r(){return await e({...t,headers:{...t.headers}})}return r().catch(o=>Promise.reject(o))}async function v(e){let{url:t,httpClient:r,...o}=e;return await ut(async n=>{let{enableRetry:a,retryConfig:l,abortController:d}=o,{retryCodes:u=[],maxDelay:s=1/0,maxRetries:h=3,backoff:f=!0,retryDelay:M=200,retryOnAbort:c=!0}=l||{},g,x,w=0;ge(u);async function C(){return r(t,{...o,...n,headers:{...o.headers,...n.headers,"Accept-Encoding":"application/json"},...o.body?{data:o.body}:{},withCredentials:n.credentialsMode==="include"})}async function R(){let O=async(S,Q)=>{let J={};try{if(J=await C(),J.status>399&&dt(S,J))return{_response:J,shouldRetry:!0}}catch(fe){if(fe.name.includes("AbortError")&&Q)return{_response:fe,shouldRetry:!0};throw fe}return{_response:J,shouldRetry:!1}},P=c||!d||!d.signal,{_response:oe,shouldRetry:U}=await O(u,P);for(;a&&U&&w<h;){w++;let S=await O(u,P);oe=S._response,U=S.shouldRetry;let Q=ne({retryCount:w,retryDelay:M,maxRetries:h,backoff:f,maxDelay:s});await ae(Q)}return oe}let p=await R();try{p.text&&typeof p.text=="function"?(g=await p.text()||p[Object.getOwnPropertySymbols(p)[1]],x=JSON.parse(g)):x=p.data||p}catch{x=g}return{data:x,retryCount:w,statusCode:p.status||p.statusCode||x.statusCode,headers:p.headers}},{})}function se(){return("1000000-1000-4000-8000"+-1e11).replace(/[018]/g,e=>(parseInt(e)^Math.floor(Math.random()*256)&15>>parseInt(e)/4).toString(16))}function ct(e){return ye.reduce((t,r)=>{let o=e[r]?e[r]:typeof e.get=="function"?e.get(r):null;return o&&(t[r]=o),t},{})}function b(e){if(!e)return null;if(e.raw&&typeof e.raw=="function")return e.raw();if(!e.forEach)return ct(e);let t={};return e.forEach((r,o)=>t[o]=r)}function Y(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function I(e){let t=Object.assign({},e);return t?.headers&&(t.headers.Authorization&&(t.headers.Authorization="Bearer ********"),t.headers.authorization&&(t.headers.authorization="Bearer ********")),t}function m(e,t){return{...t,headers:{...t.headers,Authorization:`Bearer ${e}`}}}var Ce=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];function ne({retryCount:e,retryDelay:t,backoff:r,maxDelay:o}){return r&&e!==0?Math.min(Math.round((Math.random()+1)*t*2**e),o):t}Math.min(Math.round((Math.random()+1)*200*2**10),1/0);function ae(e){return new Promise(t=>{setTimeout(t,e)})}function A(e){if(!e?.credentials?.clientId||!e.projectKey||!e.host)throw new Error("Missing required options.");return{clientId:e.credentials.clientId,host:e.host,projectKey:e.projectKey}}function le(e){return Date.now()+e*1e3-5*60*1e3}function T(e){let t=e;return{get:r=>t,set:(r,o)=>{t=r}}}function Ie(e){return typeof e<"u"&&e!==null}function ht(e){return Ie(e)?typeof e=="string"?e:Object.fromEntries(Object.entries(e).filter(([t,r])=>![null,void 0,""].includes(r))):""}function pt(e){let t={},r=new URLSearchParams(e);for(let o of r.keys())r.getAll(o).length>1?t[o]=r.getAll(o):t[o]=r.get(o);return t}function wt(e){if(e=ht(e),!e)return"";let t=new URLSearchParams(e);for(let[r,o]of Object.entries(e))Array.isArray(o)&&(t.delete(r),o.filter(Ie).forEach(i=>t.append(r,i)));return t.toString()}function Re(e,t=pt){return t(e)}function de(e,t=wt){return t(e)}var ft=()=>typeof window<"u"&&window.document&&window.document.nodeType===9;function mt(){if(ft())return window.navigator.userAgent;let e=process?.version.slice(1)||"unknow",t=`(${process.platform}; ${process.arch})`;return`node.js/${e} ${t}`}function ue(e){let t=null,r=null;if(!e)throw new Error("Missing required option `name`");let o=e.version?`${e.name}/${e.version}`:e.name;e.libraryName&&!e.libraryVersion?t=e.libraryName:e.libraryName&&e.libraryVersion&&(t=`${e.libraryName}/${e.libraryVersion}`),e.contactUrl&&!e.contactEmail?r=`(+${e.contactUrl})`:!e.contactUrl&&e.contactEmail?r=`(+${e.contactEmail})`:e.contactUrl&&e.contactEmail&&(r=`(+${e.contactUrl}; +${e.contactEmail})`);let i=mt(),n=e.customAgent||"";return[o,i,t,r,n].filter(Boolean).join(" ")}function _(e){return typeof e=="string"?e.length.toString():e&&typeof e=="object"?new TextEncoder().encode(JSON.stringify(e)).length.toString():e instanceof Uint8Array?e.length.toString():"0"}function be(e){if(!e.host)throw new Error("Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`");if(!e.httpClient&&typeof e.httpClient!="function")throw new Error("An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.")}function ge(e){if(!Array.isArray(e))throw new Error("`retryCodes` option must be an array of retry status (error) codes and/or messages.")}function Ae(e){if(!e)throw new Error("Missing required options");if(e.middlewares&&!Array.isArray(e.middlewares))throw new Error("Middlewares should be an array");if(!e.middlewares||!Array.isArray(e.middlewares)||!e.middlewares.length)throw new Error("You need to provide at least one middleware")}function ce(e,t,r={allowedMethods:Ce}){if(!t)throw new Error(`The "${e}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(typeof t.uri!="string")throw new Error(`The "${e}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(!r.allowedMethods.includes(t.method))throw new Error(`The "${e}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`)}function Te(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r}=e.credentials||{};if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=e.scopes?e.scopes.join(" "):void 0,i=btoa(`${t}:${r}`),n=e.oauthUri||"/oauth/token",a=e.host.replace(/\/$/,"")+n,l=`grant_type=client_credentials${o?`&scope=${o}`:""}`;return{url:a,body:l,basicAuth:i}}function je(e){if(!e)throw new Error("Missing required options");if(!e.projectKey)throw new Error("Missing required option (projectKey)");let t=e.projectKey;e.oauthUri=e.oauthUri||`/oauth/${t}/anonymous/token`;let r=Te(e);return e.credentials.anonymousId&&(r.body+=`&anonymous_id=${e.credentials.anonymousId}`),{...r}}function he(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");if(!e.refreshToken)throw new Error("Missing required option (refreshToken)");let{clientId:t,clientSecret:r}=e.credentials;if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=btoa(`${t}:${r}`),i=e.oauthUri||"/oauth/token",n=e.host.replace(/\/$/,"")+i,a=`grant_type=refresh_token&refresh_token=${encodeURIComponent(e.refreshToken)}`;return{basicAuth:o,url:n,body:a}}function qe(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r,user:o}=e.credentials,i=e.projectKey;if(!(t&&r&&o))throw new Error("Missing required credentials (clientId, clientSecret, user)");let{username:n,password:a}=o;if(!(n&&a))throw new Error("Missing required user credentials (username, password)");let l=(e.scopes||[]).join(" "),d=l?`&scope=${l}`:"",u=btoa(`${t}:${r}`),s=e.oauthUri||`/oauth/${i}/customers/token`,h=e.host.replace(/\/$/,"")+s,f=`grant_type=password&username=${encodeURIComponent(n)}&password=${encodeURIComponent(a)}${d}`;return{basicAuth:u,url:h,body:f}}async function E(e){let{httpClient:t,tokenCache:r,userOption:o,tokenCacheObject:i}=e,n=e.url,a=e.body,l=e.basicAuth;if(!t||typeof t!="function")throw new Error("an `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.");if(i&&i.refreshToken&&(!i.token||i.token&&Date.now()>i.expirationTime)){if(!o)throw new Error("Missing required options.");let u={...he({...o,refreshToken:i.refreshToken})};n=u.url,a=u.body,l=u.basicAuth}let d;try{if(d=await v({url:n,method:"POST",headers:{Authorization:`Basic ${l}`,"Content-Type":"application/x-www-form-urlencoded","Content-Length":_(a)},httpClient:t,body:a}),d.statusCode>=200&&d.statusCode<300){let{access_token:u,expires_in:s,refresh_token:h}=d?.data,f=le(s);return r.set({token:u,expirationTime:f,refreshToken:h}),Promise.resolve(!0)}throw N({code:d.data.error,statusCode:d.data.statusCode,message:d.data.message,error:d.data.errors})}catch(u){throw u}}function K(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||Ue.default,...je(e),userOption:e,next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}var He=G(V());function B(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,tokenCacheObject:r,httpClient:e.httpClient||He.default,...Te(e),next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}function L(e,t){return r=>async o=>{if(typeof e!="string")throw new Error("authorization must be a string");let i=t?.force===void 0?!0:t.force;if(!e||o.headers&&(o.headers.Authorization||o.headers.authorization)&&i===!1)return r(o);let n={...o,headers:{...o.headers,Authorization:e}};return r(n)}}var Ne=G(V());function D(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||Ne.default,...qe(e),userOption:e,next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}function $(e){let t=e.tokenCache||T({token:"",tokenCacheKey:null}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,httpClient:e.httpClient||fetch,...he(e),next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}function W(e){return t=>async r=>{let o=await t(r);if(o.statusCode==409){let i=o.error.body?.errors?.[0]?.currentVersion;if(i)return e&&typeof e=="function"?r.body=await e(i,r,o):r.body=typeof r.body=="string"?{...JSON.parse(r.body),version:i}:{...r.body,version:i},t(r)}return o}}function X(e){return t=>r=>{let o={...r,headers:{...r.headers,"X-Correlation-ID":e.generate&&typeof e.generate=="function"?e.generate():se()}};return t(o)}}function xe(e){return t=>async r=>{let o=await t(r);if(o.error){let{error:i}=o;return{...o,statusCode:i.statusCode||0,headers:i.headers||b({}),error:{...i,body:i.data||i}}}return o}}var Ke=G(_e());async function Mt({url:e,httpClient:t,clientOptions:r}){let o,{timeout:i,request:n,abortController:a,maskSensitiveHeaderData:l,includeRequestInErrorResponse:d,includeResponseHeaders:u}=r;try{i&&(o=setTimeout(()=>{a.abort()},i));let s=await v({url:e,...r,httpClient:t,method:r.method,...r.body?{body:r.body}:{}});if(u||(s.headers=null),s.statusCode>=200&&s.statusCode<300)return r.method=="HEAD"?{body:null,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)}:{body:s.data,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)};let h=N({message:s?.data?.message||s?.message,statusCode:s.statusCode||s?.data?.statusCode,headers:b(s.headers),method:r.method,body:s.data,retryCount:s.retryCount,...d?{originalRequest:l?I(n):n}:{uri:n.uri}});return{body:s.data,code:s.statusCode,statusCode:s.statusCode,headers:b(s.headers),error:h}}catch(s){let h=u?b(s.response?.headers):null,f=s.response?.status||s.response?.data0||0,M=s.response?.data?.message,c=N({statusCode:f,code:f,status:f,message:M||s.message,headers:h,body:s.response?.data||s,error:s.response?.data,...d?{originalRequest:l?I(n):n}:{uri:n.uri}});throw{body:c,error:c}}finally{clearTimeout(o)}}function Z(e){be(e);let{host:t,credentialsMode:r,httpClient:o,timeout:i,enableRetry:n,retryConfig:a,getAbortController:l,includeOriginalRequest:d,includeRequestInErrorResponse:u=!0,includeResponseHeaders:s=!0,maskSensitiveHeaderData:h,httpClientOptions:f}=e;return M=>async c=>{let g;(i||l)&&(g=(l?l():null)||new Ke.default);let x=t.replace(/\/$/,"")+c.uri,w={...c.headers};Object.prototype.hasOwnProperty.call(w,"Content-Type")||Object.prototype.hasOwnProperty.call(w,"content-type")||(w["Content-Type"]="application/json"),w["Content-Type"]===null&&delete w["Content-Type"];let C=y.HEADERS_CONTENT_TYPES.indexOf(w["Content-Type"])>-1&&typeof c.body=="string"||Y(c.body)?c.body:JSON.stringify(c.body||void 0);C&&(typeof C=="string"||Y(C))&&(w["Content-Length"]=_(C));let R={enableRetry:n,retryConfig:a,request:c,method:c.method,headers:w,includeRequestInErrorResponse:u,maskSensitiveHeaderData:h,includeResponseHeaders:s,...f};r&&(R.credentialsMode=r),g&&(R.signal=g.signal),i&&(R.timeout=i,R.abortController=g),C&&(R.body=C);let p=await Mt({url:x,clientOptions:R,httpClient:o}),O={...c,includeOriginalRequest:d,maskSensitiveHeaderData:h,response:p};return M(O)}}function ee(e){return t=>async r=>{let o=await t(r),i=Object.assign({},o),{loggerFn:n=console.log}=e||{};return n&&typeof n=="function"&&n(o),i}}function te({concurrency:e=20}){let t=0,r=[],o=()=>0>=e?Promise.resolve():new Promise(n=>{let a=()=>{t<e?(t++,n()):r.push(a)};a()}),i=()=>{if(t--,r.length>0){let n=r.shift();n&&n()}};return n=>a=>o().then(()=>{let l={...a,resolve(d){a.resolve(d),i()},reject(d){a.reject(d),i()}};return n(l).finally(()=>{i()})})}var Be={name:"@commercetools/ts-client",version:"2.1.0",engines:{node:">=14"},description:"commercetools Composable Commerce TypeScript SDK client.",keywords:["commercetools","composable commerce","sdk","typescript","client","middleware","http","oauth","auth"],homepage:"https://github.com/commercetools/commercetools-sdk-typescript",license:"MIT",directories:{lib:"lib",test:"test"},publishConfig:{access:"public"},repository:{type:"git",url:"git+https://github.com/commercetools/commercetools-sdk-typescript.git"},bugs:{url:"https://github.com/commercetools/commercetools-sdk-typescript/issues"},dependencies:{"abort-controller":"3.0.0","node-fetch":"^2.6.1"},files:["dist","CHANGELOG.md"],author:"Chukwuemeka Ajima <meeky.ae@gmail.com>",main:"dist/commercetools-ts-client.cjs.js",module:"dist/commercetools-ts-client.esm.js",browser:{"./dist/commercetools-ts-client.cjs.js":"./dist/commercetools-ts-client.browser.cjs.js","./dist/commercetools-ts-client.esm.js":"./dist/commercetools-ts-client.browser.esm.js"},devDependencies:{"common-tags":"1.8.2",dotenv:"16.4.5",jest:"29.7.0",nock:"12.0.3","organize-imports-cli":"0.10.0"},scripts:{organize_imports:"find src -type f -name '*.ts' | xargs organize-imports-cli",postbuild:"yarn organize_imports",post_process_generate:"yarn organize_imports",docs:"typedoc --out docs"}};function re(e){return t=>async r=>{let o=ue({...e,name:`${e.name?e.name+"/":""}commercetools-sdk-javascript-v3/${Be.version}`}),i={...r,headers:{...r.headers,"User-Agent":o}};return t(i)}}function Ct({middlewares:e}){return e.length===1?e[0]:e.slice().reduce((r,o)=>(...i)=>r(o.apply(null,i)))}var Le;function we(e,t,r){if(ce("process",e,{allowedMethods:["GET"]}),typeof t!="function")throw new Error('The "process" function accepts a "Function" as a second argument that returns a Promise. See https://commercetools.github.io/nodejs/sdk/api/sdkClient.html#processrequest-processfn-options');let o={total:Number.POSITIVE_INFINITY,accumulate:!0,...r};return new Promise((i,n)=>{let a,l="";if(e&&e.uri){let[M,c]=e.uri.split("?");a=M,l=c}let u={limit:20,...{...Re(l)}},s=o.total,h=!1,f=async(M,c=[])=>{let g=u.limit<s?u.limit:s,x=de({...u,limit:g}),w={sort:"id asc",withTotal:!1,...M?{where:`id > "${M}"`}:{}},C=de(w),R={...e,uri:`${a}?${C}&${x}`};try{let p=await j(Le).execute(R),{results:O,count:P}=p?.body||{};if(!P&&h)return i(c||[]);let oe=await Promise.resolve(t(p)),U;if(h=!0,o.accumulate&&(U=c.concat(oe||[])),s-=P,P<u.limit||!s)return i(U||[]);let S=O[P-1],Q=S&&S.id;f(Q,U)}catch(p){n(p)}};f()})}function j(e){Le=e,Ae(e);let t=!1,r={async resolve(i){let{response:n,includeOriginalRequest:a,maskSensitiveHeaderData:l,...d}=i,{retryCount:u,...s}=n;return t=l,{body:null,error:null,reject:i.reject,resolve:i.resolve,...s,...a?{originalRequest:d}:{},...n?.retryCount?{retryCount:n.retryCount}:{}}}},o=Ct(e)(r.resolve);return{process:we,execute(i){return ce("exec",i),new Promise(async(n,a)=>{try{let l=await o({reject:a,resolve:n,...i});if(l.error)return a(l.error);l.originalRequest&&t&&(l.originalRequest=I(l.originalRequest)),n(l)}catch(l){a(l)}})}}}var{createAuthMiddlewareForPasswordFlow:Rt,createAuthMiddlewareForAnonymousSessionFlow:bt,createAuthMiddlewareForClientCredentialsFlow:At,createAuthMiddlewareForRefreshTokenFlow:Tt,createAuthMiddlewareForExistingTokenFlow:xt,createCorrelationIdMiddleware:kt,createHttpMiddleware:Et,createLoggerMiddleware:Ot,createQueueMiddleware:Pt,createUserAgentMiddleware:De,createConcurrentModificationMiddleware:St}=ke,z=class{projectKey;authMiddleware;httpMiddleware;userAgentMiddleware;correlationIdMiddleware;loggerMiddleware;queueMiddleware;concurrentMiddleware;telemetryMiddleware;beforeMiddleware;afterMiddleware;middlewares=[];constructor(){this.userAgentMiddleware=De({})}withProjectKey(t){return this.projectKey=t,this}defaultClient(t,r,o,i,n,a){return this.withClientCredentialsFlow({host:o,projectKey:i||this.projectKey,credentials:r,scopes:n}).withHttpMiddleware({host:t,httpClient:a||q.default})}withAuthMiddleware(t){return this.authMiddleware=t,this}withMiddleware(t){return this.middlewares.push(t),this}withClientCredentialsFlow(t){return this.withAuthMiddleware(At({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},oauthUri:t.oauthUri||null,scopes:t.scopes,httpClient:t.httpClient||q.default,...t}))}withPasswordFlow(t){return this.withAuthMiddleware(Rt({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,user:{username:t.credentials.user.username||null,password:t.credentials.user.password||null}},httpClient:t.httpClient||q.default,...t}))}withAnonymousSessionFlow(t){return this.withAuthMiddleware(bt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,anonymousId:t.credentials.anonymousId||null},httpClient:t.httpClient||q.default,...t}))}withRefreshTokenFlow(t){return this.withAuthMiddleware(Tt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},httpClient:t.httpClient||q.default,refreshToken:t.refreshToken||null,...t}))}withExistingTokenFlow(t,r){return this.withAuthMiddleware(xt(t,{force:r.force||!0,...r}))}withHttpMiddleware(t){return this.httpMiddleware=Et({host:t.host||y.CTP_API_URL,httpClient:t.httpClient||q.default,...t}),this}withUserAgentMiddleware(t){return this.userAgentMiddleware=De(t),this}withQueueMiddleware(t){return this.queueMiddleware=Pt({concurrency:t.concurrency||y.CONCURRENCT_REQUEST,...t}),this}withLoggerMiddleware(t){return this.loggerMiddleware=Ot(t),this}withCorrelationIdMiddleware(t){return this.correlationIdMiddleware=kt({generate:t?.generate,...t}),this}withConcurrentModificationMiddleware(t){return this.concurrentMiddleware=St(t?.concurrentModificationHandlerFn),this}withTelemetryMiddleware(t){let{createTelemetryMiddleware:r,...o}=t;return this.withUserAgentMiddleware({customAgent:o?.userAgent||"typescript-sdk-apm-middleware"}),this.telemetryMiddleware=r(o),this}withBeforeExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.beforeMiddleware=t.middleware(o),this}withAfterExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.afterMiddleware=t.middleware(o),this}build(){let t=this.middlewares.slice();return this.telemetryMiddleware&&t.push(this.telemetryMiddleware),this.correlationIdMiddleware&&t.push(this.correlationIdMiddleware),this.userAgentMiddleware&&t.push(this.userAgentMiddleware),this.authMiddleware&&t.push(this.authMiddleware),this.beforeMiddleware&&t.push(this.beforeMiddleware),this.queueMiddleware&&t.push(this.queueMiddleware),this.loggerMiddleware&&t.push(this.loggerMiddleware),this.concurrentMiddleware&&t.push(this.concurrentMiddleware),this.httpMiddleware&&t.push(this.httpMiddleware),this.afterMiddleware&&t.push(this.afterMiddleware),j({middlewares:t})}};return Ve(Ft);})();
1
+ var window;(window||={})["@commercetools/ts-client"]=(()=>{var Lt=Object.create;var Me=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var Dt=Object.getOwnPropertyNames;var $t=Object.getPrototypeOf,Kt=Object.prototype.hasOwnProperty;var le=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ne=(r,e)=>{for(var t in e)Me(r,t,{get:e[t],enumerable:!0})},rt=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Dt(e))!Kt.call(r,n)&&n!==t&&Me(r,n,{get:()=>e[n],enumerable:!(i=Ht(e,n))||i.enumerable});return r};var ue=(r,e,t)=>(t=r!=null?Lt($t(r)):{},rt(e||!r||!r.__esModule?Me(t,"default",{value:r,enumerable:!0}):t,r)),zt=r=>rt(Me({},"__esModule",{value:!0}),r);var ce=le((Q,it)=>{"use strict";var Gt=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},H=Gt();it.exports=Q=H.fetch;H.fetch&&(Q.default=H.fetch.bind(H));Q.Headers=H.Headers;Q.Request=H.Request;Q.Response=H.Response});var st=le(Ce=>{"use strict";Ce.byteLength=Jt;Ce.toByteArray=Yt;Ce.fromByteArray=Xt;var T=[],E=[],Qt=typeof Uint8Array<"u"?Uint8Array:Array,_e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(D=0,nt=_e.length;D<nt;++D)T[D]=_e[D],E[_e.charCodeAt(D)]=D;var D,nt;E[45]=62;E[95]=63;function ot(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var i=t===e?0:4-t%4;return[t,i]}function Jt(r){var e=ot(r),t=e[0],i=e[1];return(t+i)*3/4-i}function Vt(r,e,t){return(e+t)*3/4-t}function Yt(r){var e,t=ot(r),i=t[0],n=t[1],o=new Qt(Vt(r,i,n)),s=0,l=n>0?i-4:i,c;for(c=0;c<l;c+=4)e=E[r.charCodeAt(c)]<<18|E[r.charCodeAt(c+1)]<<12|E[r.charCodeAt(c+2)]<<6|E[r.charCodeAt(c+3)],o[s++]=e>>16&255,o[s++]=e>>8&255,o[s++]=e&255;return n===2&&(e=E[r.charCodeAt(c)]<<2|E[r.charCodeAt(c+1)]>>4,o[s++]=e&255),n===1&&(e=E[r.charCodeAt(c)]<<10|E[r.charCodeAt(c+1)]<<4|E[r.charCodeAt(c+2)]>>2,o[s++]=e>>8&255,o[s++]=e&255),o}function vt(r){return T[r>>18&63]+T[r>>12&63]+T[r>>6&63]+T[r&63]}function Wt(r,e,t){for(var i,n=[],o=e;o<t;o+=3)i=(r[o]<<16&16711680)+(r[o+1]<<8&65280)+(r[o+2]&255),n.push(vt(i));return n.join("")}function Xt(r){for(var e,t=r.length,i=t%3,n=[],o=16383,s=0,l=t-i;s<l;s+=o)n.push(Wt(r,s,s+o>l?l:s+o));return i===1?(e=r[t-1],n.push(T[e>>2]+T[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(T[e>>10]+T[e>>4&63]+T[e<<2&63]+"=")),n.join("")}});var at=le(je=>{je.read=function(r,e,t,i,n){var o,s,l=n*8-i-1,c=(1<<l)-1,h=c>>1,u=-7,d=t?n-1:0,w=t?-1:1,p=r[e+d];for(d+=w,o=p&(1<<-u)-1,p>>=-u,u+=l;u>0;o=o*256+r[e+d],d+=w,u-=8);for(s=o&(1<<-u)-1,o>>=-u,u+=i;u>0;s=s*256+r[e+d],d+=w,u-=8);if(o===0)o=1-h;else{if(o===c)return s?NaN:(p?-1:1)*(1/0);s=s+Math.pow(2,i),o=o-h}return(p?-1:1)*s*Math.pow(2,o-i)};je.write=function(r,e,t,i,n,o){var s,l,c,h=o*8-n-1,u=(1<<h)-1,d=u>>1,w=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:o-1,f=i?1:-1,C=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(l=isNaN(e)?1:0,s=u):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+d>=1?e+=w/c:e+=w*Math.pow(2,1-d),e*c>=2&&(s++,c/=2),s+d>=u?(l=0,s=u):s+d>=1?(l=(e*c-1)*Math.pow(2,n),s=s+d):(l=e*Math.pow(2,d-1)*Math.pow(2,n),s=0));n>=8;r[t+p]=l&255,p+=f,l/=256,n-=8);for(s=s<<n|l,h+=n;h>0;r[t+p]=s&255,p+=f,s/=256,h-=8);r[t+p-f]|=C*128}});var Rt=le(v=>{"use strict";var qe=st(),V=at(),lt=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;v.Buffer=a;v.SlowBuffer=nr;v.INSPECT_MAX_BYTES=50;var Ee=2147483647;v.kMaxLength=Ee;a.TYPED_ARRAY_SUPPORT=Zt();!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Zt(){try{let r=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(r,e),r.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}});Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function O(r){if(r>Ee)throw new RangeError('The value "'+r+'" is invalid for option "size"');let e=new Uint8Array(r);return Object.setPrototypeOf(e,a.prototype),e}function a(r,e,t){if(typeof r=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return $e(r)}return ht(r,e,t)}a.poolSize=8192;function ht(r,e,t){if(typeof r=="string")return tr(r,e);if(ArrayBuffer.isView(r))return rr(r);if(r==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r);if(b(r,ArrayBuffer)||r&&b(r.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(b(r,SharedArrayBuffer)||r&&b(r.buffer,SharedArrayBuffer)))return He(r,e,t);if(typeof r=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let i=r.valueOf&&r.valueOf();if(i!=null&&i!==r)return a.from(i,e,t);let n=ir(r);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof r[Symbol.toPrimitive]=="function")return a.from(r[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r)}a.from=function(r,e,t){return ht(r,e,t)};Object.setPrototypeOf(a.prototype,Uint8Array.prototype);Object.setPrototypeOf(a,Uint8Array);function pt(r){if(typeof r!="number")throw new TypeError('"size" argument must be of type number');if(r<0)throw new RangeError('The value "'+r+'" is invalid for option "size"')}function er(r,e,t){return pt(r),r<=0?O(r):e!==void 0?typeof t=="string"?O(r).fill(e,t):O(r).fill(e):O(r)}a.alloc=function(r,e,t){return er(r,e,t)};function $e(r){return pt(r),O(r<0?0:Ke(r)|0)}a.allocUnsafe=function(r){return $e(r)};a.allocUnsafeSlow=function(r){return $e(r)};function tr(r,e){if((typeof e!="string"||e==="")&&(e="utf8"),!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let t=ft(r,e)|0,i=O(t),n=i.write(r,e);return n!==t&&(i=i.slice(0,n)),i}function Le(r){let e=r.length<0?0:Ke(r.length)|0,t=O(e);for(let i=0;i<e;i+=1)t[i]=r[i]&255;return t}function rr(r){if(b(r,Uint8Array)){let e=new Uint8Array(r);return He(e.buffer,e.byteOffset,e.byteLength)}return Le(r)}function He(r,e,t){if(e<0||r.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(r.byteLength<e+(t||0))throw new RangeError('"length" is outside of buffer bounds');let i;return e===void 0&&t===void 0?i=new Uint8Array(r):t===void 0?i=new Uint8Array(r,e):i=new Uint8Array(r,e,t),Object.setPrototypeOf(i,a.prototype),i}function ir(r){if(a.isBuffer(r)){let e=Ke(r.length)|0,t=O(e);return t.length===0||r.copy(t,0,0,e),t}if(r.length!==void 0)return typeof r.length!="number"||Ge(r.length)?O(0):Le(r);if(r.type==="Buffer"&&Array.isArray(r.data))return Le(r.data)}function Ke(r){if(r>=Ee)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ee.toString(16)+" bytes");return r|0}function nr(r){return+r!=r&&(r=0),a.alloc(+r)}a.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==a.prototype};a.compare=function(e,t){if(b(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),b(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let i=e.length,n=t.length;for(let o=0,s=Math.min(i,n);o<s;++o)if(e[o]!==t[o]){i=e[o],n=t[o];break}return i<n?-1:n<i?1:0};a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};a.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return a.alloc(0);let i;if(t===void 0)for(t=0,i=0;i<e.length;++i)t+=e[i].length;let n=a.allocUnsafe(t),o=0;for(i=0;i<e.length;++i){let s=e[i];if(b(s,Uint8Array))o+s.length>n.length?(a.isBuffer(s)||(s=a.from(s)),s.copy(n,o)):Uint8Array.prototype.set.call(n,s,o);else if(a.isBuffer(s))s.copy(n,o);else throw new TypeError('"list" argument must be an Array of Buffers');o+=s.length}return n};function ft(r,e){if(a.isBuffer(r))return r.length;if(ArrayBuffer.isView(r)||b(r,ArrayBuffer))return r.byteLength;if(typeof r!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof r);let t=r.length,i=arguments.length>2&&arguments[2]===!0;if(!i&&t===0)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return De(r).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return At(r).length;default:if(n)return i?-1:De(r).length;e=(""+e).toLowerCase(),n=!0}}a.byteLength=ft;function or(r,e,t){let i=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(r||(r="utf8");;)switch(r){case"hex":return wr(this,e,t);case"utf8":case"utf-8":return mt(this,e,t);case"ascii":return pr(this,e,t);case"latin1":case"binary":return fr(this,e,t);case"base64":return dr(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return mr(this,e,t);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(r+"").toLowerCase(),i=!0}}a.prototype._isBuffer=!0;function $(r,e,t){let i=r[e];r[e]=r[t],r[t]=i}a.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)$(this,t,t+1);return this};a.prototype.swap32=function(){let e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)$(this,t,t+3),$(this,t+1,t+2);return this};a.prototype.swap64=function(){let e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)$(this,t,t+7),$(this,t+1,t+6),$(this,t+2,t+5),$(this,t+3,t+4);return this};a.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?mt(this,0,e):or.apply(this,arguments)};a.prototype.toLocaleString=a.prototype.toString;a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:a.compare(this,e)===0};a.prototype.inspect=function(){let e="",t=v.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"};lt&&(a.prototype[lt]=a.prototype.inspect);a.prototype.compare=function(e,t,i,n,o){if(b(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),i===void 0&&(i=e?e.length:0),n===void 0&&(n=0),o===void 0&&(o=this.length),t<0||i>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=i)return 0;if(n>=o)return-1;if(t>=i)return 1;if(t>>>=0,i>>>=0,n>>>=0,o>>>=0,this===e)return 0;let s=o-n,l=i-t,c=Math.min(s,l),h=this.slice(n,o),u=e.slice(t,i);for(let d=0;d<c;++d)if(h[d]!==u[d]){s=h[d],l=u[d];break}return s<l?-1:l<s?1:0};function wt(r,e,t,i,n){if(r.length===0)return-1;if(typeof t=="string"?(i=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,Ge(t)&&(t=n?0:r.length-1),t<0&&(t=r.length+t),t>=r.length){if(n)return-1;t=r.length-1}else if(t<0)if(n)t=0;else return-1;if(typeof e=="string"&&(e=a.from(e,i)),a.isBuffer(e))return e.length===0?-1:ut(r,e,t,i,n);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(r,e,t):Uint8Array.prototype.lastIndexOf.call(r,e,t):ut(r,[e],t,i,n);throw new TypeError("val must be string, number or Buffer")}function ut(r,e,t,i,n){let o=1,s=r.length,l=e.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(r.length<2||e.length<2)return-1;o=2,s/=2,l/=2,t/=2}function c(u,d){return o===1?u[d]:u.readUInt16BE(d*o)}let h;if(n){let u=-1;for(h=t;h<s;h++)if(c(r,h)===c(e,u===-1?0:h-u)){if(u===-1&&(u=h),h-u+1===l)return u*o}else u!==-1&&(h-=h-u),u=-1}else for(t+l>s&&(t=s-l),h=t;h>=0;h--){let u=!0;for(let d=0;d<l;d++)if(c(r,h+d)!==c(e,d)){u=!1;break}if(u)return h}return-1}a.prototype.includes=function(e,t,i){return this.indexOf(e,t,i)!==-1};a.prototype.indexOf=function(e,t,i){return wt(this,e,t,i,!0)};a.prototype.lastIndexOf=function(e,t,i){return wt(this,e,t,i,!1)};function sr(r,e,t,i){t=Number(t)||0;let n=r.length-t;i?(i=Number(i),i>n&&(i=n)):i=n;let o=e.length;i>o/2&&(i=o/2);let s;for(s=0;s<i;++s){let l=parseInt(e.substr(s*2,2),16);if(Ge(l))return s;r[t+s]=l}return s}function ar(r,e,t,i){return Ae(De(e,r.length-t),r,t,i)}function lr(r,e,t,i){return Ae(Mr(e),r,t,i)}function ur(r,e,t,i){return Ae(At(e),r,t,i)}function cr(r,e,t,i){return Ae(Cr(e,r.length-t),r,t,i)}a.prototype.write=function(e,t,i,n){if(t===void 0)n="utf8",i=this.length,t=0;else if(i===void 0&&typeof t=="string")n=t,i=this.length,t=0;else if(isFinite(t))t=t>>>0,isFinite(i)?(i=i>>>0,n===void 0&&(n="utf8")):(n=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let o=this.length-t;if((i===void 0||i>o)&&(i=o),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let s=!1;for(;;)switch(n){case"hex":return sr(this,e,t,i);case"utf8":case"utf-8":return ar(this,e,t,i);case"ascii":case"latin1":case"binary":return lr(this,e,t,i);case"base64":return ur(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return cr(this,e,t,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}};a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function dr(r,e,t){return e===0&&t===r.length?qe.fromByteArray(r):qe.fromByteArray(r.slice(e,t))}function mt(r,e,t){t=Math.min(r.length,t);let i=[],n=e;for(;n<t;){let o=r[n],s=null,l=o>239?4:o>223?3:o>191?2:1;if(n+l<=t){let c,h,u,d;switch(l){case 1:o<128&&(s=o);break;case 2:c=r[n+1],(c&192)===128&&(d=(o&31)<<6|c&63,d>127&&(s=d));break;case 3:c=r[n+1],h=r[n+2],(c&192)===128&&(h&192)===128&&(d=(o&15)<<12|(c&63)<<6|h&63,d>2047&&(d<55296||d>57343)&&(s=d));break;case 4:c=r[n+1],h=r[n+2],u=r[n+3],(c&192)===128&&(h&192)===128&&(u&192)===128&&(d=(o&15)<<18|(c&63)<<12|(h&63)<<6|u&63,d>65535&&d<1114112&&(s=d))}}s===null?(s=65533,l=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|s&1023),i.push(s),n+=l}return hr(i)}var ct=4096;function hr(r){let e=r.length;if(e<=ct)return String.fromCharCode.apply(String,r);let t="",i=0;for(;i<e;)t+=String.fromCharCode.apply(String,r.slice(i,i+=ct));return t}function pr(r,e,t){let i="";t=Math.min(r.length,t);for(let n=e;n<t;++n)i+=String.fromCharCode(r[n]&127);return i}function fr(r,e,t){let i="";t=Math.min(r.length,t);for(let n=e;n<t;++n)i+=String.fromCharCode(r[n]);return i}function wr(r,e,t){let i=r.length;(!e||e<0)&&(e=0),(!t||t<0||t>i)&&(t=i);let n="";for(let o=e;o<t;++o)n+=Er[r[o]];return n}function mr(r,e,t){let i=r.slice(e,t),n="";for(let o=0;o<i.length-1;o+=2)n+=String.fromCharCode(i[o]+i[o+1]*256);return n}a.prototype.slice=function(e,t){let i=this.length;e=~~e,t=t===void 0?i:~~t,e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),t<e&&(t=e);let n=this.subarray(e,t);return Object.setPrototypeOf(n,a.prototype),n};function m(r,e,t){if(r%1!==0||r<0)throw new RangeError("offset is not uint");if(r+e>t)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(e,t,i){e=e>>>0,t=t>>>0,i||m(e,t,this.length);let n=this[e],o=1,s=0;for(;++s<t&&(o*=256);)n+=this[e+s]*o;return n};a.prototype.readUintBE=a.prototype.readUIntBE=function(e,t,i){e=e>>>0,t=t>>>0,i||m(e,t,this.length);let n=this[e+--t],o=1;for(;t>0&&(o*=256);)n+=this[e+--t]*o;return n};a.prototype.readUint8=a.prototype.readUInt8=function(e,t){return e=e>>>0,t||m(e,1,this.length),this[e]};a.prototype.readUint16LE=a.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||m(e,2,this.length),this[e]|this[e+1]<<8};a.prototype.readUint16BE=a.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||m(e,2,this.length),this[e]<<8|this[e+1]};a.prototype.readUint32LE=a.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||m(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};a.prototype.readUint32BE=a.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||m(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};a.prototype.readBigUInt64LE=P(function(e){e=e>>>0,Y(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&de(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,o=this[++e]+this[++e]*2**8+this[++e]*2**16+i*2**24;return BigInt(n)+(BigInt(o)<<BigInt(32))});a.prototype.readBigUInt64BE=P(function(e){e=e>>>0,Y(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&de(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],o=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i;return(BigInt(n)<<BigInt(32))+BigInt(o)});a.prototype.readIntLE=function(e,t,i){e=e>>>0,t=t>>>0,i||m(e,t,this.length);let n=this[e],o=1,s=0;for(;++s<t&&(o*=256);)n+=this[e+s]*o;return o*=128,n>=o&&(n-=Math.pow(2,8*t)),n};a.prototype.readIntBE=function(e,t,i){e=e>>>0,t=t>>>0,i||m(e,t,this.length);let n=t,o=1,s=this[e+--n];for(;n>0&&(o*=256);)s+=this[e+--n]*o;return o*=128,s>=o&&(s-=Math.pow(2,8*t)),s};a.prototype.readInt8=function(e,t){return e=e>>>0,t||m(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};a.prototype.readInt16LE=function(e,t){e=e>>>0,t||m(e,2,this.length);let i=this[e]|this[e+1]<<8;return i&32768?i|4294901760:i};a.prototype.readInt16BE=function(e,t){e=e>>>0,t||m(e,2,this.length);let i=this[e+1]|this[e]<<8;return i&32768?i|4294901760:i};a.prototype.readInt32LE=function(e,t){return e=e>>>0,t||m(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};a.prototype.readInt32BE=function(e,t){return e=e>>>0,t||m(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};a.prototype.readBigInt64LE=P(function(e){e=e>>>0,Y(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&de(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(i<<24);return(BigInt(n)<<BigInt(32))+BigInt(t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)});a.prototype.readBigInt64BE=P(function(e){e=e>>>0,Y(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&de(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i)});a.prototype.readFloatLE=function(e,t){return e=e>>>0,t||m(e,4,this.length),V.read(this,e,!0,23,4)};a.prototype.readFloatBE=function(e,t){return e=e>>>0,t||m(e,4,this.length),V.read(this,e,!1,23,4)};a.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||m(e,8,this.length),V.read(this,e,!0,52,8)};a.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||m(e,8,this.length),V.read(this,e,!1,52,8)};function x(r,e,t,i,n,o){if(!a.isBuffer(r))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw new RangeError('"value" argument is out of bounds');if(t+i>r.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(e,t,i,n){if(e=+e,t=t>>>0,i=i>>>0,!n){let l=Math.pow(2,8*i)-1;x(this,e,t,i,l,0)}let o=1,s=0;for(this[t]=e&255;++s<i&&(o*=256);)this[t+s]=e/o&255;return t+i};a.prototype.writeUintBE=a.prototype.writeUIntBE=function(e,t,i,n){if(e=+e,t=t>>>0,i=i>>>0,!n){let l=Math.pow(2,8*i)-1;x(this,e,t,i,l,0)}let o=i-1,s=1;for(this[t+o]=e&255;--o>=0&&(s*=256);)this[t+o]=e/s&255;return t+i};a.prototype.writeUint8=a.prototype.writeUInt8=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,1,255,0),this[t]=e&255,t+1};a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function yt(r,e,t,i,n){Et(e,i,n,r,t,7);let o=Number(e&BigInt(4294967295));r[t++]=o,o=o>>8,r[t++]=o,o=o>>8,r[t++]=o,o=o>>8,r[t++]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s,t}function gt(r,e,t,i,n){Et(e,i,n,r,t,7);let o=Number(e&BigInt(4294967295));r[t+7]=o,o=o>>8,r[t+6]=o,o=o>>8,r[t+5]=o,o=o>>8,r[t+4]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return r[t+3]=s,s=s>>8,r[t+2]=s,s=s>>8,r[t+1]=s,s=s>>8,r[t]=s,t+8}a.prototype.writeBigUInt64LE=P(function(e,t=0){return yt(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});a.prototype.writeBigUInt64BE=P(function(e,t=0){return gt(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});a.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t=t>>>0,!n){let c=Math.pow(2,8*i-1);x(this,e,t,i,c-1,-c)}let o=0,s=1,l=0;for(this[t]=e&255;++o<i&&(s*=256);)e<0&&l===0&&this[t+o-1]!==0&&(l=1),this[t+o]=(e/s>>0)-l&255;return t+i};a.prototype.writeIntBE=function(e,t,i,n){if(e=+e,t=t>>>0,!n){let c=Math.pow(2,8*i-1);x(this,e,t,i,c-1,-c)}let o=i-1,s=1,l=0;for(this[t+o]=e&255;--o>=0&&(s*=256);)e<0&&l===0&&this[t+o+1]!==0&&(l=1),this[t+o]=(e/s>>0)-l&255;return t+i};a.prototype.writeInt8=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};a.prototype.writeInt16LE=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};a.prototype.writeInt16BE=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};a.prototype.writeInt32LE=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};a.prototype.writeInt32BE=function(e,t,i){return e=+e,t=t>>>0,i||x(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};a.prototype.writeBigInt64LE=P(function(e,t=0){return yt(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});a.prototype.writeBigInt64BE=P(function(e,t=0){return gt(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function xt(r,e,t,i,n,o){if(t+i>r.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function Mt(r,e,t,i,n){return e=+e,t=t>>>0,n||xt(r,e,t,4,34028234663852886e22,-34028234663852886e22),V.write(r,e,t,i,23,4),t+4}a.prototype.writeFloatLE=function(e,t,i){return Mt(this,e,t,!0,i)};a.prototype.writeFloatBE=function(e,t,i){return Mt(this,e,t,!1,i)};function Ct(r,e,t,i,n){return e=+e,t=t>>>0,n||xt(r,e,t,8,17976931348623157e292,-17976931348623157e292),V.write(r,e,t,i,52,8),t+8}a.prototype.writeDoubleLE=function(e,t,i){return Ct(this,e,t,!0,i)};a.prototype.writeDoubleBE=function(e,t,i){return Ct(this,e,t,!1,i)};a.prototype.copy=function(e,t,i,n){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(i||(i=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<i&&(n=i),n===i||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-i&&(n=e.length-t+i);let o=n-i;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(t,i,n):Uint8Array.prototype.set.call(e,this.subarray(i,n),t),o};a.prototype.fill=function(e,t,i,n){if(typeof e=="string"){if(typeof t=="string"?(n=t,t=0,i=this.length):typeof i=="string"&&(n=i,i=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!a.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(e.length===1){let s=e.charCodeAt(0);(n==="utf8"&&s<128||n==="latin1")&&(e=s)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length<t||this.length<i)throw new RangeError("Out of range index");if(i<=t)return this;t=t>>>0,i=i===void 0?this.length:i>>>0,e||(e=0);let o;if(typeof e=="number")for(o=t;o<i;++o)this[o]=e;else{let s=a.isBuffer(e)?e:a.from(e,n),l=s.length;if(l===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(o=0;o<i-t;++o)this[o+t]=s[o%l]}return this};var J={};function ze(r,e,t){J[r]=class extends t{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${r}]`,this.stack,delete this.name}get code(){return r}set code(n){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:n,writable:!0})}toString(){return`${this.name} [${r}]: ${this.message}`}}}ze("ERR_BUFFER_OUT_OF_BOUNDS",function(r){return r?`${r} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);ze("ERR_INVALID_ARG_TYPE",function(r,e){return`The "${r}" argument must be of type number. Received type ${typeof e}`},TypeError);ze("ERR_OUT_OF_RANGE",function(r,e,t){let i=`The value of "${r}" is out of range.`,n=t;return Number.isInteger(t)&&Math.abs(t)>2**32?n=dt(String(t)):typeof t=="bigint"&&(n=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(n=dt(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i},RangeError);function dt(r){let e="",t=r.length,i=r[0]==="-"?1:0;for(;t>=i+4;t-=3)e=`_${r.slice(t-3,t)}${e}`;return`${r.slice(0,t)}${e}`}function yr(r,e,t){Y(e,"offset"),(r[e]===void 0||r[e+t]===void 0)&&de(e,r.length-(t+1))}function Et(r,e,t,i,n,o){if(r>t||r<e){let s=typeof e=="bigint"?"n":"",l;throw o>3?e===0||e===BigInt(0)?l=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:l=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:l=`>= ${e}${s} and <= ${t}${s}`,new J.ERR_OUT_OF_RANGE("value",l,r)}yr(i,n,o)}function Y(r,e){if(typeof r!="number")throw new J.ERR_INVALID_ARG_TYPE(e,"number",r)}function de(r,e,t){throw Math.floor(r)!==r?(Y(r,t),new J.ERR_OUT_OF_RANGE(t||"offset","an integer",r)):e<0?new J.ERR_BUFFER_OUT_OF_BOUNDS:new J.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${e}`,r)}var gr=/[^+/0-9A-Za-z-_]/g;function xr(r){if(r=r.split("=")[0],r=r.trim().replace(gr,""),r.length<2)return"";for(;r.length%4!==0;)r=r+"=";return r}function De(r,e){e=e||1/0;let t,i=r.length,n=null,o=[];for(let s=0;s<i;++s){if(t=r.charCodeAt(s),t>55295&&t<57344){if(!n){if(t>56319){(e-=3)>-1&&o.push(239,191,189);continue}else if(s+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=t;continue}if(t<56320){(e-=3)>-1&&o.push(239,191,189),n=t;continue}t=(n-55296<<10|t-56320)+65536}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,t<128){if((e-=1)<0)break;o.push(t)}else if(t<2048){if((e-=2)<0)break;o.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;o.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;o.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return o}function Mr(r){let e=[];for(let t=0;t<r.length;++t)e.push(r.charCodeAt(t)&255);return e}function Cr(r,e){let t,i,n,o=[];for(let s=0;s<r.length&&!((e-=2)<0);++s)t=r.charCodeAt(s),i=t>>8,n=t%256,o.push(n),o.push(i);return o}function At(r){return qe.toByteArray(xr(r))}function Ae(r,e,t,i){let n;for(n=0;n<i&&!(n+t>=e.length||n>=r.length);++n)e[n+t]=r[n];return n}function b(r,e){return r instanceof e||r!=null&&r.constructor!=null&&r.constructor.name!=null&&r.constructor.name===e.name}function Ge(r){return r!==r}var Er=function(){let r="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let i=t*16;for(let n=0;n<16;++n)e[i+n]=r[t]+r[n]}return e}();function P(r){return typeof BigInt>"u"?Ar:r}function Ar(){throw new Error("BigInt not supported")}});var Pt=le((kn,Oe)=>{"use strict";var{AbortController:St,AbortSignal:Gr}=typeof self<"u"?self:typeof window<"u"?window:void 0;Oe.exports=St;Oe.exports.AbortSignal=Gr;Oe.exports.default=St});var oi={};Ne(oi,{ClientBuilder:()=>oe,Process:()=>Se,createAuthMiddlewareForAnonymousSessionFlow:()=>ee,createAuthMiddlewareForClientCredentialsFlow:()=>te,createAuthMiddlewareForExistingTokenFlow:()=>re,createAuthMiddlewareForPasswordFlow:()=>ie,createAuthMiddlewareForRefreshTokenFlow:()=>ne,createClient:()=>z,createConcurrentModificationMiddleware:()=>pe,createCorrelationIdMiddleware:()=>fe,createHttpMiddleware:()=>we,createLoggerMiddleware:()=>me,createQueueMiddleware:()=>ye,createUserAgentMiddleware:()=>ge});var _=ue(ce());var tt={};Ne(tt,{createAuthMiddlewareForAnonymousSessionFlow:()=>ee,createAuthMiddlewareForClientCredentialsFlow:()=>te,createAuthMiddlewareForExistingTokenFlow:()=>re,createAuthMiddlewareForPasswordFlow:()=>ie,createAuthMiddlewareForRefreshTokenFlow:()=>ne,createConcurrentModificationMiddleware:()=>pe,createCorrelationIdMiddleware:()=>fe,createErrorMiddleware:()=>et,createHttpMiddleware:()=>we,createLoggerMiddleware:()=>me,createQueueMiddleware:()=>ye,createUserAgentMiddleware:()=>ge});var Ut=ue(ce());var Rr=Rt().Buffer;function W(r){return r&&(typeof r=="string"||r instanceof Uint8Array)?Rr.byteLength(r).toString():r&&typeof r=="object"?new TextEncoder().encode(JSON.stringify(r)).length.toString():"0"}var A={};Ne(A,{CONCURRENCT_REQUEST:()=>Tr,CTP_API_URL:()=>br,CTP_AUTH_URL:()=>Ir,DEFAULT_HEADERS:()=>Qe,HEADERS_CONTENT_TYPES:()=>Br});var Br=["application/json","application/graphql"],Tr=20,br="https://api.europe-west1.gcp.commercetools.com",Ir="https://auth.europe-west1.gcp.commercetools.com",Qe=["content-type","access-control-allow-origin","access-control-allow-headers","access-control-allow-methods","access-control-expose-headers","access-control-max-ag","x-correlation-id","server-timing","date","server","transfer-encoding","access-control-max-age","content-encoding","x-envoy-upstream-service-time","via","alt-svc","connection"];function S(r,e,t={}){this.status=this.statusCode=this.code=r,this.message=e,Object.assign(this,t),this.name=this.constructor.name,this.constructor.prototype.__proto__=Error.prototype,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}function Bt(...r){S.call(this,0,...r)}function Tt(...r){S.call(this,...r)}function Fr(...r){S.call(this,400,...r)}function Ur(...r){S.call(this,401,...r)}function kr(...r){S.call(this,403,...r)}function Or(...r){S.call(this,404,...r)}function Sr(...r){S.call(this,409,...r)}function Pr(...r){S.call(this,500,...r)}function Nr(...r){S.call(this,503,...r)}function Je(r){switch(r){case 0:return Bt;case 400:return Fr;case 401:return Ur;case 403:return kr;case 404:return Or;case 409:return Sr;case 500:return Pr;case 503:return Nr;default:return}}function _r({statusCode:r,message:e,...t}){let i=e||"Unexpected non-JSON error response";r===404&&(i=`URI not found: ${t.originalRequest?.uri||t.uri}`);let n=Je(r);return n?new n(i,t):new Tt(r,i,t)}var X=_r;function jr(r,e){return[503,...r].includes(e?.status||e?.statusCode)}async function qr(r,e){async function t(){return await r({...e,headers:{...e.headers}})}return t().catch(i=>Promise.reject(i))}async function Z(r){let{url:e,httpClient:t,...i}=r;return await qr(async o=>{let{enableRetry:s,retryConfig:l,abortController:c}=i,{retryCodes:h=[],maxDelay:u=1/0,maxRetries:d=3,backoff:w=!0,retryDelay:p=200,retryOnAbort:f=!0}=l||{},C,k,g=0;Ve(h);async function R(){return t(e,{...o,...i,headers:{...i.headers,"Accept-Encoding":"application/json"},...i.body?{data:i.body}:{},withCredentials:o.credentialsMode==="include"})}async function B(){let j=async(L,se)=>{let ae={};try{if(ae=await R(),ae.status>399&&jr(L,ae))return{_response:ae,shouldRetry:!0}}catch(Pe){if(Pe.name.includes("AbortError")&&se)return{_response:Pe,shouldRetry:!0};throw Pe}return{_response:ae,shouldRetry:!1}},q=f||!c||!c.signal,{_response:xe,shouldRetry:G}=await j(h,q);for(;s&&G&&g<d;){g++;let L=await j(h,q);xe=L._response,G=L.shouldRetry;let se=Re({retryCount:g,retryDelay:p,maxRetries:d,backoff:w,maxDelay:u});await Be(se)}return xe}let y=await B();try{y.text&&typeof y.text=="function"?(C=await y.text()||y[Object.getOwnPropertySymbols(y)[1]],k=JSON.parse(C)):k=y.data||y}catch{k=C}return{data:k,retryCount:g,statusCode:y.status||y.statusCode||k.statusCode,headers:y.headers}},{validateStatus:o=>!0})}function Te(){return("1000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(parseInt(r)^Math.floor(Math.random()*256)&15>>parseInt(r)/4).toString(16))}function Lr(r){return Qe.reduce((e,t)=>{let i=r[t]?r[t]:typeof r.get=="function"?r.get(t):null;return i&&(e[t]=i),e},{})}function I(r){if(!r)return null;if(r.raw&&typeof r.raw=="function")return r.raw();if(!r.forEach)return Lr(r);let e={};return r.forEach((t,i)=>e[i]=t)}function he(r){return r!=null&&r.constructor!=null&&typeof r.constructor.isBuffer=="function"&&r.constructor.isBuffer(r)}function K(r){let e=Object.assign({},r);return e?.headers&&(e.headers.Authorization&&(e.headers.Authorization="Bearer ********"),e.headers.authorization&&(e.headers.authorization="Bearer ********")),e}function M(r,e){return{...e,headers:{...e.headers,Authorization:`Bearer ${r}`}}}var Ye=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];function Re({retryCount:r,retryDelay:e,backoff:t,maxDelay:i}){return t&&r!==0?Math.min(Math.round((Math.random()+1)*e*2**r),i):e}Math.min(Math.round((Math.random()+1)*200*2**10),1/0);function Be(r){return new Promise(e=>{setTimeout(e,r)})}function F(r){if(!r?.credentials?.clientId||!r.projectKey||!r.host)throw new Error("Missing required options.");return{clientId:r.credentials.clientId,host:r.host,projectKey:r.projectKey}}function be(r){return Date.now()+r*1e3-5*60*1e3}function U(r){let e=r;return{get:t=>e,set:(t,i)=>{e=t}}}function bt(r){return typeof r<"u"&&r!==null}function Hr(r){return bt(r)?typeof r=="string"?r:Object.fromEntries(Object.entries(r).filter(([e,t])=>![null,void 0,""].includes(t))):""}function Dr(r){let e={},t=new URLSearchParams(r);for(let i of t.keys())t.getAll(i).length>1?e[i]=t.getAll(i):e[i]=t.get(i);return e}function $r(r){if(r=Hr(r),!r)return"";let e=new URLSearchParams(r);for(let[t,i]of Object.entries(r))Array.isArray(i)&&(e.delete(t),i.filter(bt).forEach(n=>e.append(t,n)));return e.toString()}function ve(r,e=Dr){return e(r)}function Ie(r,e=$r){return e(r)}var Kr=()=>typeof window<"u"&&window.document&&window.document.nodeType===9;function zr(){if(Kr())return window.navigator.userAgent;let r=process?.version.slice(1)||"unknow",e=`(${process.platform}; ${process.arch})`;return`node.js/${r} ${e}`}function Fe(r){let e=null,t=null;if(!r)throw new Error("Missing required option `name`");let i=r.version?`${r.name}/${r.version}`:r.name;r.libraryName&&!r.libraryVersion?e=r.libraryName:r.libraryName&&r.libraryVersion&&(e=`${r.libraryName}/${r.libraryVersion}`),r.contactUrl&&!r.contactEmail?t=`(+${r.contactUrl})`:!r.contactUrl&&r.contactEmail?t=`(+${r.contactEmail})`:r.contactUrl&&r.contactEmail&&(t=`(+${r.contactUrl}; +${r.contactEmail})`);let n=zr(),o=r.customAgent||"";return[i,n,e,t,o].filter(Boolean).join(" ")}function We(r){if(!r.host)throw new Error("Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`");if(!r.httpClient&&typeof r.httpClient!="function")throw new Error("An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.");if(r.httpClientOptions&&Object.prototype.toString.call(r.httpClientOptions)!=="[object Object]")throw new Error("`httpClientOptions` must be an object type")}function Ve(r){if(!Array.isArray(r))throw new Error("`retryCodes` option must be an array of retry status (error) codes and/or messages.")}function Xe(r){if(!r)throw new Error("Missing required options");if(r.middlewares&&!Array.isArray(r.middlewares))throw new Error("Middlewares should be an array");if(!r.middlewares||!Array.isArray(r.middlewares)||!r.middlewares.length)throw new Error("You need to provide at least one middleware")}function Ue(r,e,t={allowedMethods:Ye}){if(!e)throw new Error(`The "${r}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(typeof e.uri!="string")throw new Error(`The "${r}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(!t.allowedMethods.includes(e.method))throw new Error(`The "${r}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`)}function Ze(r){if(!r)throw new Error("Missing required options");if(!r.host)throw new Error("Missing required option (host)");if(!r.projectKey)throw new Error("Missing required option (projectKey)");if(!r.credentials)throw new Error("Missing required option (credentials)");let{clientId:e,clientSecret:t}=r.credentials||{};if(!(e&&t))throw new Error("Missing required credentials (clientId, clientSecret)");let i=r.scopes?r.scopes.join(" "):void 0,n=btoa(`${e}:${t}`),o=r.oauthUri||"/oauth/token",s=r.host.replace(/\/$/,"")+o,l=`grant_type=client_credentials${i?`&scope=${i}`:""}`;return{url:s,body:l,basicAuth:n}}function It(r){if(!r)throw new Error("Missing required options");if(!r.projectKey)throw new Error("Missing required option (projectKey)");let e=r.projectKey;r.oauthUri=r.oauthUri||`/oauth/${e}/anonymous/token`;let t=Ze(r);return r.credentials.anonymousId&&(t.body+=`&anonymous_id=${r.credentials.anonymousId}`),{...t}}function ke(r){if(!r)throw new Error("Missing required options");if(!r.host)throw new Error("Missing required option (host)");if(!r.projectKey)throw new Error("Missing required option (projectKey)");if(!r.credentials)throw new Error("Missing required option (credentials)");if(!r.refreshToken)throw new Error("Missing required option (refreshToken)");let{clientId:e,clientSecret:t}=r.credentials;if(!(e&&t))throw new Error("Missing required credentials (clientId, clientSecret)");let i=btoa(`${e}:${t}`),n=r.oauthUri||"/oauth/token",o=r.host.replace(/\/$/,"")+n,s=`grant_type=refresh_token&refresh_token=${encodeURIComponent(r.refreshToken)}`;return{basicAuth:i,url:o,body:s}}function Ft(r){if(!r)throw new Error("Missing required options");if(!r.host)throw new Error("Missing required option (host)");if(!r.projectKey)throw new Error("Missing required option (projectKey)");if(!r.credentials)throw new Error("Missing required option (credentials)");let{clientId:e,clientSecret:t,user:i}=r.credentials,n=r.projectKey;if(!(e&&t&&i))throw new Error("Missing required credentials (clientId, clientSecret, user)");let{username:o,password:s}=i;if(!(o&&s))throw new Error("Missing required user credentials (username, password)");let l=(r.scopes||[]).join(" "),c=l?`&scope=${l}`:"",h=btoa(`${e}:${t}`),u=r.oauthUri||`/oauth/${n}/customers/token`,d=r.host.replace(/\/$/,"")+u,w=`grant_type=password&username=${encodeURIComponent(o)}&password=${encodeURIComponent(s)}${c}`;return{basicAuth:h,url:d,body:w}}async function N(r){let{httpClient:e,httpClientOptions:t,tokenCache:i,userOption:n,tokenCacheObject:o}=r,s=r.url,l=r.body,c=r.basicAuth;if(!e||typeof e!="function")throw new Error("an `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.");if(o&&o.refreshToken&&(!o.token||o.token&&Date.now()>o.expirationTime)){if(!n)throw new Error("Missing required options.");let u={...ke({...n,refreshToken:o.refreshToken})};s=u.url,l=u.body,c=u.basicAuth}let h;try{if(h=await Z({url:s,method:"POST",headers:{Authorization:`Basic ${c}`,"Content-Type":"application/x-www-form-urlencoded","Content-Length":W(l)},httpClient:e,httpClientOptions:t,body:l}),h.statusCode>=200&&h.statusCode<300){let{access_token:u,expires_in:d,refresh_token:w}=h?.data,p=be(d);return i.set({token:u,expirationTime:p,refreshToken:w}),Promise.resolve(!0)}throw X({code:h.data.error,statusCode:h.data.statusCode,message:h.data.message,error:h.data.errors})}catch(u){throw u}}function ee(r){let e=r.tokenCache||U({token:"",expirationTime:-1}),t,i=null,n=F(r);return o=>async s=>{if(s.headers&&(s.headers.Authorization||s.headers.authorization))return o(s);if(t=e.get(n),t&&t.token&&Date.now()<t.expirationTime)return o(M(t.token,s));let l={request:s,tokenCache:e,tokenCacheKey:n,httpClient:r.httpClient||Ut.default,httpClientOptions:r.httpClientOptions,...It(r),userOption:r,next:o};return i?await i:(i=N(l),await i,i=null),t=e.get(n),o(M(t.token,s))}}var kt=ue(ce());function te(r){let e=r.tokenCache||U({token:"",expirationTime:-1}),t,i=null,n=F(r);return o=>async s=>{if(s.headers&&(s.headers.Authorization||s.headers.authorization))return o(s);if(t=e.get(n),t&&t.token&&Date.now()<t.expirationTime)return o(M(t.token,s));let l={request:s,tokenCache:e,tokenCacheKey:n,tokenCacheObject:t,httpClient:r.httpClient||kt.default,httpClientOptions:r.httpClientOptions,...Ze(r),next:o};return i?await i:(i=N(l),await i,i=null),t=e.get(n),o(M(t.token,s))}}function re(r,e){return t=>async i=>{if(typeof r!="string")throw new Error("authorization must be a string");let n=e?.force===void 0?!0:e.force;if(!r||i.headers&&(i.headers.Authorization||i.headers.authorization)&&n===!1)return t(i);let o={...i,headers:{...i.headers,Authorization:r}};return t(o)}}var Ot=ue(ce());function ie(r){let e=r.tokenCache||U({token:"",expirationTime:-1}),t,i=null,n=F(r);return o=>async s=>{if(s.headers&&(s.headers.Authorization||s.headers.authorization))return o(s);if(t=e.get(n),t&&t.token&&Date.now()<t.expirationTime)return o(M(t.token,s));let l={request:s,tokenCache:e,tokenCacheKey:n,httpClient:r.httpClient||Ot.default,httpClientOptions:r.httpClientOptions,...Ft(r),userOption:r,next:o};return i?await i:(i=N(l),await i,i=null),t=e.get(n),o(M(t.token,s))}}function ne(r){let e=r.tokenCache||U({token:"",tokenCacheKey:null}),t,i=null,n=F(r);return o=>async s=>{if(s.headers&&(s.headers.Authorization||s.headers.authorization))return o(s);if(t=e.get(n),t&&t.token&&Date.now()<t.expirationTime)return o(M(t.token,s));let l={request:s,tokenCache:e,httpClient:r.httpClient||fetch,httpClientOptions:r.httpClientOptions,...ke(r),next:o};return i?await i:(i=N(l),await i,i=null),t=e.get(n),o(M(t.token,s))}}function pe(r){return e=>async t=>{let i=await e(t);if(i.statusCode==409){let n=i.error.body?.errors?.[0]?.currentVersion;if(n)return r&&typeof r=="function"?t.body=await r(n,t,i):t.body=typeof t.body=="string"?{...JSON.parse(t.body),version:n}:{...t.body,version:n},e(t)}return i}}function fe(r){return e=>t=>{let i={...t,headers:{...t.headers,"X-Correlation-ID":r.generate&&typeof r.generate=="function"?r.generate():Te()}};return e(i)}}function et(r){return e=>async t=>{let i=await e(t);if(i.error){let{error:n}=i;return{...i,statusCode:n.statusCode||0,headers:n.headers||I({}),error:{...n,body:n.data||n}}}return i}}var Nt=ue(Pt());async function Qr({url:r,httpClient:e,clientOptions:t}){let i,{timeout:n,request:o,abortController:s,maskSensitiveHeaderData:l,includeRequestInErrorResponse:c,includeResponseHeaders:h}=t;try{n&&(i=setTimeout(()=>{s.abort()},n));let u=await Z({url:r,...t,httpClient:e,method:t.method,...t.body?{body:t.body}:{}});if(h||(u.headers=null),u.statusCode>=200&&u.statusCode<300)return t.method=="HEAD"?{body:null,statusCode:u.statusCode,retryCount:u.retryCount,headers:I(u.headers)}:{body:u.data,statusCode:u.statusCode,retryCount:u.retryCount,headers:I(u.headers)};let d=X({message:u?.data?.message||u?.message,statusCode:u.statusCode||u?.data?.statusCode,headers:I(u.headers),method:t.method,body:u.data,retryCount:u.retryCount,...c?{originalRequest:l?K(o):o}:{uri:o.uri}});return{body:u.data,code:u.statusCode,statusCode:u.statusCode,headers:I(u.headers),error:d}}catch(u){let d=h?I(u.response?.headers):null,w=u.response?.status||u.response?.data0||0,p=u.response?.data?.message,f=X({statusCode:w,code:w,status:w,message:p||u.message,headers:d,body:u.response?.data||u,error:u.response?.data,...c?{originalRequest:l?K(o):o}:{uri:o.uri}});throw{body:f,error:f}}finally{clearTimeout(i)}}function we(r){We(r);let{host:e,credentialsMode:t,httpClient:i,timeout:n,enableRetry:o,retryConfig:s,getAbortController:l,includeOriginalRequest:c,includeRequestInErrorResponse:h=!0,includeResponseHeaders:u=!0,maskSensitiveHeaderData:d,httpClientOptions:w}=r;return p=>async f=>{let C;(n||l)&&(C=(l?l():null)||new Nt.default);let k=e.replace(/\/$/,"")+f.uri,g={...f.headers};Object.prototype.hasOwnProperty.call(g,"Content-Type")||Object.prototype.hasOwnProperty.call(g,"content-type")||(g["Content-Type"]="application/json"),g["Content-Type"]===null&&delete g["Content-Type"];let R=A.HEADERS_CONTENT_TYPES.indexOf(g["Content-Type"])>-1&&typeof f.body=="string"||he(f.body)?f.body:JSON.stringify(f.body||void 0);R&&(typeof R=="string"||he(R))&&(g["Content-Length"]=W(R));let B={enableRetry:o,retryConfig:s,request:f,method:f.method,headers:g,includeRequestInErrorResponse:h,maskSensitiveHeaderData:d,includeResponseHeaders:u,...w};t&&(B.credentialsMode=t),C&&(B.signal=C.signal),n&&(B.timeout=n,B.abortController=C),R&&(B.body=R);let y=await Qr({url:k,clientOptions:B,httpClient:i}),j={...f,includeOriginalRequest:c,maskSensitiveHeaderData:d,response:y};return p(j)}}function me(r){return e=>async t=>{let i=await e(t),n=Object.assign({},i),{loggerFn:o=console.log}=r||{};return o&&typeof o=="function"&&o(i),n}}function ye({concurrency:r=20}){let e=0,t=[],i=()=>0>=r?Promise.resolve():new Promise(o=>{let s=()=>{e<r?(e++,o()):t.push(s)};s()}),n=()=>{if(e--,t.length>0){let o=t.shift();o&&o()}};return o=>s=>i().then(()=>{let l={...s,resolve(c){s.resolve(c),n()},reject(c){s.reject(c),n()}};return o(l).finally(()=>{n()})})}var _t={name:"@commercetools/ts-client",version:"2.1.2",engines:{node:">=14"},description:"commercetools Composable Commerce TypeScript SDK client.",keywords:["commercetools","composable commerce","sdk","typescript","client","middleware","http","oauth","auth"],homepage:"https://github.com/commercetools/commercetools-sdk-typescript",license:"MIT",directories:{lib:"lib",test:"test"},publishConfig:{access:"public"},repository:{type:"git",url:"git+https://github.com/commercetools/commercetools-sdk-typescript.git"},bugs:{url:"https://github.com/commercetools/commercetools-sdk-typescript/issues"},dependencies:{"abort-controller":"3.0.0",buffer:"^6.0.3","node-fetch":"^2.6.1"},files:["dist","CHANGELOG.md"],author:"Chukwuemeka Ajima <meeky.ae@gmail.com>",main:"dist/commercetools-ts-client.cjs.js",module:"dist/commercetools-ts-client.esm.js",browser:{"./dist/commercetools-ts-client.cjs.js":"./dist/commercetools-ts-client.browser.cjs.js","./dist/commercetools-ts-client.esm.js":"./dist/commercetools-ts-client.browser.esm.js"},devDependencies:{"common-tags":"1.8.2",dotenv:"16.4.5",jest:"29.7.0",nock:"12.0.3","organize-imports-cli":"0.10.0"},scripts:{organize_imports:"find src -type f -name '*.ts' | xargs organize-imports-cli",postbuild:"yarn organize_imports",post_process_generate:"yarn organize_imports",docs:"typedoc --out docs"}};function ge(r){return e=>async t=>{let i=Fe({...r,name:`${r.name?r.name+"/":""}commercetools-sdk-javascript-v3/${_t.version}`}),n={...t,headers:{...t.headers,"User-Agent":i}};return e(n)}}function Vr({middlewares:r}){return r.length===1?r[0]:r.slice().reduce((t,i)=>(...n)=>t(i.apply(null,n)))}var jt;function Se(r,e,t){if(Ue("process",r,{allowedMethods:["GET"]}),typeof e!="function")throw new Error('The "process" function accepts a "Function" as a second argument that returns a Promise. See https://commercetools.github.io/nodejs/sdk/api/sdkClient.html#processrequest-processfn-options');let i={total:Number.POSITIVE_INFINITY,accumulate:!0,...t};return new Promise((n,o)=>{let s,l="";if(r&&r.uri){let[p,f]=r.uri.split("?");s=p,l=f}let h={limit:20,...{...ve(l)}},u=i.total,d=!1,w=async(p,f=[])=>{let C=h.limit<u?h.limit:u,k=Ie({...h,limit:C}),g={sort:"id asc",withTotal:!1,...p?{where:`id > "${p}"`}:{}},R=Ie(g),B={...r,uri:`${s}?${R}&${k}`};try{let y=await z(jt).execute(B),{results:j,count:q}=y?.body||{};if(!q&&d)return n(f||[]);let xe=await Promise.resolve(e(y)),G;if(d=!0,i.accumulate&&(G=f.concat(xe||[])),u-=q,q<h.limit||!u)return n(G||[]);let L=j[q-1],se=L&&L.id;w(se,G)}catch(y){o(y)}};w()})}function z(r){jt=r,Xe(r);let e=!1,t={async resolve(n){let{response:o,includeOriginalRequest:s,maskSensitiveHeaderData:l,...c}=n,{retryCount:h,...u}=o;return e=l,{body:null,error:null,reject:n.reject,resolve:n.resolve,...u,...s?{originalRequest:c}:{},...o?.retryCount?{retryCount:o.retryCount}:{}}}},i=Vr(r)(t.resolve);return{process:Se,execute(n){return Ue("exec",n),new Promise(async(o,s)=>{try{let l=await i({reject:s,resolve:o,...n});if(l.error)return s(l.error);l.originalRequest&&e&&(l.originalRequest=K(l.originalRequest)),o(l)}catch(l){s(l)}})}}}var{createAuthMiddlewareForPasswordFlow:Yr,createAuthMiddlewareForAnonymousSessionFlow:vr,createAuthMiddlewareForClientCredentialsFlow:Wr,createAuthMiddlewareForRefreshTokenFlow:Xr,createAuthMiddlewareForExistingTokenFlow:Zr,createCorrelationIdMiddleware:ei,createHttpMiddleware:ti,createLoggerMiddleware:ri,createQueueMiddleware:ii,createUserAgentMiddleware:qt,createConcurrentModificationMiddleware:ni}=tt,oe=class{projectKey;authMiddleware;httpMiddleware;userAgentMiddleware;correlationIdMiddleware;loggerMiddleware;queueMiddleware;concurrentMiddleware;telemetryMiddleware;beforeMiddleware;afterMiddleware;middlewares=[];constructor(){this.userAgentMiddleware=qt({})}withProjectKey(e){return this.projectKey=e,this}defaultClient(e,t,i,n,o,s){return this.withClientCredentialsFlow({host:i,projectKey:n||this.projectKey,credentials:t,httpClient:s||_.default,scopes:o}).withHttpMiddleware({host:e,httpClient:s||_.default})}withAuthMiddleware(e){return this.authMiddleware=e,this}withMiddleware(e){return this.middlewares.push(e),this}withClientCredentialsFlow(e){return this.withAuthMiddleware(Wr({host:e.host||A.CTP_AUTH_URL,projectKey:e.projectKey||this.projectKey,credentials:{clientId:e.credentials.clientId||null,clientSecret:e.credentials.clientSecret||null},oauthUri:e.oauthUri||null,scopes:e.scopes,httpClient:e.httpClient||_.default,...e}))}withPasswordFlow(e){return this.withAuthMiddleware(Yr({host:e.host||A.CTP_AUTH_URL,projectKey:e.projectKey||this.projectKey,credentials:{clientId:e.credentials.clientId||null,clientSecret:e.credentials.clientSecret||null,user:{username:e.credentials.user.username||null,password:e.credentials.user.password||null}},httpClient:e.httpClient||_.default,...e}))}withAnonymousSessionFlow(e){return this.withAuthMiddleware(vr({host:e.host||A.CTP_AUTH_URL,projectKey:this.projectKey||e.projectKey,credentials:{clientId:e.credentials.clientId||null,clientSecret:e.credentials.clientSecret||null,anonymousId:e.credentials.anonymousId||null},httpClient:e.httpClient||_.default,...e}))}withRefreshTokenFlow(e){return this.withAuthMiddleware(Xr({host:e.host||A.CTP_AUTH_URL,projectKey:this.projectKey||e.projectKey,credentials:{clientId:e.credentials.clientId||null,clientSecret:e.credentials.clientSecret||null},httpClient:e.httpClient||_.default,refreshToken:e.refreshToken||null,...e}))}withExistingTokenFlow(e,t){return this.withAuthMiddleware(Zr(e,{force:t.force||!0,...t}))}withHttpMiddleware(e){return this.httpMiddleware=ti({host:e.host||A.CTP_API_URL,httpClient:e.httpClient||_.default,...e}),this}withUserAgentMiddleware(e){return this.userAgentMiddleware=qt(e),this}withQueueMiddleware(e){return this.queueMiddleware=ii({concurrency:e.concurrency||A.CONCURRENCT_REQUEST,...e}),this}withLoggerMiddleware(e){return this.loggerMiddleware=ri(e),this}withCorrelationIdMiddleware(e){return this.correlationIdMiddleware=ei({generate:e?.generate,...e}),this}withConcurrentModificationMiddleware(e){return this.concurrentMiddleware=ni(e?.concurrentModificationHandlerFn),this}withTelemetryMiddleware(e){let{createTelemetryMiddleware:t,...i}=e;return this.withUserAgentMiddleware({customAgent:i?.userAgent||"typescript-sdk-apm-middleware"}),this.telemetryMiddleware=t(i),this}withBeforeExecutionMiddleware(e){let{middleware:t,...i}=e||{};return this.beforeMiddleware=e.middleware(i),this}withAfterExecutionMiddleware(e){let{middleware:t,...i}=e||{};return this.afterMiddleware=e.middleware(i),this}build(){let e=this.middlewares.slice();return this.telemetryMiddleware&&e.push(this.telemetryMiddleware),this.correlationIdMiddleware&&e.push(this.correlationIdMiddleware),this.userAgentMiddleware&&e.push(this.userAgentMiddleware),this.authMiddleware&&e.push(this.authMiddleware),this.beforeMiddleware&&e.push(this.beforeMiddleware),this.queueMiddleware&&e.push(this.queueMiddleware),this.loggerMiddleware&&e.push(this.loggerMiddleware),this.concurrentMiddleware&&e.push(this.concurrentMiddleware),this.httpMiddleware&&e.push(this.httpMiddleware),this.afterMiddleware&&e.push(this.afterMiddleware),z({middlewares:e})}};return zt(oi);})();
2
+ /*! Bundled license information:
3
+
4
+ ieee754/index.js:
5
+ (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
6
+
7
+ buffer/index.js:
8
+ (*!
9
+ * The buffer module from node.js, for the browser.
10
+ *
11
+ * @author Feross Aboukhadijeh <https://feross.org>
12
+ * @license MIT
13
+ *)
14
+ */
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"../../../../src/client","sources":["builder.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,gCAAgC,EAChC,MAAM,EACN,uCAAuC,EACvC,8BAA8B,EAC9B,WAAW,EACX,8BAA8B,EAC9B,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,EAEV,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EACjB,0BAAsB;AAiBvB,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,uBAAuB,CAAsB;IACrD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,eAAe,CAAsB;IAE7C,OAAO,CAAC,WAAW,CAAwB;;IAMpC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAK1C,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACtB,UAAU,CAAC,EAAE,QAAQ,GACpB,aAAa;IAYhB,OAAO,CAAC,kBAAkB;IAKnB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa;IAKrD,yBAAyB,CAC9B,OAAO,EAAE,qBAAqB,GAC7B,aAAa;IAiBT,gBAAgB,CACrB,OAAO,EAAE,6BAA6B,GACrC,aAAa;IAmBT,wBAAwB,CAC7B,OAAO,EAAE,qBAAqB,GAC7B,aAAa;IAgBT,oBAAoB,CACzB,OAAO,EAAE,4BAA4B,GACpC,aAAa;IAgBT,qBAAqB,CAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,8BAA8B,GACvC,aAAa;IAST,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa;IAUjE,uBAAuB,CAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa;IAMT,mBAAmB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,aAAa;IASpE,oBAAoB,CAAC,OAAO,CAAC,EAAE,uBAAuB;IAMtD,2BAA2B,CAChC,OAAO,CAAC,EAAE,8BAA8B,GACvC,aAAa;IAST,oCAAoC,CACzC,OAAO,CAAC,EAAE,uCAAuC,GAChD,aAAa;IAQT,uBAAuB,CAAC,CAAC,SAAS,gBAAgB,EACvD,OAAO,EAAE,CAAC,GACT,aAAa;IAUT,6BAA6B,CAClC,OAAO,EAAE,gCAAgC;IAOpC,4BAA4B,CACjC,OAAO,EAAE,+BAA+B;IAO1C,KAAK,IAAI,MAAM;CAiBhB"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"../../../../src/client","sources":["builder.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,gCAAgC,EAChC,MAAM,EACN,uCAAuC,EACvC,8BAA8B,EAC9B,WAAW,EACX,8BAA8B,EAC9B,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,EAEV,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EACjB,0BAAsB;AAiBvB,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,uBAAuB,CAAsB;IACrD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,eAAe,CAAsB;IAE7C,OAAO,CAAC,WAAW,CAAwB;;IAMpC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAK1C,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACtB,UAAU,CAAC,EAAE,QAAQ,GACpB,aAAa;IAahB,OAAO,CAAC,kBAAkB;IAKnB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa;IAKrD,yBAAyB,CAC9B,OAAO,EAAE,qBAAqB,GAC7B,aAAa;IAiBT,gBAAgB,CACrB,OAAO,EAAE,6BAA6B,GACrC,aAAa;IAmBT,wBAAwB,CAC7B,OAAO,EAAE,qBAAqB,GAC7B,aAAa;IAgBT,oBAAoB,CACzB,OAAO,EAAE,4BAA4B,GACpC,aAAa;IAgBT,qBAAqB,CAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,8BAA8B,GACvC,aAAa;IAST,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa;IAUjE,uBAAuB,CAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa;IAMT,mBAAmB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,aAAa;IASpE,oBAAoB,CAAC,OAAO,CAAC,EAAE,uBAAuB;IAMtD,2BAA2B,CAChC,OAAO,CAAC,EAAE,8BAA8B,GACvC,aAAa;IAST,oCAAoC,CACzC,OAAO,CAAC,EAAE,uCAAuC,GAChD,aAAa;IAQT,uBAAuB,CAAC,CAAC,SAAS,gBAAgB,EACvD,OAAO,EAAE,CAAC,GACT,aAAa;IAUT,6BAA6B,CAClC,OAAO,EAAE,gCAAgC;IAOpC,4BAA4B,CACjC,OAAO,EAAE,+BAA+B;IAO1C,KAAK,IAAI,MAAM;CAiBhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"anonymous-session-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["anonymous-session-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,UAAU,EAMX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,2CAA2C,CACjE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,CA8DZ"}
1
+ {"version":3,"file":"anonymous-session-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["anonymous-session-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,UAAU,EAMX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,2CAA2C,CACjE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,CA+DZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"client-credentials-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["client-credentials-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,UAAU,EAMX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,4CAA4C,CAClE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,CA8DZ"}
1
+ {"version":3,"file":"client-credentials-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["client-credentials-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,UAAU,EAMX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,4CAA4C,CAClE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,CA+DZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"password-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["password-flow.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAIV,6BAA6B,EAE9B,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,mCAAmC,CACzD,OAAO,EAAE,6BAA6B,GACrC,UAAU,CA4DZ"}
1
+ {"version":3,"file":"password-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["password-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAIV,6BAA6B,EAE9B,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,mCAAmC,CACzD,OAAO,EAAE,6BAA6B,GACrC,UAAU,CA6DZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-token-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["refresh-token-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAIV,4BAA4B,EAE7B,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,uCAAuC,CAC7D,OAAO,EAAE,4BAA4B,GACpC,UAAU,CA0DZ"}
1
+ {"version":3,"file":"refresh-token-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["refresh-token-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAIV,4BAA4B,EAE7B,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,uCAAuC,CAC7D,OAAO,EAAE,4BAA4B,GACpC,UAAU,CA2DZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-queue-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-queue-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAGV,sBAAsB,EACvB,0BAAsB;AAEvB,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,WAAgB,GACjB,EAAE,sBAAsB,GAAG,UAAU,CAkDrC"}
1
+ {"version":3,"file":"create-queue-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-queue-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAGV,sBAAsB,EACvB,0BAAsB;AAEvB,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,WAAgB,GACjB,EAAE,sBAAsB,GAAG,UAAU,CAkDrC"}
@@ -98,8 +98,9 @@ export type AuthMiddlewareOptions = {
98
98
  scopes?: Array<string>
99
99
  // For internal usage only
100
100
  oauthUri?: string
101
- httpClient?: Function
102
101
  tokenCache?: TokenCache
102
+ httpClient: Function
103
+ httpClientOptions?: object
103
104
  }
104
105
 
105
106
  export type TokenCacheOptions = {
@@ -138,7 +139,8 @@ export type RefreshAuthMiddlewareOptions = {
138
139
  tokenCache?: TokenCache,
139
140
  // For internal usage only
140
141
  oauthUri?: string
141
- httpClient?: Function
142
+ httpClient: Function
143
+ httpClientOptions?: object
142
144
  }
143
145
 
144
146
  /* Request */
@@ -147,9 +149,10 @@ type requestBaseOptions = {
147
149
  body: string
148
150
  basicAuth: string
149
151
  request: MiddlewareRequest
150
- tokenCache: TokenCache,
151
- tokenCacheKey?: TokenCacheOptions,
152
+ tokenCache: TokenCache
153
+ tokenCacheKey?: TokenCacheOptions
152
154
  tokenCacheObject?: TokenStore
155
+ httpClientOptions?: object
153
156
  }
154
157
 
155
158
  export type executeRequestOptions = requestBaseOptions & {
@@ -160,11 +163,9 @@ export type executeRequestOptions = requestBaseOptions & {
160
163
 
161
164
  export type AuthMiddlewareBaseOptions = requestBaseOptions & {
162
165
  request: MiddlewareRequest
163
- httpClient?: Function
166
+ httpClient: Function
164
167
  }
165
168
 
166
- export type RequestState = boolean
167
-
168
169
  export type Task = {
169
170
  request: MiddlewareRequest
170
171
  next?: Next
@@ -187,7 +188,8 @@ export type PasswordAuthMiddlewareOptions = {
187
188
  tokenCache?: TokenCache,
188
189
  // For internal usage only
189
190
  oauthUri?: string
190
- httpClient?: Function
191
+ httpClient: Function
192
+ httpClientOptions?: object
191
193
  }
192
194
 
193
195
  export type TokenInfo = {
@@ -214,8 +216,8 @@ export type HttpMiddlewareOptions = {
214
216
  enableRetry?: boolean
215
217
  retryConfig?: RetryOptions
216
218
  httpClient: Function
217
- getAbortController?: () => AbortController
218
219
  httpClientOptions?: object // will be passed as a second argument to your httpClient function for configuration
220
+ getAbortController?: () => AbortController
219
221
  }
220
222
 
221
223
  export type RetryOptions = RetryMiddlewareOptions
@@ -297,6 +299,7 @@ export type IClientOptions = {
297
299
  enableRetry?: boolean
298
300
  retryConfig?: RetryOptions
299
301
  maskSensitiveHeaderData?: boolean
302
+ httpClientOptions?: object
300
303
  }
301
304
 
302
305
  export type HttpClientOptions = IClientOptions & Optional
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools/ts-client",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "engines": {
5
5
  "node": ">=14"
6
6
  },
@@ -34,6 +34,7 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "abort-controller": "3.0.0",
37
+ "buffer": "^6.0.3",
37
38
  "node-fetch": "^2.6.1"
38
39
  },
39
40
  "files": ["dist", "CHANGELOG.md"],