@commercetools/ts-client 1.2.1 → 2.0.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 (45) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +0 -1
  3. package/dist/commercetools-ts-client.browser.cjs.js +62 -57
  4. package/dist/commercetools-ts-client.browser.esm.js +62 -57
  5. package/dist/commercetools-ts-client.cjs.dev.js +62 -57
  6. package/dist/commercetools-ts-client.cjs.prod.js +62 -57
  7. package/dist/commercetools-ts-client.esm.js +62 -57
  8. package/dist/declarations/src/client/builder.d.ts +9 -4
  9. package/dist/declarations/src/client/builder.d.ts.map +1 -0
  10. package/dist/declarations/src/client/client.d.ts +1 -0
  11. package/dist/declarations/src/client/client.d.ts.map +1 -0
  12. package/dist/declarations/src/client/index.d.ts +1 -0
  13. package/dist/declarations/src/client/index.d.ts.map +1 -0
  14. package/dist/declarations/src/index.d.ts +1 -0
  15. package/dist/declarations/src/index.d.ts.map +1 -0
  16. package/dist/declarations/src/middleware/auth-middleware/anonymous-session-flow.d.ts +1 -0
  17. package/dist/declarations/src/middleware/auth-middleware/anonymous-session-flow.d.ts.map +1 -0
  18. package/dist/declarations/src/middleware/auth-middleware/client-credentials-flow.d.ts +1 -0
  19. package/dist/declarations/src/middleware/auth-middleware/client-credentials-flow.d.ts.map +1 -0
  20. package/dist/declarations/src/middleware/auth-middleware/existing-token-flow.d.ts +1 -0
  21. package/dist/declarations/src/middleware/auth-middleware/existing-token-flow.d.ts.map +1 -0
  22. package/dist/declarations/src/middleware/auth-middleware/index.d.ts +1 -0
  23. package/dist/declarations/src/middleware/auth-middleware/index.d.ts.map +1 -0
  24. package/dist/declarations/src/middleware/auth-middleware/password-flow.d.ts +1 -0
  25. package/dist/declarations/src/middleware/auth-middleware/password-flow.d.ts.map +1 -0
  26. package/dist/declarations/src/middleware/auth-middleware/refresh-token-flow.d.ts +1 -0
  27. package/dist/declarations/src/middleware/auth-middleware/refresh-token-flow.d.ts.map +1 -0
  28. package/dist/declarations/src/middleware/create-concurrent-modification-middleware.d.ts +4 -2
  29. package/dist/declarations/src/middleware/create-concurrent-modification-middleware.d.ts.map +1 -0
  30. package/dist/declarations/src/middleware/create-correlation-id-middleware.d.ts +1 -0
  31. package/dist/declarations/src/middleware/create-correlation-id-middleware.d.ts.map +1 -0
  32. package/dist/declarations/src/middleware/create-error-middleware.d.ts +1 -0
  33. package/dist/declarations/src/middleware/create-error-middleware.d.ts.map +1 -0
  34. package/dist/declarations/src/middleware/create-http-middleware.d.ts +1 -0
  35. package/dist/declarations/src/middleware/create-http-middleware.d.ts.map +1 -0
  36. package/dist/declarations/src/middleware/create-logger-middleware.d.ts +1 -0
  37. package/dist/declarations/src/middleware/create-logger-middleware.d.ts.map +1 -0
  38. package/dist/declarations/src/middleware/create-queue-middleware.d.ts +1 -0
  39. package/dist/declarations/src/middleware/create-queue-middleware.d.ts.map +1 -0
  40. package/dist/declarations/src/middleware/create-user-agent-middleware.d.ts +1 -0
  41. package/dist/declarations/src/middleware/create-user-agent-middleware.d.ts.map +1 -0
  42. package/dist/declarations/src/middleware/index.d.ts +1 -0
  43. package/dist/declarations/src/middleware/index.d.ts.map +1 -0
  44. package/dist/declarations/src/types/types.d.ts +29 -12
  45. package/package.json +3 -2
