@commercetools/ts-client 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +55 -0
  3. package/dist/commercetools-ts-client.browser.cjs.js +68 -80
  4. package/dist/commercetools-ts-client.browser.esm.js +68 -80
  5. package/dist/commercetools-ts-client.cjs.d.ts +1 -0
  6. package/dist/commercetools-ts-client.cjs.d.ts.map +1 -0
  7. package/dist/commercetools-ts-client.cjs.dev.js +68 -80
  8. package/dist/commercetools-ts-client.cjs.prod.js +68 -80
  9. package/dist/commercetools-ts-client.esm.js +68 -80
  10. package/dist/declarations/src/client/builder.d.ts +1 -1
  11. package/dist/declarations/src/client/client.d.ts +1 -1
  12. package/dist/declarations/src/client/index.d.ts +2 -2
  13. package/dist/declarations/src/index.d.ts +3 -3
  14. package/dist/declarations/src/middleware/auth-middleware/anonymous-session-flow.d.ts +1 -1
  15. package/dist/declarations/src/middleware/auth-middleware/client-credentials-flow.d.ts +1 -1
  16. package/dist/declarations/src/middleware/auth-middleware/existing-token-flow.d.ts +1 -1
  17. package/dist/declarations/src/middleware/auth-middleware/index.d.ts +5 -5
  18. package/dist/declarations/src/middleware/auth-middleware/password-flow.d.ts +1 -1
  19. package/dist/declarations/src/middleware/auth-middleware/refresh-token-flow.d.ts +1 -1
  20. package/dist/declarations/src/middleware/create-concurrent-modification-middleware.d.ts +1 -1
  21. package/dist/declarations/src/middleware/create-correlation-id-middleware.d.ts +1 -1
  22. package/dist/declarations/src/middleware/create-error-middleware.d.ts +1 -1
  23. package/dist/declarations/src/middleware/create-http-middleware.d.ts +1 -1
  24. package/dist/declarations/src/middleware/create-logger-middleware.d.ts +1 -1
  25. package/dist/declarations/src/middleware/create-queue-middleware.d.ts +1 -1
  26. package/dist/declarations/src/middleware/create-user-agent-middleware.d.ts +1 -1
  27. package/dist/declarations/src/middleware/index.d.ts +8 -8
  28. package/package.json +5 -4
  29. package/dist/declarations/src/middleware/auth-middleware/auth-request-builder.d.ts +0 -24
  30. package/dist/declarations/src/middleware/auth-middleware/auth-request-executor.d.ts +0 -2
  31. package/dist/declarations/src/utils/constants.d.ts +0 -5
  32. package/dist/declarations/src/utils/createError.d.ts +0 -8
  33. package/dist/declarations/src/utils/errors.d.ts +0 -10
  34. package/dist/declarations/src/utils/executor.d.ts +0 -2
  35. package/dist/declarations/src/utils/generateID.d.ts +0 -1
  36. package/dist/declarations/src/utils/headers.d.ts +0 -2
  37. package/dist/declarations/src/utils/index.d.ts +0 -18
  38. package/dist/declarations/src/utils/isBuffer.d.ts +0 -1
  39. package/dist/declarations/src/utils/maskAuthData.d.ts +0 -2
  40. package/dist/declarations/src/utils/mergeAuthHeader.d.ts +0 -2
  41. package/dist/declarations/src/utils/methods.d.ts +0 -2
  42. package/dist/declarations/src/utils/retryDelay.d.ts +0 -8
  43. package/dist/declarations/src/utils/sleep.d.ts +0 -1
  44. package/dist/declarations/src/utils/tokenCacheKey.d.ts +0 -2
  45. package/dist/declarations/src/utils/tokenExpirationTime.d.ts +0 -1
  46. package/dist/declarations/src/utils/tokenStore.d.ts +0 -2
  47. package/dist/declarations/src/utils/url.d.ts +0 -2
  48. package/dist/declarations/src/utils/userAgent.d.ts +0 -2
  49. package/dist/declarations/src/utils/validate.d.ts +0 -25
@@ -1,26 +1,26 @@
1
1
  import fetch$1 from 'node-fetch';
2
- import crytpo from 'crypto';
2
+ import { v4 } from 'uuid';
3
3
  import { Buffer } from 'buffer/';
4
4
  import AbortController from 'abort-controller';
5
5
 
