@commercetools/ts-client 1.2.0 → 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.
- package/CHANGELOG.md +12 -0
- package/README.md +0 -1
- package/dist/commercetools-ts-client.browser.cjs.js +85 -64
- package/dist/commercetools-ts-client.browser.esm.js +85 -64
- package/dist/commercetools-ts-client.cjs.d.ts +1 -1
- package/dist/commercetools-ts-client.cjs.dev.js +85 -64
- package/dist/commercetools-ts-client.cjs.prod.js +85 -64
- package/dist/commercetools-ts-client.esm.js +85 -64
- package/dist/declarations/src/client/builder.d.ts +9 -4
- package/dist/declarations/src/client/builder.d.ts.map +1 -0
- package/dist/declarations/src/client/client.d.ts +1 -0
- package/dist/declarations/src/client/client.d.ts.map +1 -0
- package/dist/declarations/src/client/index.d.ts +1 -0
- package/dist/declarations/src/client/index.d.ts.map +1 -0
- package/dist/declarations/src/index.d.ts +1 -0
- package/dist/declarations/src/index.d.ts.map +1 -0
- package/dist/declarations/src/middleware/auth-middleware/anonymous-session-flow.d.ts +1 -0
- package/dist/declarations/src/middleware/auth-middleware/anonymous-session-flow.d.ts.map +1 -0
- package/dist/declarations/src/middleware/auth-middleware/client-credentials-flow.d.ts +1 -0
- package/dist/declarations/src/middleware/auth-middleware/client-credentials-flow.d.ts.map +1 -0
- package/dist/declarations/src/middleware/auth-middleware/existing-token-flow.d.ts +1 -0
- package/dist/declarations/src/middleware/auth-middleware/existing-token-flow.d.ts.map +1 -0
- package/dist/declarations/src/middleware/auth-middleware/index.d.ts +1 -0
- package/dist/declarations/src/middleware/auth-middleware/index.d.ts.map +1 -0
- package/dist/declarations/src/middleware/auth-middleware/password-flow.d.ts +1 -0
- package/dist/declarations/src/middleware/auth-middleware/password-flow.d.ts.map +1 -0
- package/dist/declarations/src/middleware/auth-middleware/refresh-token-flow.d.ts +1 -0
- package/dist/declarations/src/middleware/auth-middleware/refresh-token-flow.d.ts.map +1 -0
- package/dist/declarations/src/middleware/create-concurrent-modification-middleware.d.ts +4 -2
- package/dist/declarations/src/middleware/create-concurrent-modification-middleware.d.ts.map +1 -0
- package/dist/declarations/src/middleware/create-correlation-id-middleware.d.ts +1 -0
- package/dist/declarations/src/middleware/create-correlation-id-middleware.d.ts.map +1 -0
- package/dist/declarations/src/middleware/create-error-middleware.d.ts +1 -0
- package/dist/declarations/src/middleware/create-error-middleware.d.ts.map +1 -0
- package/dist/declarations/src/middleware/create-http-middleware.d.ts +1 -0
- package/dist/declarations/src/middleware/create-http-middleware.d.ts.map +1 -0
- package/dist/declarations/src/middleware/create-logger-middleware.d.ts +1 -0
- package/dist/declarations/src/middleware/create-logger-middleware.d.ts.map +1 -0
- package/dist/declarations/src/middleware/create-queue-middleware.d.ts +1 -0
- package/dist/declarations/src/middleware/create-queue-middleware.d.ts.map +1 -0
- package/dist/declarations/src/middleware/create-user-agent-middleware.d.ts +1 -0
- package/dist/declarations/src/middleware/create-user-agent-middleware.d.ts.map +1 -0
- package/dist/declarations/src/middleware/index.d.ts +1 -0
- package/dist/declarations/src/middleware/index.d.ts.map +1 -0
- package/dist/declarations/src/types/types.d.ts +29 -12
- package/package.json +6 -5
- package/dist/commercetools-ts-client.cjs.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @commercetools/ts-client
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#708](https://github.com/commercetools/commercetools-sdk-typescript/pull/708) [`e7e5ac7`](https://github.com/commercetools/commercetools-sdk-typescript/commit/e7e5ac73de07a8ce141ec0bc2b2abf492462ec73) Thanks [@lojzatran](https://github.com/lojzatran)! - Make ts-sdk-v3 consistent with v2
|
|
8
|
+
|
|
9
|
+
## 1.2.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#684](https://github.com/commercetools/commercetools-sdk-typescript/pull/684) [`a1b43c0`](https://github.com/commercetools/commercetools-sdk-typescript/commit/a1b43c048fac3eba3d53470314b61d36e74f0a51) Thanks [@ajimae](https://github.com/ajimae)! - Fix bug 'Error not throw' for sdk-client-v3
|
|
14
|
+
|
|
3
15
|
## 1.2.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -78,7 +78,6 @@ const client: Client = new ClientBuilder()
|
|
|
78
78
|
.withHttpMiddleware(httpMiddlewareOptions)
|
|
79
79
|
.withRetryMiddleware(retryOptions)
|
|
80
80
|
.withMiddleware(middleware({})) // <<<------------------- add the custom middleware here
|
|
81
|
-
.withErrorMiddleware({})
|
|
82
81
|
.build()
|
|
83
82
|
|
|
84
83
|
const apiRoot = createApiBuilderFromCtpClient(client)
|
|
@@ -25,7 +25,7 @@ function toPrimitive(t, r) {
|
|
|
25
25
|
|
|
26
26
|
function toPropertyKey(t) {
|
|
27
27
|
var i = toPrimitive(t, "string");
|
|
28
|
-
return "symbol" == typeof i ? i :
|
|
28
|
+
return "symbol" == typeof i ? i : i + "";
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
function _defineProperty(obj, key, value) {
|
|
@@ -331,6 +331,14 @@ function store(initVal) {
|
|
|
331
331
|
};
|
|
332
332
|
}
|
|
333
333
|
|
|
334
|
+
function isDefined(value) {
|
|
335
|
+
return typeof value !== 'undefined' && value !== null;
|
|
336
|
+
}
|
|
337
|
+
function clean(value) {
|
|
338
|
+
if (!isDefined(value)) return '';
|
|
339
|
+
if (typeof value == 'string') return value;
|
|
340
|
+
return Object.fromEntries(Object.entries(value).filter(([_, value]) => ![null, undefined, ''].includes(value)));
|
|
341
|
+
}
|
|
334
342
|
function urlParser(url) {
|
|
335
343
|
const object = {};
|
|
336
344
|
const data = new URLSearchParams(url);
|
|
@@ -344,11 +352,13 @@ function urlParser(url) {
|
|
|
344
352
|
return object;
|
|
345
353
|
}
|
|
346
354
|
function urlStringifier(object) {
|
|
355
|
+
object = clean(object);
|
|
356
|
+
if (!object) return '';
|
|
347
357
|
const params = new URLSearchParams(object);
|
|
348
358
|
for (const [key, value] of Object.entries(object)) {
|
|
349
359
|
if (Array.isArray(value)) {
|
|
350
360
|
params.delete(key);
|
|
351
|
-
value.filter(
|
|
361
|
+
value.filter(isDefined).forEach(v => params.append(key, v));
|
|
352
362
|
}
|
|
353
363
|
}
|
|
354
364
|
return params.toString();
|
|
@@ -357,7 +367,7 @@ function parseURLString(url, parser = urlParser) {
|
|
|
357
367
|
return parser(url);
|
|
358
368
|
}
|
|
359
369
|
function stringifyURLString(object, stringifier = urlStringifier) {
|
|
360
|
-
return
|
|
370
|
+
return stringifier(object);
|
|
361
371
|
}
|
|
362
372
|
|
|
363
373
|
// import { validateUserAgentOptions } from '../utils'
|
|
@@ -904,7 +914,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
|
|
|
904
914
|
};
|
|
905
915
|
}
|
|
906
916
|
|
|
907
|
-
function createConcurrentModificationMiddleware$1() {
|
|
917
|
+
function createConcurrentModificationMiddleware$1(modifierFunction) {
|
|
908
918
|
return next => {
|
|
909
919
|
return async request => {
|
|
910
920
|
const response = await next(request);
|
|
@@ -918,13 +928,17 @@ function createConcurrentModificationMiddleware$1() {
|
|
|
918
928
|
|
|
919
929
|
// update the resource version here
|
|
920
930
|
if (version) {
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
931
|
+
if (modifierFunction) {
|
|
932
|
+
request.body = await modifierFunction(version, request, response);
|
|
933
|
+
} else {
|
|
934
|
+
request.body = typeof request.body == 'string' ? {
|
|
935
|
+
...JSON.parse(request.body),
|
|
936
|
+
version
|
|
937
|
+
} : {
|
|
938
|
+
...request.body,
|
|
939
|
+
version
|
|
940
|
+
};
|
|
941
|
+
}
|
|
928
942
|
return next(request);
|
|
929
943
|
}
|
|
930
944
|
}
|
|
@@ -946,7 +960,7 @@ function createCorrelationIdMiddleware$1(options) {
|
|
|
946
960
|
};
|
|
947
961
|
}
|
|
948
962
|
|
|
949
|
-
function createErrorMiddleware
|
|
963
|
+
function createErrorMiddleware(options) {
|
|
950
964
|
return next => async request => {
|
|
951
965
|
const response = await next(request);
|
|
952
966
|
if (response.error) {
|
|
@@ -978,7 +992,8 @@ async function executeRequest({
|
|
|
978
992
|
request,
|
|
979
993
|
abortController,
|
|
980
994
|
maskSensitiveHeaderData,
|
|
981
|
-
includeRequestInErrorResponse
|
|
995
|
+
includeRequestInErrorResponse,
|
|
996
|
+
includeResponseHeaders
|
|
982
997
|
} = clientOptions;
|
|
983
998
|
try {
|
|
984
999
|
if (timeout) timer = setTimeout(() => {
|
|
@@ -993,6 +1008,9 @@ async function executeRequest({
|
|
|
993
1008
|
body: clientOptions.body
|
|
994
1009
|
} : {})
|
|
995
1010
|
});
|
|
1011
|
+
if (!includeResponseHeaders) {
|
|
1012
|
+
response.headers = null;
|
|
1013
|
+
}
|
|
996
1014
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
997
1015
|
if (clientOptions.method == 'HEAD') {
|
|
998
1016
|
return {
|
|
@@ -1036,7 +1054,7 @@ async function executeRequest({
|
|
|
1036
1054
|
};
|
|
1037
1055
|
} catch (e) {
|
|
1038
1056
|
// We know that this is a network error
|
|
1039
|
-
const headers = getHeaders(e.response?.headers);
|
|
1057
|
+
const headers = includeResponseHeaders ? getHeaders(e.response?.headers) : null;
|
|
1040
1058
|
const statusCode = e.response?.status || e.response?.data0 || 0;
|
|
1041
1059
|
const message = e.response?.data?.message;
|
|
1042
1060
|
const error = createError({
|
|
@@ -1073,7 +1091,8 @@ function createHttpMiddleware$1(options) {
|
|
|
1073
1091
|
retryConfig,
|
|
1074
1092
|
getAbortController,
|
|
1075
1093
|
includeOriginalRequest,
|
|
1076
|
-
includeRequestInErrorResponse,
|
|
1094
|
+
includeRequestInErrorResponse = true,
|
|
1095
|
+
includeResponseHeaders = true,
|
|
1077
1096
|
maskSensitiveHeaderData,
|
|
1078
1097
|
httpClientOptions
|
|
1079
1098
|
} = options;
|
|
@@ -1109,6 +1128,7 @@ function createHttpMiddleware$1(options) {
|
|
|
1109
1128
|
headers: requestHeader,
|
|
1110
1129
|
includeRequestInErrorResponse,
|
|
1111
1130
|
maskSensitiveHeaderData,
|
|
1131
|
+
includeResponseHeaders,
|
|
1112
1132
|
...httpClientOptions
|
|
1113
1133
|
};
|
|
1114
1134
|
if (credentialsMode) {
|
|
@@ -1142,43 +1162,17 @@ function createHttpMiddleware$1(options) {
|
|
|
1142
1162
|
};
|
|
1143
1163
|
}
|
|
1144
1164
|
|
|
1145
|
-
// error, info, success
|
|
1146
1165
|
function createLoggerMiddleware$1(options) {
|
|
1147
1166
|
return next => {
|
|
1148
1167
|
return async request => {
|
|
1149
1168
|
let response = await next(request);
|
|
1150
1169
|
const originalResponse = Object.assign({}, response);
|
|
1151
1170
|
const {
|
|
1152
|
-
loggerFn = console.log
|
|
1153
|
-
// logLevel = 'ERROR',
|
|
1154
|
-
maskSensitiveHeaderData = true,
|
|
1155
|
-
includeOriginalRequest = true,
|
|
1156
|
-
includeResponseHeaders = true
|
|
1157
|
-
// includeRequestInErrorResponse
|
|
1171
|
+
loggerFn = console.log
|
|
1158
1172
|
} = options || {};
|
|
1159
|
-
if (includeOriginalRequest && maskSensitiveHeaderData) {
|
|
1160
|
-
maskAuthData(response.request);
|
|
1161
|
-
}
|
|
1162
|
-
if (!includeOriginalRequest) {
|
|
1163
|
-
const {
|
|
1164
|
-
request,
|
|
1165
|
-
...rest
|
|
1166
|
-
} = response;
|
|
1167
|
-
response = rest;
|
|
1168
|
-
}
|
|
1169
|
-
if (!includeResponseHeaders) {
|
|
1170
|
-
const {
|
|
1171
|
-
headers,
|
|
1172
|
-
...rest
|
|
1173
|
-
} = response;
|
|
1174
|
-
response = rest;
|
|
1175
|
-
}
|
|
1176
1173
|
if (loggerFn && typeof loggerFn == 'function') {
|
|
1177
1174
|
loggerFn(response);
|
|
1178
|
-
// return originalResponse
|
|
1179
1175
|
}
|
|
1180
|
-
|
|
1181
|
-
// console.log({ Response: response })
|
|
1182
1176
|
return originalResponse;
|
|
1183
1177
|
};
|
|
1184
1178
|
};
|
|
@@ -1230,7 +1224,7 @@ function createQueueMiddleware$1({
|
|
|
1230
1224
|
|
|
1231
1225
|
var packageJson = {
|
|
1232
1226
|
name: "@commercetools/ts-client",
|
|
1233
|
-
version: "
|
|
1227
|
+
version: "2.0.0",
|
|
1234
1228
|
engines: {
|
|
1235
1229
|
node: ">=14"
|
|
1236
1230
|
},
|
|
@@ -1266,7 +1260,7 @@ var packageJson = {
|
|
|
1266
1260
|
"abort-controller": "3.0.0",
|
|
1267
1261
|
buffer: "^6.0.3",
|
|
1268
1262
|
"node-fetch": "^2.6.1",
|
|
1269
|
-
uuid: "9.0.
|
|
1263
|
+
uuid: "9.0.1"
|
|
1270
1264
|
},
|
|
1271
1265
|
files: [
|
|
1272
1266
|
"dist",
|
|
@@ -1281,15 +1275,16 @@ var packageJson = {
|
|
|
1281
1275
|
},
|
|
1282
1276
|
devDependencies: {
|
|
1283
1277
|
"common-tags": "1.8.2",
|
|
1284
|
-
dotenv: "16.
|
|
1285
|
-
jest: "29.
|
|
1278
|
+
dotenv: "16.4.5",
|
|
1279
|
+
jest: "29.7.0",
|
|
1286
1280
|
nock: "12.0.3",
|
|
1287
1281
|
"organize-imports-cli": "0.10.0"
|
|
1288
1282
|
},
|
|
1289
1283
|
scripts: {
|
|
1290
1284
|
organize_imports: "find src -type f -name '*.ts' | xargs organize-imports-cli",
|
|
1291
1285
|
postbuild: "yarn organize_imports",
|
|
1292
|
-
post_process_generate: "yarn organize_imports"
|
|
1286
|
+
post_process_generate: "yarn organize_imports",
|
|
1287
|
+
docs: "typedoc --out docs"
|
|
1293
1288
|
}
|
|
1294
1289
|
};
|
|
1295
1290
|
|
|
@@ -1297,7 +1292,7 @@ function createUserAgentMiddleware$1(options) {
|
|
|
1297
1292
|
return next => async request => {
|
|
1298
1293
|
const userAgent = createUserAgent({
|
|
1299
1294
|
...options,
|
|
1300
|
-
name:
|
|
1295
|
+
name: `${options.name ? options.name + '/' : ''}commercetools-sdk-javascript-v3/${packageJson.version}`
|
|
1301
1296
|
});
|
|
1302
1297
|
const requestWithUserAgent = {
|
|
1303
1298
|
...request,
|
|
@@ -1319,7 +1314,7 @@ var middleware = /*#__PURE__*/Object.freeze({
|
|
|
1319
1314
|
createAuthMiddlewareForRefreshTokenFlow: createAuthMiddlewareForRefreshTokenFlow$1,
|
|
1320
1315
|
createConcurrentModificationMiddleware: createConcurrentModificationMiddleware$1,
|
|
1321
1316
|
createCorrelationIdMiddleware: createCorrelationIdMiddleware$1,
|
|
1322
|
-
createErrorMiddleware: createErrorMiddleware
|
|
1317
|
+
createErrorMiddleware: createErrorMiddleware,
|
|
1323
1318
|
createHttpMiddleware: createHttpMiddleware$1,
|
|
1324
1319
|
createLoggerMiddleware: createLoggerMiddleware$1,
|
|
1325
1320
|
createQueueMiddleware: createQueueMiddleware$1,
|
|
@@ -1462,7 +1457,13 @@ function createClient(middlewares) {
|
|
|
1462
1457
|
reject,
|
|
1463
1458
|
resolve,
|
|
1464
1459
|
...request
|
|
1465
|
-
}).then(
|
|
1460
|
+
}).then(res => {
|
|
1461
|
+
if (res.error) {
|
|
1462
|
+
reject(res.error);
|
|
1463
|
+
} else {
|
|
1464
|
+
resolve(res);
|
|
1465
|
+
}
|
|
1466
|
+
}).catch(reject);
|
|
1466
1467
|
});
|
|
1467
1468
|
}
|
|
1468
1469
|
};
|
|
@@ -1479,8 +1480,7 @@ const {
|
|
|
1479
1480
|
createLoggerMiddleware,
|
|
1480
1481
|
createQueueMiddleware,
|
|
1481
1482
|
createUserAgentMiddleware,
|
|
1482
|
-
createConcurrentModificationMiddleware
|
|
1483
|
-
createErrorMiddleware
|
|
1483
|
+
createConcurrentModificationMiddleware
|
|
1484
1484
|
} = middleware;
|
|
1485
1485
|
class ClientBuilder {
|
|
1486
1486
|
constructor() {
|
|
@@ -1492,7 +1492,9 @@ class ClientBuilder {
|
|
|
1492
1492
|
_defineProperty(this, "loggerMiddleware", void 0);
|
|
1493
1493
|
_defineProperty(this, "queueMiddleware", void 0);
|
|
1494
1494
|
_defineProperty(this, "concurrentMiddleware", void 0);
|
|
1495
|
-
_defineProperty(this, "
|
|
1495
|
+
_defineProperty(this, "telemetryMiddleware", void 0);
|
|
1496
|
+
_defineProperty(this, "beforeMiddleware", void 0);
|
|
1497
|
+
_defineProperty(this, "afterMiddleware", void 0);
|
|
1496
1498
|
_defineProperty(this, "middlewares", []);
|
|
1497
1499
|
this.userAgentMiddleware = createUserAgentMiddleware({});
|
|
1498
1500
|
}
|
|
@@ -1611,30 +1613,49 @@ class ClientBuilder {
|
|
|
1611
1613
|
});
|
|
1612
1614
|
return this;
|
|
1613
1615
|
}
|
|
1614
|
-
withConcurrentModificationMiddleware() {
|
|
1615
|
-
this.concurrentMiddleware = createConcurrentModificationMiddleware();
|
|
1616
|
+
withConcurrentModificationMiddleware(options) {
|
|
1617
|
+
this.concurrentMiddleware = createConcurrentModificationMiddleware(options?.concurrentModificationHandlerFn);
|
|
1616
1618
|
return this;
|
|
1617
1619
|
}
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
+
withTelemetryMiddleware(options) {
|
|
1621
|
+
const {
|
|
1622
|
+
createTelemetryMiddleware,
|
|
1623
|
+
...rest
|
|
1624
|
+
} = options;
|
|
1625
|
+
this.withUserAgentMiddleware({
|
|
1626
|
+
customAgent: rest?.userAgent || 'typescript-sdk-apm-middleware'
|
|
1627
|
+
});
|
|
1628
|
+
this.telemetryMiddleware = createTelemetryMiddleware(rest);
|
|
1629
|
+
return this;
|
|
1630
|
+
}
|
|
1631
|
+
withBeforeExecutionMiddleware(options) {
|
|
1632
|
+
const {
|
|
1633
|
+
middleware,
|
|
1634
|
+
...rest
|
|
1635
|
+
} = options || {};
|
|
1636
|
+
this.beforeMiddleware = options.middleware(rest);
|
|
1637
|
+
return this;
|
|
1638
|
+
}
|
|
1639
|
+
withAfterExecutionMiddleware(options) {
|
|
1640
|
+
const {
|
|
1641
|
+
middleware,
|
|
1642
|
+
...rest
|
|
1643
|
+
} = options || {};
|
|
1644
|
+
this.afterMiddleware = options.middleware(rest);
|
|
1620
1645
|
return this;
|
|
1621
1646
|
}
|
|
1622
1647
|
build() {
|
|
1623
1648
|
const middlewares = this.middlewares.slice();
|
|
1624
|
-
|
|
1625
|
-
/**
|
|
1626
|
-
* - use default retry policy if not explicity added
|
|
1627
|
-
* - add retry middleware to be used by concurrent modification
|
|
1628
|
-
* middleware if not explicitly added as part of the middleware
|
|
1629
|
-
*/
|
|
1649
|
+
if (this.telemetryMiddleware) middlewares.push(this.telemetryMiddleware);
|
|
1630
1650
|
if (this.correlationIdMiddleware) middlewares.push(this.correlationIdMiddleware);
|
|
1631
1651
|
if (this.userAgentMiddleware) middlewares.push(this.userAgentMiddleware);
|
|
1632
1652
|
if (this.authMiddleware) middlewares.push(this.authMiddleware);
|
|
1653
|
+
if (this.beforeMiddleware) middlewares.push(this.beforeMiddleware);
|
|
1633
1654
|
if (this.queueMiddleware) middlewares.push(this.queueMiddleware);
|
|
1634
1655
|
if (this.loggerMiddleware) middlewares.push(this.loggerMiddleware);
|
|
1635
|
-
if (this.errorMiddleware) middlewares.push(this.errorMiddleware);
|
|
1636
1656
|
if (this.concurrentMiddleware) middlewares.push(this.concurrentMiddleware);
|
|
1637
1657
|
if (this.httpMiddleware) middlewares.push(this.httpMiddleware);
|
|
1658
|
+
if (this.afterMiddleware) middlewares.push(this.afterMiddleware);
|
|
1638
1659
|
return createClient({
|
|
1639
1660
|
middlewares
|
|
1640
1661
|
});
|
|
@@ -16,7 +16,7 @@ function toPrimitive(t, r) {
|
|
|
16
16
|
|
|
17
17
|
function toPropertyKey(t) {
|
|
18
18
|
var i = toPrimitive(t, "string");
|
|
19
|
-
return "symbol" == typeof i ? i :
|
|
19
|
+
return "symbol" == typeof i ? i : i + "";
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
function _defineProperty(obj, key, value) {
|
|
@@ -322,6 +322,14 @@ function store(initVal) {
|
|
|
322
322
|
};
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
+
function isDefined(value) {
|
|
326
|
+
return typeof value !== 'undefined' && value !== null;
|
|
327
|
+
}
|
|
328
|
+
function clean(value) {
|
|
329
|
+
if (!isDefined(value)) return '';
|
|
330
|
+
if (typeof value == 'string') return value;
|
|
331
|
+
return Object.fromEntries(Object.entries(value).filter(([_, value]) => ![null, undefined, ''].includes(value)));
|
|
332
|
+
}
|
|
325
333
|
function urlParser(url) {
|
|
326
334
|
const object = {};
|
|
327
335
|
const data = new URLSearchParams(url);
|
|
@@ -335,11 +343,13 @@ function urlParser(url) {
|
|
|
335
343
|
return object;
|
|
336
344
|
}
|
|
337
345
|
function urlStringifier(object) {
|
|
346
|
+
object = clean(object);
|
|
347
|
+
if (!object) return '';
|
|
338
348
|
const params = new URLSearchParams(object);
|
|
339
349
|
for (const [key, value] of Object.entries(object)) {
|
|
340
350
|
if (Array.isArray(value)) {
|
|
341
351
|
params.delete(key);
|
|
342
|
-
value.filter(
|
|
352
|
+
value.filter(isDefined).forEach(v => params.append(key, v));
|
|
343
353
|
}
|
|
344
354
|
}
|
|
345
355
|
return params.toString();
|
|
@@ -348,7 +358,7 @@ function parseURLString(url, parser = urlParser) {
|
|
|
348
358
|
return parser(url);
|
|
349
359
|
}
|
|
350
360
|
function stringifyURLString(object, stringifier = urlStringifier) {
|
|
351
|
-
return
|
|
361
|
+
return stringifier(object);
|
|
352
362
|
}
|
|
353
363
|
|
|
354
364
|
// import { validateUserAgentOptions } from '../utils'
|
|
@@ -895,7 +905,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
|
|
|
895
905
|
};
|
|
896
906
|
}
|
|
897
907
|
|
|
898
|
-
function createConcurrentModificationMiddleware$1() {
|
|
908
|
+
function createConcurrentModificationMiddleware$1(modifierFunction) {
|
|
899
909
|
return next => {
|
|
900
910
|
return async request => {
|
|
901
911
|
const response = await next(request);
|
|
@@ -909,13 +919,17 @@ function createConcurrentModificationMiddleware$1() {
|
|
|
909
919
|
|
|
910
920
|
// update the resource version here
|
|
911
921
|
if (version) {
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
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
|
+
}
|
|
919
933
|
return next(request);
|
|
920
934
|
}
|
|
921
935
|
}
|
|
@@ -937,7 +951,7 @@ function createCorrelationIdMiddleware$1(options) {
|
|
|
937
951
|
};
|
|
938
952
|
}
|
|
939
953
|
|
|
940
|
-
function createErrorMiddleware
|
|
954
|
+
function createErrorMiddleware(options) {
|
|
941
955
|
return next => async request => {
|
|
942
956
|
const response = await next(request);
|
|
943
957
|
if (response.error) {
|
|
@@ -969,7 +983,8 @@ async function executeRequest({
|
|
|
969
983
|
request,
|
|
970
984
|
abortController,
|
|
971
985
|
maskSensitiveHeaderData,
|
|
972
|
-
includeRequestInErrorResponse
|
|
986
|
+
includeRequestInErrorResponse,
|
|
987
|
+
includeResponseHeaders
|
|
973
988
|
} = clientOptions;
|
|
974
989
|
try {
|
|
975
990
|
if (timeout) timer = setTimeout(() => {
|
|
@@ -984,6 +999,9 @@ async function executeRequest({
|
|
|
984
999
|
body: clientOptions.body
|
|
985
1000
|
} : {})
|
|
986
1001
|
});
|
|
1002
|
+
if (!includeResponseHeaders) {
|
|
1003
|
+
response.headers = null;
|
|
1004
|
+
}
|
|
987
1005
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
988
1006
|
if (clientOptions.method == 'HEAD') {
|
|
989
1007
|
return {
|
|
@@ -1027,7 +1045,7 @@ async function executeRequest({
|
|
|
1027
1045
|
};
|
|
1028
1046
|
} catch (e) {
|
|
1029
1047
|
// We know that this is a network error
|
|
1030
|
-
const headers = getHeaders(e.response?.headers);
|
|
1048
|
+
const headers = includeResponseHeaders ? getHeaders(e.response?.headers) : null;
|
|
1031
1049
|
const statusCode = e.response?.status || e.response?.data0 || 0;
|
|
1032
1050
|
const message = e.response?.data?.message;
|
|
1033
1051
|
const error = createError({
|
|
@@ -1064,7 +1082,8 @@ function createHttpMiddleware$1(options) {
|
|
|
1064
1082
|
retryConfig,
|
|
1065
1083
|
getAbortController,
|
|
1066
1084
|
includeOriginalRequest,
|
|
1067
|
-
includeRequestInErrorResponse,
|
|
1085
|
+
includeRequestInErrorResponse = true,
|
|
1086
|
+
includeResponseHeaders = true,
|
|
1068
1087
|
maskSensitiveHeaderData,
|
|
1069
1088
|
httpClientOptions
|
|
1070
1089
|
} = options;
|
|
@@ -1100,6 +1119,7 @@ function createHttpMiddleware$1(options) {
|
|
|
1100
1119
|
headers: requestHeader,
|
|
1101
1120
|
includeRequestInErrorResponse,
|
|
1102
1121
|
maskSensitiveHeaderData,
|
|
1122
|
+
includeResponseHeaders,
|
|
1103
1123
|
...httpClientOptions
|
|
1104
1124
|
};
|
|
1105
1125
|
if (credentialsMode) {
|
|
@@ -1133,43 +1153,17 @@ function createHttpMiddleware$1(options) {
|
|
|
1133
1153
|
};
|
|
1134
1154
|
}
|
|
1135
1155
|
|
|
1136
|
-
// error, info, success
|
|
1137
1156
|
function createLoggerMiddleware$1(options) {
|
|
1138
1157
|
return next => {
|
|
1139
1158
|
return async request => {
|
|
1140
1159
|
let response = await next(request);
|
|
1141
1160
|
const originalResponse = Object.assign({}, response);
|
|
1142
1161
|
const {
|
|
1143
|
-
loggerFn = console.log
|
|
1144
|
-
// logLevel = 'ERROR',
|
|
1145
|
-
maskSensitiveHeaderData = true,
|
|
1146
|
-
includeOriginalRequest = true,
|
|
1147
|
-
includeResponseHeaders = true
|
|
1148
|
-
// includeRequestInErrorResponse
|
|
1162
|
+
loggerFn = console.log
|
|
1149
1163
|
} = options || {};
|
|
1150
|
-
if (includeOriginalRequest && maskSensitiveHeaderData) {
|
|
1151
|
-
maskAuthData(response.request);
|
|
1152
|
-
}
|
|
1153
|
-
if (!includeOriginalRequest) {
|
|
1154
|
-
const {
|
|
1155
|
-
request,
|
|
1156
|
-
...rest
|
|
1157
|
-
} = response;
|
|
1158
|
-
response = rest;
|
|
1159
|
-
}
|
|
1160
|
-
if (!includeResponseHeaders) {
|
|
1161
|
-
const {
|
|
1162
|
-
headers,
|
|
1163
|
-
...rest
|
|
1164
|
-
} = response;
|
|
1165
|
-
response = rest;
|
|
1166
|
-
}
|
|
1167
1164
|
if (loggerFn && typeof loggerFn == 'function') {
|
|
1168
1165
|
loggerFn(response);
|
|
1169
|
-
// return originalResponse
|
|
1170
1166
|
}
|
|
1171
|
-
|
|
1172
|
-
// console.log({ Response: response })
|
|
1173
1167
|
return originalResponse;
|
|
1174
1168
|
};
|
|
1175
1169
|
};
|
|
@@ -1221,7 +1215,7 @@ function createQueueMiddleware$1({
|
|
|
1221
1215
|
|
|
1222
1216
|
var packageJson = {
|
|
1223
1217
|
name: "@commercetools/ts-client",
|
|
1224
|
-
version: "
|
|
1218
|
+
version: "2.0.0",
|
|
1225
1219
|
engines: {
|
|
1226
1220
|
node: ">=14"
|
|
1227
1221
|
},
|
|
@@ -1257,7 +1251,7 @@ var packageJson = {
|
|
|
1257
1251
|
"abort-controller": "3.0.0",
|
|
1258
1252
|
buffer: "^6.0.3",
|
|
1259
1253
|
"node-fetch": "^2.6.1",
|
|
1260
|
-
uuid: "9.0.
|
|
1254
|
+
uuid: "9.0.1"
|
|
1261
1255
|
},
|
|
1262
1256
|
files: [
|
|
1263
1257
|
"dist",
|
|
@@ -1272,15 +1266,16 @@ var packageJson = {
|
|
|
1272
1266
|
},
|
|
1273
1267
|
devDependencies: {
|
|
1274
1268
|
"common-tags": "1.8.2",
|
|
1275
|
-
dotenv: "16.
|
|
1276
|
-
jest: "29.
|
|
1269
|
+
dotenv: "16.4.5",
|
|
1270
|
+
jest: "29.7.0",
|
|
1277
1271
|
nock: "12.0.3",
|
|
1278
1272
|
"organize-imports-cli": "0.10.0"
|
|
1279
1273
|
},
|
|
1280
1274
|
scripts: {
|
|
1281
1275
|
organize_imports: "find src -type f -name '*.ts' | xargs organize-imports-cli",
|
|
1282
1276
|
postbuild: "yarn organize_imports",
|
|
1283
|
-
post_process_generate: "yarn organize_imports"
|
|
1277
|
+
post_process_generate: "yarn organize_imports",
|
|
1278
|
+
docs: "typedoc --out docs"
|
|
1284
1279
|
}
|
|
1285
1280
|
};
|
|
1286
1281
|
|
|
@@ -1288,7 +1283,7 @@ function createUserAgentMiddleware$1(options) {
|
|
|
1288
1283
|
return next => async request => {
|
|
1289
1284
|
const userAgent = createUserAgent({
|
|
1290
1285
|
...options,
|
|
1291
|
-
name:
|
|
1286
|
+
name: `${options.name ? options.name + '/' : ''}commercetools-sdk-javascript-v3/${packageJson.version}`
|
|
1292
1287
|
});
|
|
1293
1288
|
const requestWithUserAgent = {
|
|
1294
1289
|
...request,
|
|
@@ -1310,7 +1305,7 @@ var middleware = /*#__PURE__*/Object.freeze({
|
|
|
1310
1305
|
createAuthMiddlewareForRefreshTokenFlow: createAuthMiddlewareForRefreshTokenFlow$1,
|
|
1311
1306
|
createConcurrentModificationMiddleware: createConcurrentModificationMiddleware$1,
|
|
1312
1307
|
createCorrelationIdMiddleware: createCorrelationIdMiddleware$1,
|
|
1313
|
-
createErrorMiddleware: createErrorMiddleware
|
|
1308
|
+
createErrorMiddleware: createErrorMiddleware,
|
|
1314
1309
|
createHttpMiddleware: createHttpMiddleware$1,
|
|
1315
1310
|
createLoggerMiddleware: createLoggerMiddleware$1,
|
|
1316
1311
|
createQueueMiddleware: createQueueMiddleware$1,
|
|
@@ -1453,7 +1448,13 @@ function createClient(middlewares) {
|
|
|
1453
1448
|
reject,
|
|
1454
1449
|
resolve,
|
|
1455
1450
|
...request
|
|
1456
|
-
}).then(
|
|
1451
|
+
}).then(res => {
|
|
1452
|
+
if (res.error) {
|
|
1453
|
+
reject(res.error);
|
|
1454
|
+
} else {
|
|
1455
|
+
resolve(res);
|
|
1456
|
+
}
|
|
1457
|
+
}).catch(reject);
|
|
1457
1458
|
});
|
|
1458
1459
|
}
|
|
1459
1460
|
};
|
|
@@ -1470,8 +1471,7 @@ const {
|
|
|
1470
1471
|
createLoggerMiddleware,
|
|
1471
1472
|
createQueueMiddleware,
|
|
1472
1473
|
createUserAgentMiddleware,
|
|
1473
|
-
createConcurrentModificationMiddleware
|
|
1474
|
-
createErrorMiddleware
|
|
1474
|
+
createConcurrentModificationMiddleware
|
|
1475
1475
|
} = middleware;
|
|
1476
1476
|
class ClientBuilder {
|
|
1477
1477
|
constructor() {
|
|
@@ -1483,7 +1483,9 @@ class ClientBuilder {
|
|
|
1483
1483
|
_defineProperty(this, "loggerMiddleware", void 0);
|
|
1484
1484
|
_defineProperty(this, "queueMiddleware", void 0);
|
|
1485
1485
|
_defineProperty(this, "concurrentMiddleware", void 0);
|
|
1486
|
-
_defineProperty(this, "
|
|
1486
|
+
_defineProperty(this, "telemetryMiddleware", void 0);
|
|
1487
|
+
_defineProperty(this, "beforeMiddleware", void 0);
|
|
1488
|
+
_defineProperty(this, "afterMiddleware", void 0);
|
|
1487
1489
|
_defineProperty(this, "middlewares", []);
|
|
1488
1490
|
this.userAgentMiddleware = createUserAgentMiddleware({});
|
|
1489
1491
|
}
|
|
@@ -1602,30 +1604,49 @@ class ClientBuilder {
|
|
|
1602
1604
|
});
|
|
1603
1605
|
return this;
|
|
1604
1606
|
}
|
|
1605
|
-
withConcurrentModificationMiddleware() {
|
|
1606
|
-
this.concurrentMiddleware = createConcurrentModificationMiddleware();
|
|
1607
|
+
withConcurrentModificationMiddleware(options) {
|
|
1608
|
+
this.concurrentMiddleware = createConcurrentModificationMiddleware(options?.concurrentModificationHandlerFn);
|
|
1607
1609
|
return this;
|
|
1608
1610
|
}
|
|
1609
|
-
|
|
1610
|
-
|
|
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);
|
|
1611
1636
|
return this;
|
|
1612
1637
|
}
|
|
1613
1638
|
build() {
|
|
1614
1639
|
const middlewares = this.middlewares.slice();
|
|
1615
|
-
|
|
1616
|
-
/**
|
|
1617
|
-
* - use default retry policy if not explicity added
|
|
1618
|
-
* - add retry middleware to be used by concurrent modification
|
|
1619
|
-
* middleware if not explicitly added as part of the middleware
|
|
1620
|
-
*/
|
|
1640
|
+
if (this.telemetryMiddleware) middlewares.push(this.telemetryMiddleware);
|
|
1621
1641
|
if (this.correlationIdMiddleware) middlewares.push(this.correlationIdMiddleware);
|
|
1622
1642
|
if (this.userAgentMiddleware) middlewares.push(this.userAgentMiddleware);
|
|
1623
1643
|
if (this.authMiddleware) middlewares.push(this.authMiddleware);
|
|
1644
|
+
if (this.beforeMiddleware) middlewares.push(this.beforeMiddleware);
|
|
1624
1645
|
if (this.queueMiddleware) middlewares.push(this.queueMiddleware);
|
|
1625
1646
|
if (this.loggerMiddleware) middlewares.push(this.loggerMiddleware);
|
|
1626
|
-
if (this.errorMiddleware) middlewares.push(this.errorMiddleware);
|
|
1627
1647
|
if (this.concurrentMiddleware) middlewares.push(this.concurrentMiddleware);
|
|
1628
1648
|
if (this.httpMiddleware) middlewares.push(this.httpMiddleware);
|
|
1649
|
+
if (this.afterMiddleware) middlewares.push(this.afterMiddleware);
|
|
1629
1650
|
return createClient({
|
|
1630
1651
|
middlewares
|
|
1631
1652
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from "./declarations/src/index";
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVyY2V0b29scy10cy1jbGllbnQuY2pzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuL2RlY2xhcmF0aW9ucy9zcmMvaW5kZXguZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSJ9
|