@@ -905,7 +905,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
905
905
  };
906
906
  }
907
907
 
908
- function createConcurrentModificationMiddleware$1() {
908
+ function createConcurrentModificationMiddleware$1(modifierFunction) {
909
909
  return next => {
910
910
  return async request => {
911
911
  const response = await next(request);
@@ -919,13 +919,17 @@ function createConcurrentModificationMiddleware$1() {
919
919
 
920
920
  // update the resource version here
921
921
  if (version) {
922
- request.body = typeof request.body == 'string' ? {
923
- ...JSON.parse(request.body),
924
- version
925
- } : {
926
- ...request.body,
927
- version
928
- };
922
+ if (modifierFunction) {
923
+ request.body = await modifierFunction(version, request, response);
924
+ } else {
925
+ request.body = typeof request.body == 'string' ? {
926
+ ...JSON.parse(request.body),
927
+ version
928
+ } : {
929
+ ...request.body,
930
+ version
931
+ };
932
+ }
929
933
  return next(request);
930
934
  }
931
935
  }
@@ -947,7 +951,7 @@ function createCorrelationIdMiddleware$1(options) {
947
951
  };
948
952
  }
949
953
 
950
- function createErrorMiddleware$1(options) {
954
+ function createErrorMiddleware(options) {
951
955
  return next => async request => {
952
956
  const response = await next(request);
953
957
  if (response.error) {
@@ -979,7 +983,8 @@ async function executeRequest({
979
983
  request,
980
984
  abortController,
981
985
  maskSensitiveHeaderData,
982
- includeRequestInErrorResponse
986
+ includeRequestInErrorResponse,
987
+ includeResponseHeaders
983
988
  } = clientOptions;
984
989
  try {
985
990
  if (timeout) timer = setTimeout(() => {
@@ -994,6 +999,9 @@ async function executeRequest({
994
999
  body: clientOptions.body
995
1000
  } : {})
996
1001
  });
1002
+ if (!includeResponseHeaders) {
1003
+ response.headers = null;
1004
+ }
997
1005
  if (response.statusCode >= 200 && response.statusCode < 300) {
998
1006
  if (clientOptions.method == 'HEAD') {
999
1007
  return {
@@ -1037,7 +1045,7 @@ async function executeRequest({
1037
1045
  };
1038
1046
  } catch (e) {
1039
1047
  // We know that this is a network error
1040
- const headers = getHeaders(e.response?.headers);
1048
+ const headers = includeResponseHeaders ? getHeaders(e.response?.headers) : null;
1041
1049
  const statusCode = e.response?.status || e.response?.data0 || 0;
1042
1050
  const message = e.response?.data?.message;
1043
1051
  const error = createError({
@@ -1074,7 +1082,8 @@ function createHttpMiddleware$1(options) {
1074
1082
  retryConfig,
1075
1083
  getAbortController,
1076
1084
  includeOriginalRequest,
1077
- includeRequestInErrorResponse,
1085
+ includeRequestInErrorResponse = true,
1086
+ includeResponseHeaders = true,
1078
1087
  maskSensitiveHeaderData,
1079
1088
  httpClientOptions
1080
1089
  } = options;
@@ -1110,6 +1119,7 @@ function createHttpMiddleware$1(options) {
1110
1119
  headers: requestHeader,
1111
1120
  includeRequestInErrorResponse,
1112
1121
  maskSensitiveHeaderData,
1122
+ includeResponseHeaders,
1113
1123
  ...httpClientOptions
1114
1124
  };
1115
1125
  if (credentialsMode) {
@@ -1143,43 +1153,17 @@ function createHttpMiddleware$1(options) {
1143
1153
  };
1144
1154
  }
1145
1155
 
1146
- // error, info, success
1147
1156
  function createLoggerMiddleware$1(options) {
1148
1157
  return next => {
1149
1158
  return async request => {
1150
1159
  let response = await next(request);
1151
1160
  const originalResponse = Object.assign({}, response);
1152
1161
  const {
1153
- loggerFn = console.log,
1154
- // logLevel = 'ERROR',
1155
- maskSensitiveHeaderData = true,
1156
- includeOriginalRequest = true,
1157
- includeResponseHeaders = true
1158
- // includeRequestInErrorResponse
1162
+ loggerFn = console.log
1159
1163
  } = options || {};
1160
- if (includeOriginalRequest && maskSensitiveHeaderData) {
1161
- maskAuthData(response.request);
1162
- }
1163
- if (!includeOriginalRequest) {
1164
- const {
1165
- request,
1166
- ...rest
1167
- } = response;
1168
- response = rest;
1169
- }
1170
- if (!includeResponseHeaders) {
1171
- const {
1172
- headers,
1173
- ...rest
1174
- } = response;
1175
- response = rest;
1176
- }
1177
1164
  if (loggerFn && typeof loggerFn == 'function') {
1178
1165
  loggerFn(response);
1179
- // return originalResponse
1180
1166
  }
1181
-
1182
- // console.log({ Response: response })
1183
1167
  return originalResponse;
1184
1168
  };
1185
1169
  };
@@ -1231,7 +1215,7 @@ function createQueueMiddleware$1({
1231
1215
 
1232
1216
  var packageJson = {
1233
1217
  name: "@commercetools/ts-client",
1234
- version: "1.2.1",
1218
+ version: "2.0.0",
1235
1219
  engines: {
1236
1220
  node: ">=14"
1237
1221
  },
@@ -1290,7 +1274,8 @@ var packageJson = {
1290
1274
  scripts: {
1291
1275
  organize_imports: "find src -type f -name '*.ts' | xargs organize-imports-cli",
1292
1276
  postbuild: "yarn organize_imports",
1293
- post_process_generate: "yarn organize_imports"
1277
+ post_process_generate: "yarn organize_imports",
1278
+ docs: "typedoc --out docs"
1294
1279
  }
1295
1280
  };
1296
1281
 
@@ -1298,7 +1283,7 @@ function createUserAgentMiddleware$1(options) {
1298
1283
  return next => async request => {
1299
1284
  const userAgent = createUserAgent({
1300
1285
  ...options,
1301
- name: `commercetools-sdk-javascript-v3/${packageJson.version}`
1286
+ name: `${options.name ? options.name + '/' : ''}commercetools-sdk-javascript-v3/${packageJson.version}`
1302
1287
  });
1303
1288
  const requestWithUserAgent = {
1304
1289
  ...request,
@@ -1320,7 +1305,7 @@ var middleware = /*#__PURE__*/Object.freeze({
1320
1305
  createAuthMiddlewareForRefreshTokenFlow: createAuthMiddlewareForRefreshTokenFlow$1,
1321
1306
  createConcurrentModificationMiddleware: createConcurrentModificationMiddleware$1,
1322
1307
  createCorrelationIdMiddleware: createCorrelationIdMiddleware$1,
1323
- createErrorMiddleware: createErrorMiddleware$1,
1308
+ createErrorMiddleware: createErrorMiddleware,
1324
1309
  createHttpMiddleware: createHttpMiddleware$1,
1325
1310
  createLoggerMiddleware: createLoggerMiddleware$1,
1326
1311
  createQueueMiddleware: createQueueMiddleware$1,
@@ -1486,8 +1471,7 @@ const {
1486
1471
  createLoggerMiddleware,
1487
1472
  createQueueMiddleware,
1488
1473
  createUserAgentMiddleware,
1489
- createConcurrentModificationMiddleware,
1490
- createErrorMiddleware
1474
+ createConcurrentModificationMiddleware
1491
1475
  } = middleware;
1492
1476
  class ClientBuilder {
1493
1477
  constructor() {
@@ -1499,7 +1483,9 @@ class ClientBuilder {
1499
1483
  _defineProperty(this, "loggerMiddleware", void 0);
1500
1484
  _defineProperty(this, "queueMiddleware", void 0);
1501
1485
  _defineProperty(this, "concurrentMiddleware", void 0);
1502
- _defineProperty(this, "errorMiddleware", void 0);
1486
+ _defineProperty(this, "telemetryMiddleware", void 0);
1487
+ _defineProperty(this, "beforeMiddleware", void 0);
1488
+ _defineProperty(this, "afterMiddleware", void 0);
1503
1489
  _defineProperty(this, "middlewares", []);
1504
1490
  this.userAgentMiddleware = createUserAgentMiddleware({});
1505
1491
  }
@@ -1618,30 +1604,49 @@ class ClientBuilder {
1618
1604
  });
1619
1605
  return this;
1620
1606
  }
1621
- withConcurrentModificationMiddleware() {
1622
- this.concurrentMiddleware = createConcurrentModificationMiddleware();
1607
+ withConcurrentModificationMiddleware(options) {
1608
+ this.concurrentMiddleware = createConcurrentModificationMiddleware(options?.concurrentModificationHandlerFn);
1623
1609
  return this;
1624
1610
  }
1625
- withErrorMiddleware(options) {
1626
- this.errorMiddleware = createErrorMiddleware(options);
1611
+ withTelemetryMiddleware(options) {
1612
+ const {
1613
+ createTelemetryMiddleware,
1614
+ ...rest
1615
+ } = options;
1616
+ this.withUserAgentMiddleware({
1617
+ customAgent: rest?.userAgent || 'typescript-sdk-apm-middleware'
1618
+ });
1619
+ this.telemetryMiddleware = createTelemetryMiddleware(rest);
1620
+ return this;
1621
+ }
1622
+ withBeforeExecutionMiddleware(options) {
1623
+ const {
1624
+ middleware,
1625
+ ...rest
1626
+ } = options || {};
1627
+ this.beforeMiddleware = options.middleware(rest);
1628
+ return this;
1629
+ }
1630
+ withAfterExecutionMiddleware(options) {
1631
+ const {
1632
+ middleware,
1633
+ ...rest
1634
+ } = options || {};
1635
+ this.afterMiddleware = options.middleware(rest);
1627
1636
  return this;
1628
1637
  }
1629
1638
  build() {
1630
1639
  const middlewares = this.middlewares.slice();
1631
-
1632
- /**
1633
- * - use default retry policy if not explicity added
1634
- * - add retry middleware to be used by concurrent modification
1635
- * middleware if not explicitly added as part of the middleware
1636
- */
1640
+ if (this.telemetryMiddleware) middlewares.push(this.telemetryMiddleware);
1637
1641
  if (this.correlationIdMiddleware) middlewares.push(this.correlationIdMiddleware);
1638
1642
  if (this.userAgentMiddleware) middlewares.push(this.userAgentMiddleware);
1639
1643
  if (this.authMiddleware) middlewares.push(this.authMiddleware);
1644
+ if (this.beforeMiddleware) middlewares.push(this.beforeMiddleware);
1640
1645
  if (this.queueMiddleware) middlewares.push(this.queueMiddleware);
1641
1646
  if (this.loggerMiddleware) middlewares.push(this.loggerMiddleware);
1642
- if (this.errorMiddleware) middlewares.push(this.errorMiddleware);
1643
1647
  if (this.concurrentMiddleware) middlewares.push(this.concurrentMiddleware);
1644
1648
  if (this.httpMiddleware) middlewares.push(this.httpMiddleware);
1649
+ if (this.afterMiddleware) middlewares.push(this.afterMiddleware);
1645
1650
  return createClient({
1646
1651
  middlewares
1647
1652
  });
@@ -1,4 +1,4 @@
1
- import { AuthMiddlewareOptions, Client, CorrelationIdMiddlewareOptions, Credentials, ErrorMiddlewareOptions, ExistingTokenMiddlewareOptions, HttpMiddlewareOptions, HttpUserAgentOptions, LoggerMiddlewareOptions, Middleware, PasswordAuthMiddlewareOptions, QueueMiddlewareOptions, RefreshAuthMiddlewareOptions } from "../types/types.js";
1
+ import { AfterExecutionMiddlewareOptions, AuthMiddlewareOptions, BeforeExecutionMiddlewareOptions, Client, ConcurrentModificationMiddlewareOptions, CorrelationIdMiddlewareOptions, Credentials, ExistingTokenMiddlewareOptions, HttpMiddlewareOptions, HttpUserAgentOptions, LoggerMiddlewareOptions, Middleware, PasswordAuthMiddlewareOptions, QueueMiddlewareOptions, RefreshAuthMiddlewareOptions, TelemetryOptions } from "../types/types.js";
2
2
  export default class ClientBuilder {
3
3
  private projectKey;
4
4
  private authMiddleware;
@@ -8,7 +8,9 @@ export default class ClientBuilder {
8
8
  private loggerMiddleware;
9
9
  private queueMiddleware;
10
10
  private concurrentMiddleware;
11
- private errorMiddleware;
11
+ private telemetryMiddleware;
12
+ private beforeMiddleware;
13
+ private afterMiddleware;
12
14
  private middlewares;
13
15
  constructor();
14
16
  withProjectKey(key: string): ClientBuilder;
@@ -25,7 +27,10 @@ export default class ClientBuilder {
25
27
  withQueueMiddleware(options?: QueueMiddlewareOptions): ClientBuilder;
26
28
  withLoggerMiddleware(options?: LoggerMiddlewareOptions): this;
27
29
  withCorrelationIdMiddleware(options?: CorrelationIdMiddlewareOptions): ClientBuilder;
28
- withConcurrentModificationMiddleware(): ClientBuilder;
29
- withErrorMiddleware(options?: ErrorMiddlewareOptions): ClientBuilder;
30
+ withConcurrentModificationMiddleware(options?: ConcurrentModificationMiddlewareOptions): ClientBuilder;
31
+ withTelemetryMiddleware<T extends TelemetryOptions>(options: T): ClientBuilder;
32
+ withBeforeExecutionMiddleware(options: BeforeExecutionMiddlewareOptions): this;
33
+ withAfterExecutionMiddleware(options: AfterExecutionMiddlewareOptions): this;
30
34
  build(): Client;
31
35
  }
36
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +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,3 +1,4 @@
1
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;
4
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"../../../../src/client","sources":["client.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EAMb,SAAS,EACT,cAAc,EACf,0BAAsB;AAmBvB,wBAAgB,OAAO,CACrB,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,SAAS,EACb,UAAU,CAAC,EAAE,cAAc,GAC1B,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAyF/B;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAwDvE"}
@@ -1,2 +1,3 @@
1
1
  export { default as ClientBuilder } from "./builder.js";
2
2
  export { default as createClient, process as Process } from "./client.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/client","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,qBAAiB;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,OAAO,IAAI,OAAO,EAAE,oBAAgB"}
@@ -1,3 +1,4 @@
1
1
  export { ClientBuilder, createClient, Process } from "./client/index.js";
2
2
  export { createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForExistingTokenFlow, createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForRefreshTokenFlow, createConcurrentModificationMiddleware, createCorrelationIdMiddleware, createHttpMiddleware, createLoggerMiddleware, createQueueMiddleware, createUserAgentMiddleware } from "./middleware/index.js";
3
3
  export * from "./types/types.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../src","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,0BAAgB;AAE/D,OAAO,EACH,2CAA2C,EAC3C,4CAA4C,EAC5C,wCAAwC,EACxC,mCAAmC,EACnC,uCAAuC,EACvC,sCAAsC,EACtC,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EAC5B,8BAAoB;AACrB,iCAA+B"}
@@ -1,2 +1,3 @@
1
1
  import { AuthMiddlewareOptions, Middleware } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForAnonymousSessionFlow(options: AuthMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=anonymous-session-flow.d.ts.map
@@ -0,0 +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,EASX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,2CAA2C,CACjE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,CA4CZ"}
@@ -1,2 +1,3 @@
1
1
  import { AuthMiddlewareOptions, Middleware } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForClientCredentialsFlow(options: AuthMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=client-credentials-flow.d.ts.map
@@ -0,0 +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,EASX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,4CAA4C,CAClE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,CA0CZ"}
@@ -1,2 +1,3 @@
1
1
  import { ExistingTokenMiddlewareOptions, Middleware } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForExistingTokenFlow(authorization: string, options?: ExistingTokenMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=existing-token-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"existing-token-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["existing-token-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,UAAU,EAIX,6BAAyB;AAE1B,MAAM,CAAC,OAAO,UAAU,wCAAwC,CAC9D,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,8BAA8B,GACvC,UAAU,CAiCZ"}
@@ -4,3 +4,4 @@ import createAuthMiddlewareForExistingTokenFlow from "./existing-token-flow.js";
4
4
  import createAuthMiddlewareForPasswordFlow from "./password-flow.js";
5
5
  import createAuthMiddlewareForRefreshTokenFlow from "./refresh-token-flow.js";
6
6
  export { createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForRefreshTokenFlow, createAuthMiddlewareForExistingTokenFlow };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,2CAA2C,oCAAgC;AAClF,OAAO,4CAA4C,qCAAiC;AACpF,OAAO,wCAAwC,iCAA6B;AAC5E,OAAO,mCAAmC,2BAAuB;AACjE,OAAO,uCAAuC,gCAA4B;AAE1E,OAAO,EACH,mCAAmC,EACnC,2CAA2C,EAC3C,4CAA4C,EAC5C,uCAAuC,EACvC,wCAAwC,EAC3C,CAAA"}
@@ -1,2 +1,3 @@
1
1
  import { Middleware, PasswordAuthMiddlewareOptions } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForPasswordFlow(options: PasswordAuthMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=password-flow.d.ts.map
@@ -0,0 +1 @@
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,EAI9B,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,mCAAmC,CACzD,OAAO,EAAE,6BAA6B,GACrC,UAAU,CAyCZ"}
@@ -1,2 +1,3 @@
1
1
  import { Middleware, RefreshAuthMiddlewareOptions } from "../../types/types.js";
2
2
  export default function createAuthMiddlewareForRefreshTokenFlow(options: RefreshAuthMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=refresh-token-flow.d.ts.map
@@ -0,0 +1 @@
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,EAI7B,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,uCAAuC,CAC7D,OAAO,EAAE,4BAA4B,GACpC,UAAU,CAsCZ"}
@@ -1,2 +1,4 @@
1
- import { Middleware } from "../types/types.js";
2
- export default function createConcurrentModificationMiddleware(): Middleware;
1
+ /// <reference types="node" />
2
+ import { Middleware, MiddlewareRequest, MiddlewareResponse } from "../types/types.js";
3
+ export default function createConcurrentModificationMiddleware(modifierFunction?: (version: number, request: MiddlewareRequest, response: MiddlewareResponse) => Promise<Record<string, any> | string | Buffer>): Middleware;
4
+ //# sourceMappingURL=create-concurrent-modification-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-concurrent-modification-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-concurrent-modification-middleware.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAEnB,0BAAsB;AAEvB,MAAM,CAAC,OAAO,UAAU,sCAAsC,CAC5D,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,kBAAkB,KACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,GAClD,UAAU,CA8BZ"}
@@ -1,2 +1,3 @@
1
1
  import { CorrelationIdMiddlewareOptions, Middleware } from "../types/types.js";
2
2
  export default function createCorrelationIdMiddleware(options?: CorrelationIdMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=create-correlation-id-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-correlation-id-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-correlation-id-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,UAAU,EAGX,0BAAsB;AAGvB,MAAM,CAAC,OAAO,UAAU,6BAA6B,CACnD,OAAO,CAAC,EAAE,8BAA8B,GACvC,UAAU,CAeZ"}
@@ -1,2 +1,3 @@
1
1
  import { ErrorMiddlewareOptions, Middleware } from "../types/types.js";
2
2
  export default function createErrorMiddleware(options?: ErrorMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=create-error-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-error-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-error-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,UAAU,EAIX,0BAAsB;AAGvB,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,OAAO,CAAC,EAAE,sBAAsB,GAC/B,UAAU,CAmBZ"}
@@ -1,2 +1,3 @@
1
1
  import { HttpMiddlewareOptions, Middleware } from "../types/types.js";
2
2
  export default function createHttpMiddleware(options: HttpMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=create-http-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-http-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-http-middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,qBAAqB,EAGrB,UAAU,EAMX,0BAAsB;AA4HvB,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,OAAO,EAAE,qBAAqB,GAC7B,UAAU,CAwGZ"}
@@ -1,2 +1,3 @@
1
1
  import { LoggerMiddlewareOptions, Middleware } from "../types/types.js";
2
2
  export default function createLoggerMiddleware(options?: LoggerMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=create-logger-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-logger-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-logger-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,UAAU,EAIX,0BAAsB;AAEvB,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,OAAO,CAAC,EAAE,uBAAuB,GAChC,UAAU,CAeZ"}
@@ -1,2 +1,3 @@
1
1
  import { Middleware, QueueMiddlewareOptions } from "../types/types.js";
2
2
  export default function createQueueMiddleware({ concurrency, }: QueueMiddlewareOptions): Middleware;
3
+ //# sourceMappingURL=create-queue-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-queue-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-queue-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAIV,sBAAsB,EAEvB,0BAAsB;AAEvB,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,WAAgB,GACjB,EAAE,sBAAsB,GAAG,UAAU,CAyCrC"}
@@ -1,2 +1,3 @@
1
1
  import { HttpUserAgentOptions, Middleware } from "../types/types.js";
2
2
  export default function createUserAgentMiddleware(options?: HttpUserAgentOptions): Middleware;
3
+ //# sourceMappingURL=create-user-agent-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-user-agent-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-user-agent-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,UAAU,EAIX,0BAAsB;AAGvB,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,UAAU,CAkBZ"}
@@ -6,3 +6,4 @@ export { default as createHttpMiddleware } from "./create-http-middleware.js";
6
6
  export { default as createLoggerMiddleware } from "./create-logger-middleware.js";
7
7
  export { default as createQueueMiddleware } from "./create-queue-middleware.js";
8
8
  export { default as createUserAgentMiddleware } from "./create-user-agent-middleware.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/middleware","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,2CAA2C,EAAE,4CAA4C,EAAE,wCAAwC,EAAE,mCAAmC,EAAE,uCAAuC,EACpN,mCAAyB;AAC1B,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,uDAAmD;AAC/G,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,8CAA0C;AAC7F,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,qCAAiC;AAC5E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,oCAAgC;AAC1E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,sCAAkC;AAC9E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,qCAAiC;AAC5E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,0CAAsC"}
@@ -16,7 +16,7 @@ export type MiddlewareResponse<T = unknown> = {
16
16
  error?: HttpErrorType;
17
17
  statusCode: number;
18
18
  headers?: Record<string, any>
19
- request?: MiddlewareRequest;
19
+ originalRequest?: MiddlewareRequest;
20
20
  }
21
21
 
22
22
  export type HttpErrorType = {
@@ -41,7 +41,7 @@ export interface ClientRequest {
41
41
  uriTemplate?: string
42
42
  pathVariables?: VariableMap
43
43
  queryParams?: VariableMap
44
- body?: string | Buffer
44
+ body?: Record<string, any> | string | Buffer
45
45
  response?: ClientResponse
46
46
  resolve?: Function;
47
47
  reject?: Function;
@@ -111,7 +111,7 @@ export type TokenCacheOptions = {
111
111
 
112
112
  export type TokenStore = {
113
113
  token: string
114
- expirationTime?: number
114
+ expirationTime: number
115
115
  refreshToken?: string
116
116
  tokenCacheKey?: TokenCacheOptions
117
117
  }
@@ -233,14 +233,7 @@ export type HttpOptions = {
233
233
  httpClient: Function
234
234
  }
235
235
 
236
- export type LogLevel = 'INFO' | 'ERROR'
237
-
238
236
  export type LoggerMiddlewareOptions = {
239
- logLevel?: LogLevel
240
- maskSensitiveHeaderData?: boolean
241
- includeOriginalRequest?: boolean
242
- includeResponseHeaders?: boolean
243
- includeRequestInErrorResponse?: boolean
244
237
  loggerFn?: (options: MiddlewareResponse) => void
245
238
  }
246
239
 
@@ -275,11 +268,35 @@ export type ExistingTokenMiddlewareOptions = {
275
268
  force: boolean
276
269
  }
277
270
 
271
+ export type ConcurrentModificationMiddlewareOptions = {
272
+ concurrentModificationHandlerFn?: (
273
+ version: number,
274
+ request: MiddlewareRequest,
275
+ response: MiddlewareResponse
276
+ ) => Promise<Record<string, any> | string | Buffer>
277
+ }
278
+
279
+ export type BeforeExecutionMiddlewareOptions = {
280
+ [key: string]: any;
281
+ middleware: (options?: Omit<BeforeExecutionMiddlewareOptions, 'middleware'>) => Middleware
282
+ }
283
+
284
+ export type AfterExecutionMiddlewareOptions = {
285
+ [key: string]: any;
286
+ middleware: (options?: Omit<AfterExecutionMiddlewareOptions, 'middleware'>) => Middleware
287
+ }
288
+ export type TelemetryOptions = {
289
+ apm?: Function;
290
+ tracer?: Function;
291
+ userAgent?: string;
292
+ createTelemetryMiddleware: (options?: Omit<TelemetryOptions, 'createTelemetryMiddleware'>) => Middleware
293
+ }
294
+
278
295
  export type IClientOptions = {
279
296
  method: MethodType;
280
297
  headers: Record<string, any>
281
298
  credentialsMode?: CredentialsMode;
282
- body?: string | Buffer
299
+ body?: Record<string, any> | string | Buffer
283
300
  timeout?: number
284
301
  abortController?: AbortController
285
302
  includeOriginalRequest?: boolean
@@ -324,6 +341,6 @@ export type SuccessResult = {
324
341
  headers?: JsonObject<string>;
325
342
  }
326
343
 
327
- export type IResponse = Response & { statusCode?: number; data?: object }
344
+ export type IResponse = Response & { statusCode?: number; data?: object }
328
345
 
329
346
  export type executeRequest = (request: ClientRequest) => Promise<ClientResponse>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools/ts-client",
3
- "version": "1.2.1",
3
+ "version": "2.0.0",
4
4
  "engines": {
5
5
  "node": ">=14"
6
6
  },
@@ -56,6 +56,7 @@
56
56
  "scripts": {
57
57
  "organize_imports": "find src -type f -name '*.ts' | xargs organize-imports-cli",
58
58
  "postbuild": "yarn organize_imports",
59
- "post_process_generate": "yarn organize_imports"
59
+ "post_process_generate": "yarn organize_imports",
60
+ "docs": "typedoc --out docs"
60
61
  }
61
62
  }