6
- function _toPrimitive(input, hint) {
7
- if (typeof input !== "object" || input === null) return input;
8
- var prim = input[Symbol.toPrimitive];
9
- if (prim !== undefined) {
10
- var res = prim.call(input, hint || "default");
11
- if (typeof res !== "object") return res;
6
+ function toPrimitive(t, r) {
7
+ if ("object" != typeof t || !t) return t;
8
+ var e = t[Symbol.toPrimitive];
9
+ if (void 0 !== e) {
10
+ var i = e.call(t, r || "default");
11
+ if ("object" != typeof i) return i;
12
12
  throw new TypeError("@@toPrimitive must return a primitive value.");
13
13
  }
14
- return (hint === "string" ? String : Number)(input);
14
+ return ("string" === r ? String : Number)(t);
15
15
  }
16
16
 
17
- function _toPropertyKey(arg) {
18
- var key = _toPrimitive(arg, "string");
19
- return typeof key === "symbol" ? key : String(key);
17
+ function toPropertyKey(t) {
18
+ var i = toPrimitive(t, "string");
19
+ return "symbol" == typeof i ? i : String(i);
20
20
  }
21
21
 
22
22
  function _defineProperty(obj, key, value) {
23
- key = _toPropertyKey(key);
23
+ key = toPropertyKey(key);
24
24
  if (key in obj) {
25
25
  Object.defineProperty(obj, key, {
26
26
  value: value,
@@ -105,9 +105,8 @@ function createError({
105
105
  message,
106
106
  ...rest
107
107
  }) {
108
- var _rest$originalRequest;
109
108
  let errorMessage = message || 'Unexpected non-JSON error response';
110
- if (statusCode === 404) errorMessage = `URI not found: ${((_rest$originalRequest = rest.originalRequest) === null || _rest$originalRequest === void 0 ? void 0 : _rest$originalRequest.uri) || rest.uri}`;
109
+ if (statusCode === 404) errorMessage = `URI not found: ${rest.originalRequest?.uri || rest.uri}`;
111
110
  const ResponseError = getErrorByCode(statusCode);
112
111
  if (ResponseError) return new ResponseError(errorMessage, rest);
113
112
  return new HttpError(statusCode, errorMessage, rest);
@@ -116,7 +115,7 @@ function createError({
116
115
  function predicate(retryCodes, response) {
117
116
  return !
118
117
  // retryCodes.includes(response?.error?.message) ||
119
- [503, ...retryCodes].includes((response === null || response === void 0 ? void 0 : response.status) || (response === null || response === void 0 ? void 0 : response.statusCode));
118
+ [503, ...retryCodes].includes(response?.status || response?.statusCode);
120
119
  }
121
120
  async function executeHttpClientRequest(fetcher, config) {
122
121
  async function sendRequest() {
@@ -227,9 +226,8 @@ async function executor(request) {
227
226
  return data;
228
227
  }
229
228
 
230
- // TODO: Polyfill crypto for browsers
231
229
  function generateID() {
232
- return crytpo.randomBytes(32).toString('base64').replace(/[\/\-=+]/gi, '');
230
+ return v4();
233
231
  }
234
232
 
235
233
  function parse(headers) {
@@ -256,7 +254,7 @@ function isBuffer(obj) {
256
254
 
257
255
  function maskAuthData(request) {
258
256
  const _request = Object.assign({}, request);
259
- if (_request !== null && _request !== void 0 && _request.headers) {
257
+ if (_request?.headers) {
260
258
  if (_request.headers.Authorization) {
261
259
  _request.headers['Authorization'] = 'Bearer ********';
262
260
  }
@@ -300,8 +298,7 @@ function sleep(ms) {
300
298
  }
301
299
 
302
300
  function buildTokenCacheKey(options) {
303
- var _options$credentials;
304
- if (!(options !== null && options !== void 0 && (_options$credentials = options.credentials) !== null && _options$credentials !== void 0 && _options$credentials.clientId) || !options.projectKey || !options.host) throw new Error('Missing required options.');
301
+ if (!options?.credentials?.clientId || !options.projectKey || !options.host) throw new Error('Missing required options.');
305
302
  return {
306
303
  clientId: options.credentials.clientId,
307
304
  host: options.host,
@@ -325,6 +322,35 @@ function store(initVal) {
325
322
  };
326
323
  }
327
324
 
325
+ function urlParser(url) {
326
+ const object = {};
327
+ const data = new URLSearchParams(url);
328
+ for (let x of data.keys()) {
329
+ if (data.getAll(x).length > 1) {
330
+ object[x] = data.getAll(x);
331
+ } else {
332
+ object[x] = data.get(x);
333
+ }
334
+ }
335
+ return object;
336
+ }
337
+ function urlStringifier(object) {
338
+ const params = new URLSearchParams(object);
339
+ for (const [key, value] of Object.entries(object)) {
340
+ if (Array.isArray(value)) {
341
+ params.delete(key);
342
+ value.filter(Boolean).forEach(v => params.append(key, v));
343
+ }
344
+ }
345
+ return params.toString();
346
+ }
347
+ function parseURLString(url, parser = urlParser) {
348
+ return parser(url);
349
+ }
350
+ function stringifyURLString(object, stringifier = urlStringifier) {
351
+ return urlStringifier(object);
352
+ }
353
+
328
354
  // import { validateUserAgentOptions } from '../utils'
329
355
 
330
356
  /*
@@ -337,9 +363,8 @@ function store(initVal) {
337
363
  */
338
364
  const isBrowser = () => typeof window !== 'undefined' && window.document && window.document.nodeType === 9;
339
365
  function getSystemInfo() {
340
- var _process;
341
366
  if (isBrowser()) return window.navigator.userAgent;
342
- const nodeVersion = ((_process = process) === null || _process === void 0 ? void 0 : _process.version.slice(1)) || 'unknow'; // unknow environment like React Native etc
367
+ const nodeVersion = process?.version.slice(1) || 'unknow'; // unknow environment like React Native etc
343
368
  const platformInfo = `(${process.platform}; ${process.arch})`;
344
369
 
345
370
  // return `node.js/${nodeVersion}`
@@ -381,35 +406,6 @@ function createUserAgent(options) {
381
406
  return [baseInfo, systemInfo, libraryInfo, contactInfo, customAgent].filter(Boolean).join(' ');
382
407
  }
383
408
 
384
- function urlParser(url) {
385
- const object = {};
386
- const data = new URLSearchParams(url);
387
- for (let x of data.keys()) {
388
- if (data.getAll(x).length > 1) {
389
- object[x] = data.getAll(x);
390
- } else {
391
- object[x] = data.get(x);
392
- }
393
- }
394
- return object;
395
- }
396
- function urlStringifier(object) {
397
- const params = new URLSearchParams(object);
398
- for (const [key, value] of Object.entries(object)) {
399
- if (Array.isArray(value)) {
400
- params.delete(key);
401
- value.filter(Boolean).forEach(v => params.append(key, v));
402
- }
403
- }
404
- return params.toString();
405
- }
406
- function parseURLString(url, parser = urlParser) {
407
- return parser(url);
408
- }
409
- function stringifyURLString(object, stringifier = urlStringifier) {
410
- return urlStringifier(object);
411
- }
412
-
413
409
  /**
414
410
  * validate some essential http options
415
411
  * @param options
@@ -652,12 +648,11 @@ async function executeRequest$1(options) {
652
648
  body
653
649
  });
654
650
  if (response.statusCode >= 200 && response.statusCode < 300) {
655
- var _response;
656
651
  const {
657
652
  access_token: token,
658
653
  expires_in: expiresIn,
659
654
  refresh_token: refreshToken
660
- } = (_response = response) === null || _response === void 0 ? void 0 : _response.data;
655
+ } = response?.data;
661
656
 
662
657
  // calculate token expiration time
663
658
  const expirationTime = calculateExpirationTime(expiresIn);
@@ -811,7 +806,7 @@ function createAuthMiddlewareForExistingTokenFlow$1(authorization, options) {
811
806
  return next => {
812
807
  return async request => {
813
808
  if (typeof authorization !== 'string') throw new Error('authorization must be a string');
814
- const isForce = (options === null || options === void 0 ? void 0 : options.force) === undefined ? true : options.force;
809
+ const isForce = options?.force === undefined ? true : options.force;
815
810
 
816
811
  /**
817
812
  * The request will not be modified if:
@@ -905,13 +900,12 @@ function createConcurrentModificationMiddleware$1() {
905
900
  return async request => {
906
901
  const response = await next(request);
907
902
  if (response.statusCode == 409) {
908
- var _response$error, _response$error$body, _response$error$body$, _response$error$body$2;
909
903
  /**
910
904
  * extract the currentVersion
911
905
  * from the error body and update
912
906
  * request with the currentVersion
913
907
  */
914
- const version = (_response$error = response.error) === null || _response$error === void 0 ? void 0 : (_response$error$body = _response$error.body) === null || _response$error$body === void 0 ? void 0 : (_response$error$body$ = _response$error$body.errors) === null || _response$error$body$ === void 0 ? void 0 : (_response$error$body$2 = _response$error$body$[0]) === null || _response$error$body$2 === void 0 ? void 0 : _response$error$body$2.currentVersion;
908
+ const version = response.error.body?.errors?.[0]?.currentVersion;
915
909
 
916
910
  // update the resource version here
917
911
  if (version) {
@@ -978,7 +972,6 @@ async function executeRequest({
978
972
  includeRequestInErrorResponse
979
973
  } = clientOptions;
980
974
  try {
981
- var _response$data, _response$data2;
982
975
  if (timeout) timer = setTimeout(() => {
983
976
  abortController.abort();
984
977
  }, timeout);
@@ -1008,8 +1001,8 @@ async function executeRequest({
1008
1001
  };
1009
1002
  }
1010
1003
  const error = createError({
1011
- message: (response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.message) || (response === null || response === void 0 ? void 0 : response.message),
1012
- statusCode: response.statusCode || (response === null || response === void 0 ? void 0 : (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.statusCode),
1004
+ message: response?.data?.message || response?.message,
1005
+ statusCode: response.statusCode || response?.data?.statusCode,
1013
1006
  headers: getHeaders(response.headers),
1014
1007
  method: clientOptions.method,
1015
1008
  body: response.data,
@@ -1033,19 +1026,18 @@ async function executeRequest({
1033
1026
  error
1034
1027
  };
1035
1028
  } catch (e) {
1036
- var _e$response, _e$response2, _e$response3, _e$response4, _e$response4$data, _e$response5, _e$response6;
1037
1029
  // We know that this is a network error
1038
- const headers = getHeaders((_e$response = e.response) === null || _e$response === void 0 ? void 0 : _e$response.headers);
1039
- const statusCode = ((_e$response2 = e.response) === null || _e$response2 === void 0 ? void 0 : _e$response2.status) || ((_e$response3 = e.response) === null || _e$response3 === void 0 ? void 0 : _e$response3.data0) || 0;
1040
- const message = (_e$response4 = e.response) === null || _e$response4 === void 0 ? void 0 : (_e$response4$data = _e$response4.data) === null || _e$response4$data === void 0 ? void 0 : _e$response4$data.message;
1030
+ const headers = getHeaders(e.response?.headers);
1031
+ const statusCode = e.response?.status || e.response?.data0 || 0;
1032
+ const message = e.response?.data?.message;
1041
1033
  const error = createError({
1042
1034
  statusCode,
1043
1035
  code: statusCode,
1044
1036
  status: statusCode,
1045
1037
  message: message || e.message,
1046
1038
  headers,
1047
- body: ((_e$response5 = e.response) === null || _e$response5 === void 0 ? void 0 : _e$response5.data) || e,
1048
- error: (_e$response6 = e.response) === null || _e$response6 === void 0 ? void 0 : _e$response6.data,
1039
+ body: e.response?.data || e,
1040
+ error: e.response?.data,
1049
1041
  ...(includeRequestInErrorResponse ? {
1050
1042
  originalRequest: maskSensitiveHeaderData ? maskAuthData(request) : request
1051
1043
  } : {
@@ -1229,7 +1221,7 @@ function createQueueMiddleware$1({
1229
1221
 
1230
1222
  var packageJson = {
1231
1223
  name: "@commercetools/ts-client",
1232
- version: "1.1.0",
1224
+ version: "1.2.0",
1233
1225
  engines: {
1234
1226
  node: ">=14"
1235
1227
  },
@@ -1264,7 +1256,8 @@ var packageJson = {
1264
1256
  dependencies: {
1265
1257
  "abort-controller": "3.0.0",
1266
1258
  buffer: "^6.0.3",
1267
- "node-fetch": "^2.6.1"
1259
+ "node-fetch": "^2.6.1",
1260
+ uuid: "9.0.0"
1268
1261
  },
1269
1262
  files: [
1270
1263
  "dist",
@@ -1279,8 +1272,8 @@ var packageJson = {
1279
1272
  },
1280
1273
  devDependencies: {
1281
1274
  "common-tags": "1.8.2",
1282
- dotenv: "16.0.3",
1283
- jest: "29.5.0",
1275
+ dotenv: "16.3.1",
1276
+ jest: "29.6.2",
1284
1277
  nock: "12.0.3",
1285
1278
  "organize-imports-cli": "0.10.0"
1286
1279
  },
@@ -1389,7 +1382,7 @@ function process$1(request, fn, processOpt) {
1389
1382
  const {
1390
1383
  results,
1391
1384
  count: resultsLength
1392
- } = (payload === null || payload === void 0 ? void 0 : payload.body) || {};
1385
+ } = payload?.body || {};
1393
1386
  if (!resultsLength && hasFirstPageBeenProcessed) {
1394
1387
  return resolve(acc || []);
1395
1388
  }
@@ -1443,15 +1436,10 @@ function createClient(middlewares) {
1443
1436
  ...(includeOriginalRequest ? {
1444
1437
  originalRequest: maskSensitiveHeaderData ? maskAuthData(request) : request
1445
1438
  } : {}),
1446
- ...(response !== null && response !== void 0 && response.retryCount ? {
1439
+ ...(response?.retryCount ? {
1447
1440
  retryCount: response.retryCount
1448
1441
  } : {})
1449
1442
  };
1450
- if (res.error) {
1451
- res.reject(res.error);
1452
- return res;
1453
- }
1454
- res.resolve(res);
1455
1443
  return res;
1456
1444
  }
1457
1445
  };
@@ -1461,11 +1449,11 @@ function createClient(middlewares) {
1461
1449
  execute(request) {
1462
1450
  validate('exec', request);
1463
1451
  return new Promise((resolve, reject) => {
1464
- return dispatch({
1452
+ dispatch({
1465
1453
  reject,
1466
1454
  resolve,
1467
1455
  ...request
1468
- });
1456
+ }).then(resolve).catch(reject);
1469
1457
  });
1470
1458
  }
1471
1459
  };
@@ -1609,7 +1597,7 @@ class ClientBuilder {
1609
1597
  }
1610
1598
  withCorrelationIdMiddleware(options) {
1611
1599
  this.correlationIdMiddleware = createCorrelationIdMiddleware({
1612
- generate: options === null || options === void 0 ? void 0 : options.generate,
1600
+ generate: options?.generate,
1613
1601
  ...options
1614
1602
  });
1615
1603
  return this;
@@ -1644,4 +1632,4 @@ class ClientBuilder {
1644
1632
  }
1645
1633
  }
1646
1634
 
1647
- export { ClientBuilder, process$1 as Process, createAuthMiddlewareForAnonymousSessionFlow$1 as createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow$1 as createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForExistingTokenFlow$1 as createAuthMiddlewareForExistingTokenFlow, createAuthMiddlewareForPasswordFlow$1 as createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForRefreshTokenFlow$1 as createAuthMiddlewareForRefreshTokenFlow, createClient, createCorrelationIdMiddleware$1 as createCorrelationIdMiddleware, createHttpMiddleware$1 as createHttpMiddleware, createLoggerMiddleware$1 as createLoggerMiddleware, createQueueMiddleware$1 as createQueueMiddleware, createUserAgentMiddleware$1 as createUserAgentMiddleware };
1635
+ export { ClientBuilder, process$1 as Process, createAuthMiddlewareForAnonymousSessionFlow$1 as createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow$1 as createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForExistingTokenFlow$1 as createAuthMiddlewareForExistingTokenFlow, createAuthMiddlewareForPasswordFlow$1 as createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForRefreshTokenFlow$1 as createAuthMiddlewareForRefreshTokenFlow, createClient, createConcurrentModificationMiddleware$1 as createConcurrentModificationMiddleware, createCorrelationIdMiddleware$1 as createCorrelationIdMiddleware, createHttpMiddleware$1 as createHttpMiddleware, createLoggerMiddleware$1 as createLoggerMiddleware, createQueueMiddleware$1 as createQueueMiddleware, createUserAgentMiddleware$1 as createUserAgentMiddleware };
@@ -1,4 +1,4 @@
1
- import { AuthMiddlewareOptions, Client, CorrelationIdMiddlewareOptions, Credentials, ErrorMiddlewareOptions, ExistingTokenMiddlewareOptions, HttpMiddlewareOptions, HttpUserAgentOptions, LoggerMiddlewareOptions, Middleware, PasswordAuthMiddlewareOptions, QueueMiddlewareOptions, RefreshAuthMiddlewareOptions } from '../types/types';
1
+ import { AuthMiddlewareOptions, Client, CorrelationIdMiddlewareOptions, Credentials, ErrorMiddlewareOptions, ExistingTokenMiddlewareOptions, HttpMiddlewareOptions, HttpUserAgentOptions, LoggerMiddlewareOptions, Middleware, PasswordAuthMiddlewareOptions, QueueMiddlewareOptions, RefreshAuthMiddlewareOptions } from "../types/types.js";
2
2
  export default class ClientBuilder {
3
3
  private projectKey;
4
4
  private authMiddleware;
@@ -1,3 +1,3 @@
1
- import { Client, ClientOptions, ClientRequest, ProcessFn, ProcessOptions } from '../types/types';
1
+ import { Client, ClientOptions, ClientRequest, ProcessFn, ProcessOptions } from "../types/types.js";
2
2
  export declare function process(request: ClientRequest, fn: ProcessFn, processOpt?: ProcessOptions): Promise<Array<ClientRequest>>;
3
3
  export default function createClient(middlewares: ClientOptions): Client;
@@ -1,2 +1,2 @@
1
- export { default as ClientBuilder } from './builder';
2
- export { default as createClient, process as Process } from './client';
1
+ export { default as ClientBuilder } from "./builder.js";
2
+ export { default as createClient, process as Process } from "./client.js";
@@ -1,3 +1,3 @@
1
- export { ClientBuilder, createClient, Process } from './client';
2
- export { createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForExistingTokenFlow, createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForRefreshTokenFlow, createCorrelationIdMiddleware, createHttpMiddleware, createLoggerMiddleware, createQueueMiddleware, createUserAgentMiddleware, } from './middleware';
3
- export * from './types/types.d';
1
+ export { ClientBuilder, createClient, Process } from "./client/index.js";
2
+ export { createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForExistingTokenFlow, createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForRefreshTokenFlow, createConcurrentModificationMiddleware, createCorrelationIdMiddleware, createHttpMiddleware, createLoggerMiddleware, createQueueMiddleware, createUserAgentMiddleware } from "./middleware/index.js";
3
+ export * from "./types/types.js";
@@ -1,2 +1,2 @@
1
- import { AuthMiddlewareOptions, Middleware } from '../../types/types';
1
+ import { AuthMiddlewareOptions, Middleware } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForAnonymousSessionFlow(options: AuthMiddlewareOptions): Middleware;
@@ -1,2 +1,2 @@
1
- import { AuthMiddlewareOptions, Middleware } from '../../types/types';
1
+ import { AuthMiddlewareOptions, Middleware } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForClientCredentialsFlow(options: AuthMiddlewareOptions): Middleware;
@@ -1,2 +1,2 @@
1
- import { ExistingTokenMiddlewareOptions, Middleware } from '../../types/types';
1
+ import { ExistingTokenMiddlewareOptions, Middleware } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForExistingTokenFlow(authorization: string, options?: ExistingTokenMiddlewareOptions): Middleware;
@@ -1,6 +1,6 @@
1
- import createAuthMiddlewareForAnonymousSessionFlow from './anonymous-session-flow';
2
- import createAuthMiddlewareForClientCredentialsFlow from './client-credentials-flow';
3
- import createAuthMiddlewareForExistingTokenFlow from './existing-token-flow';
4
- import createAuthMiddlewareForPasswordFlow from './password-flow';
5
- import createAuthMiddlewareForRefreshTokenFlow from './refresh-token-flow';
1
+ import createAuthMiddlewareForAnonymousSessionFlow from "./anonymous-session-flow.js";
2
+ import createAuthMiddlewareForClientCredentialsFlow from "./client-credentials-flow.js";
3
+ import createAuthMiddlewareForExistingTokenFlow from "./existing-token-flow.js";
4
+ import createAuthMiddlewareForPasswordFlow from "./password-flow.js";
5
+ import createAuthMiddlewareForRefreshTokenFlow from "./refresh-token-flow.js";
6
6
  export { createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForRefreshTokenFlow, createAuthMiddlewareForExistingTokenFlow };
@@ -1,2 +1,2 @@
1
- import { Middleware, PasswordAuthMiddlewareOptions } from '../../types/types';
1
+ import { Middleware, PasswordAuthMiddlewareOptions } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForPasswordFlow(options: PasswordAuthMiddlewareOptions): Middleware;
@@ -1,2 +1,2 @@
1
- import { Middleware, RefreshAuthMiddlewareOptions } from '../../types/types';
1
+ import { Middleware, RefreshAuthMiddlewareOptions } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForRefreshTokenFlow(options: RefreshAuthMiddlewareOptions): Middleware;
@@ -1,2 +1,2 @@
1
- import { Middleware } from '../types/types';
1
+ import { Middleware } from "../types/types.js";
2
2
  export default function createConcurrentModificationMiddleware(): Middleware;
@@ -1,2 +1,2 @@
1
- import { CorrelationIdMiddlewareOptions, Middleware } from '../types/types';
1
+ import { CorrelationIdMiddlewareOptions, Middleware } from "../types/types.js";
2
2
  export default function createCorrelationIdMiddleware(options?: CorrelationIdMiddlewareOptions): Middleware;
@@ -1,2 +1,2 @@
1
- import { ErrorMiddlewareOptions, Middleware } from '../types/types';
1
+ import { ErrorMiddlewareOptions, Middleware } from "../types/types.js";
2
2
  export default function createErrorMiddleware(options?: ErrorMiddlewareOptions): Middleware;
@@ -1,2 +1,2 @@
1
- import { HttpMiddlewareOptions, Middleware } from '../types/types';
1
+ import { HttpMiddlewareOptions, Middleware } from "../types/types.js";
2
2
  export default function createHttpMiddleware(options: HttpMiddlewareOptions): Middleware;
@@ -1,2 +1,2 @@
1
- import { LoggerMiddlewareOptions, Middleware } from '../types/types';
1
+ import { LoggerMiddlewareOptions, Middleware } from "../types/types.js";
2
2
  export default function createLoggerMiddleware(options?: LoggerMiddlewareOptions): Middleware;
@@ -1,2 +1,2 @@
1
- import { Middleware, QueueMiddlewareOptions } from '../types/types';
1
+ import { Middleware, QueueMiddlewareOptions } from "../types/types.js";
2
2
  export default function createQueueMiddleware({ concurrency, }: QueueMiddlewareOptions): Middleware;
@@ -1,2 +1,2 @@
1
- import { HttpUserAgentOptions, Middleware } from '../types/types';
1
+ import { HttpUserAgentOptions, Middleware } from "../types/types.js";
2
2
  export default function createUserAgentMiddleware(options?: HttpUserAgentOptions): Middleware;
@@ -1,8 +1,8 @@
1
- export { createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForExistingTokenFlow, createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForRefreshTokenFlow } from './auth-middleware';
2
- export { default as createConcurrentModificationMiddleware } from './create-concurrent-modification-middleware';
3
- export { default as createCorrelationIdMiddleware } from './create-correlation-id-middleware';
4
- export { default as createErrorMiddleware } from './create-error-middleware';
5
- export { default as createHttpMiddleware } from './create-http-middleware';
6
- export { default as createLoggerMiddleware } from './create-logger-middleware';
7
- export { default as createQueueMiddleware } from './create-queue-middleware';
8
- export { default as createUserAgentMiddleware } from './create-user-agent-middleware';
1
+ export { createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForExistingTokenFlow, createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForRefreshTokenFlow } from "./auth-middleware/index.js";
2
+ export { default as createConcurrentModificationMiddleware } from "./create-concurrent-modification-middleware.js";
3
+ export { default as createCorrelationIdMiddleware } from "./create-correlation-id-middleware.js";
4
+ export { default as createErrorMiddleware } from "./create-error-middleware.js";
5
+ export { default as createHttpMiddleware } from "./create-http-middleware.js";
6
+ export { default as createLoggerMiddleware } from "./create-logger-middleware.js";
7
+ export { default as createQueueMiddleware } from "./create-queue-middleware.js";
8
+ export { default as createUserAgentMiddleware } from "./create-user-agent-middleware.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools/ts-client",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "engines": {
5
5
  "node": ">=14"
6
6
  },
@@ -35,7 +35,8 @@
35
35
  "dependencies": {
36
36
  "abort-controller": "3.0.0",
37
37
  "buffer": "^6.0.3",
38
- "node-fetch": "^2.6.1"
38
+ "node-fetch": "^2.6.1",
39
+ "uuid": "9.0.0"
39
40
  },
40
41
  "files": ["dist", "CHANGELOG.md"],
41
42
  "author": "Chukwuemeka Ajima <meeky.ae@gmail.com>",
@@ -47,8 +48,8 @@
47
48
  },
48
49
  "devDependencies": {
49
50
  "common-tags": "1.8.2",
50
- "dotenv": "16.0.3",
51
- "jest": "29.5.0",
51
+ "dotenv": "16.3.1",
52
+ "jest": "29.6.2",
52
53
  "nock": "12.0.3",
53
54
  "organize-imports-cli": "0.10.0"
54
55
  },
@@ -1,24 +0,0 @@
1
- import { AuthMiddlewareOptions, IBuiltRequestParams, PasswordAuthMiddlewareOptions, RefreshAuthMiddlewareOptions } from '../../types/types';
2
- /**
3
- *
4
- * @param {AuthMiddlewareOptions} options
5
- * @returns { IBuiltRequestParams } *
6
- */
7
- export declare function buildRequestForClientCredentialsFlow(options: AuthMiddlewareOptions): IBuiltRequestParams;
8
- /**
9
- *
10
- * @param {AuthMiddlewareOptions} options
11
- * @returns {IBuiltRequestParams} *
12
- */
13
- export declare function buildRequestForAnonymousSessionFlow(options: AuthMiddlewareOptions): IBuiltRequestParams;
14
- /**
15
- *
16
- * @param {RefreshAuthMiddlewareOptions} options
17
- * @returns {IBuiltRequestParams}
18
- */
19
- export declare function buildRequestForRefreshTokenFlow(options: RefreshAuthMiddlewareOptions): IBuiltRequestParams;
20
- /**
21
- * @param {PasswordAuthMiddlewareOptions} options
22
- * @returns {IBuiltRequestParams}
23
- */
24
- export declare function buildRequestForPasswordFlow(options: PasswordAuthMiddlewareOptions): IBuiltRequestParams;
@@ -1,2 +0,0 @@
1
- import { ClientRequest, executeRequestOptions } from '../../types/types';
2
- export declare function executeRequest(options: executeRequestOptions): Promise<ClientRequest>;
@@ -1,5 +0,0 @@
1
- export declare const HEADERS_CONTENT_TYPES: string[];
2
- export declare const CONCURRENCT_REQUEST = 20;
3
- export declare const CTP_API_URL = "https://api.europe-west1.gcp.commercetools.com";
4
- export declare const CTP_AUTH_URL = "https://auth.europe-west1.gcp.commercetools.com";
5
- export declare const DEFAULT_HEADERS: string[];
@@ -1,8 +0,0 @@
1
- import { HttpErrorType } from '../types/types';
2
- type ErrorType = ErrorArgs & Partial<HttpErrorType>;
3
- type ErrorArgs = {
4
- statusCode: number;
5
- message: string;
6
- };
7
- declare function createError({ statusCode, message, ...rest }: ErrorType): HttpErrorType;
8
- export default createError;
@@ -1,10 +0,0 @@
1
- export declare function NetworkError(...args: Array<unknown>): void;
2
- export declare function HttpError(...args: Array<unknown>): void;
3
- export declare function BadRequest(...args: Array<unknown>): void;
4
- export declare function Unauthorized(...args: Array<unknown>): void;
5
- export declare function Forbidden(...args: Array<unknown>): void;
6
- export declare function NotFound(...args: Array<unknown>): void;
7
- export declare function ConcurrentModification(...args: Array<unknown>): void;
8
- export declare function InternalServerError(...args: Array<unknown>): void;
9
- export declare function ServiceUnavailable(...args: Array<unknown>): void;
10
- export default function getErrorByCode(code: number): typeof NetworkError;
@@ -1,2 +0,0 @@
1
- import { HttpClientConfig, TResponse } from '../types/types';
2
- export default function executor(request: HttpClientConfig): Promise<TResponse>;
@@ -1 +0,0 @@
1
- export default function generateID(): string;
@@ -1,2 +0,0 @@
1
- import { JsonObject } from '../types/types';
2
- export default function getHeaders(headers: JsonObject<any>): JsonObject<string>;
@@ -1,18 +0,0 @@
1
- export * as constants from './constants';
2
- export { default as createError } from './createError';
3
- export { NetworkError } from './errors';
4
- export { default as executor } from './executor';
5
- export { default as generate } from './generateID';
6
- export { default as getHeaders } from './headers';
7
- export { default as isBuffer } from './isBuffer';
8
- export { default as maskAuthData } from './maskAuthData';
9
- export { default as mergeAuthHeader } from './mergeAuthHeader';
10
- export { default as METHODS } from './methods';
11
- export { default as calculateRetryDelay } from './retryDelay';
12
- export { default as sleep } from './sleep';
13
- export { default as buildTokenCacheKey } from './tokenCacheKey';
14
- export { default as calculateExpirationTime } from './tokenExpirationTime';
15
- export { default as store } from './tokenStore';
16
- export { default as userAgent } from './userAgent';
17
- export { stringifyURLString, parseURLString } from './url';
18
- export { validate, validateClient, validateHttpOptions, validateRetryCodes } from './validate';
@@ -1 +0,0 @@
1
- export default function isBuffer(obj: any): boolean;
@@ -1,2 +0,0 @@
1
- import { MiddlewareRequest } from '../types/types';
2
- export default function maskAuthData(request: MiddlewareRequest): import("../types/types").ClientRequest;
@@ -1,2 +0,0 @@
1
- import { MiddlewareRequest } from '../types/types';
2
- export default function mergeAuthHeader(token: string, req: MiddlewareRequest): MiddlewareRequest;
@@ -1,2 +0,0 @@
1
- declare const _default: string[];
2
- export default _default;
@@ -1,8 +0,0 @@
1
- export type TRetryPolicy = {
2
- retryCount: number;
3
- retryDelay: number;
4
- maxRetries: number;
5
- backoff: boolean;
6
- maxDelay: number;
7
- };
8
- export default function calculateRetryDelay({ retryCount, retryDelay, backoff, maxDelay, }: TRetryPolicy): number;
@@ -1 +0,0 @@
1
- export default function sleep(ms: number): Promise<void>;
@@ -1,2 +0,0 @@
1
- import { AuthMiddlewareOptions, TokenCacheOptions } from '../types/types';
2
- export default function buildTokenCacheKey(options: AuthMiddlewareOptions): TokenCacheOptions;
@@ -1 +0,0 @@
1
- export default function calculateExpirationTime(expiresIn: number): number;
@@ -1,2 +0,0 @@
1
- import { TokenCacheOptions } from '../types/types';
2
- export default function store<T, V, S = TokenCacheOptions>(initVal: T): V;
@@ -1,2 +0,0 @@
1
- export declare function parseURLString<T>(url: string | URLSearchParams, parser?: <T>(url: string | URLSearchParams) => T): T;
2
- export declare function stringifyURLString(object: string | Record<string, any> | Array<Array<string>>, stringifier?: (object: string | Record<string, any> | Array<Array<string>> | URLSearchParams) => string): string;
@@ -1,2 +0,0 @@
1
- import { HttpUserAgentOptions } from '../types/types';
2
- export default function createUserAgent(options: HttpUserAgentOptions): string;