@commercetools/sdk-client-v2 2.1.6 → 2.2.1
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 +17 -0
- package/dist/commercetools-sdk-client-v2.browser.cjs.js +32 -18
- package/dist/commercetools-sdk-client-v2.browser.esm.js +32 -18
- package/dist/commercetools-sdk-client-v2.cjs.d.ts +1 -0
- package/dist/commercetools-sdk-client-v2.cjs.d.ts.map +1 -0
- package/dist/commercetools-sdk-client-v2.cjs.dev.js +32 -18
- package/dist/commercetools-sdk-client-v2.cjs.prod.js +32 -18
- package/dist/commercetools-sdk-client-v2.esm.js +32 -18
- package/dist/commercetools-sdk-client-v2.umd.js +1 -1
- package/dist/declarations/src/client-builder/ClientBuilder.d.ts +3 -1
- package/dist/declarations/src/index.d.ts +14 -14
- package/dist/declarations/src/sdk-client/client.d.ts +1 -1
- package/dist/declarations/src/sdk-middleware-auth/anonymous-session-flow.d.ts +1 -1
- package/dist/declarations/src/sdk-middleware-auth/client-credentials-flow.d.ts +1 -1
- package/dist/declarations/src/sdk-middleware-auth/existing-token.d.ts +1 -1
- package/dist/declarations/src/sdk-middleware-auth/password-flow.d.ts +1 -1
- package/dist/declarations/src/sdk-middleware-auth/refresh-token-flow.d.ts +1 -1
- package/dist/declarations/src/sdk-middleware-correlation-id/correlation-id.d.ts +1 -1
- package/dist/declarations/src/sdk-middleware-http/http.d.ts +2 -2
- package/dist/declarations/src/sdk-middleware-logger/logger.d.ts +1 -1
- package/dist/declarations/src/sdk-middleware-queue/queue.d.ts +1 -1
- package/dist/declarations/src/sdk-middleware-user-agent/user-agent.d.ts +1 -1
- package/dist/declarations/src/types/sdk.d.ts +15 -3
- package/package.json +3 -3
- package/dist/declarations/src/http-user-agent/create-user-agent.d.ts +0 -2
- package/dist/declarations/src/sdk-client/allowed-methods.d.ts +0 -2
- package/dist/declarations/src/sdk-client/validate.d.ts +0 -7
- package/dist/declarations/src/sdk-middleware-auth/base-auth-flow.d.ts +0 -2
- package/dist/declarations/src/sdk-middleware-auth/build-requests.d.ts +0 -11
- package/dist/declarations/src/sdk-middleware-auth/build-token-cache-key.d.ts +0 -2
- package/dist/declarations/src/sdk-middleware-auth/index.d.ts +0 -5
- package/dist/declarations/src/sdk-middleware-auth/utils.d.ts +0 -2
- package/dist/declarations/src/sdk-middleware-http/parse-headers.d.ts +0 -2
- package/dist/declarations/src/utils/index.d.ts +0 -1
- package/dist/declarations/src/utils/url.d.ts +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @commercetools/sdk-client-v2
|
|
2
2
|
|
|
3
|
+
## 2.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#548](https://github.com/commercetools/commercetools-sdk-typescript/pull/548) [`510838c`](https://github.com/commercetools/commercetools-sdk-typescript/commit/510838cdb1cd5e45f89022ad825a7688d419f2e0) Thanks [@ajimae](https://github.com/ajimae)! - add headersWithStringBody option to httpMiddlewareOptions
|
|
8
|
+
|
|
9
|
+
## 2.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#458](https://github.com/commercetools/commercetools-sdk-typescript/pull/458) [`c2bf0a5`](https://github.com/commercetools/commercetools-sdk-typescript/commit/c2bf0a5cac18fdcf181dacc8c6714eb760704523) Thanks [@ajimae](https://github.com/ajimae)! - Introduce (newrelic) application performance monitoring
|
|
14
|
+
|
|
15
|
+
- [#458](https://github.com/commercetools/commercetools-sdk-typescript/pull/458) [`c2bf0a5`](https://github.com/commercetools/commercetools-sdk-typescript/commit/c2bf0a5cac18fdcf181dacc8c6714eb760704523) Thanks [@ajimae](https://github.com/ajimae)! - - add newrelic `APM` (application performance monitoring) to the sdk
|
|
16
|
+
- add `withTelemetryMiddleware()` middleware creator method to ClientBuilder class
|
|
17
|
+
- add basic `newrelic` application configuration module
|
|
18
|
+
- add examples to repository example folder to demonstrate how this feature can be used
|
|
19
|
+
|
|
3
20
|
## 2.1.6
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -40,19 +40,6 @@ function _defineProperty(obj, key, value) {
|
|
|
40
40
|
return obj;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* @throws {Error}
|
|
47
|
-
*/
|
|
48
|
-
function validate(funcName, request, options = {
|
|
49
|
-
allowedMethods: METHODS
|
|
50
|
-
}) {
|
|
51
|
-
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
52
|
-
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
53
|
-
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
43
|
function urlParser(url) {
|
|
57
44
|
const object = {};
|
|
58
45
|
const data = new URLSearchParams(url);
|
|
@@ -69,6 +56,19 @@ function parseURLString(url, parser = urlParser) {
|
|
|
69
56
|
return parser(url);
|
|
70
57
|
}
|
|
71
58
|
|
|
59
|
+
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @throws {Error}
|
|
63
|
+
*/
|
|
64
|
+
function validate(funcName, request, options = {
|
|
65
|
+
allowedMethods: METHODS
|
|
66
|
+
}) {
|
|
67
|
+
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
68
|
+
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
69
|
+
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
72
|
let _options;
|
|
73
73
|
function compose(...funcs) {
|
|
74
74
|
funcs = funcs.filter(func => typeof func === 'function');
|
|
@@ -765,6 +765,7 @@ function createHttpMiddleware({
|
|
|
765
765
|
includeOriginalRequest,
|
|
766
766
|
includeRequestInErrorResponse = true,
|
|
767
767
|
maskSensitiveHeaderData = true,
|
|
768
|
+
headersWithStringBody = [],
|
|
768
769
|
enableRetry,
|
|
769
770
|
timeout,
|
|
770
771
|
retryConfig: {
|
|
@@ -795,6 +796,9 @@ function createHttpMiddleware({
|
|
|
795
796
|
if (!Array.isArray(retryCodes)) {
|
|
796
797
|
throw new Error('`retryCodes` option must be an array of retry status (error) codes.');
|
|
797
798
|
}
|
|
799
|
+
if (!Array.isArray(headersWithStringBody)) {
|
|
800
|
+
throw new Error('`headersWithStringBody` option must be an array of strings');
|
|
801
|
+
}
|
|
798
802
|
return next => (request, response) => {
|
|
799
803
|
const url = host.replace(/\/$/, '') + request.uri;
|
|
800
804
|
const requestHeader = {
|
|
@@ -811,8 +815,8 @@ function createHttpMiddleware({
|
|
|
811
815
|
delete requestHeader['Content-Type'];
|
|
812
816
|
}
|
|
813
817
|
|
|
814
|
-
// Ensure body is a string if content type is application/json
|
|
815
|
-
const body = ['application/json', 'application/graphql'].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
818
|
+
// Ensure body is a string if content type is application/json or application/graphql
|
|
819
|
+
const body = ['application/json', 'application/graphql', ...headersWithStringBody].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
816
820
|
if (body && (typeof body === 'string' || isBuffer(body))) {
|
|
817
821
|
requestHeader['Content-Length'] = _.Buffer.byteLength(body).toString();
|
|
818
822
|
}
|
|
@@ -1039,7 +1043,7 @@ function createQueueMiddleware({
|
|
|
1039
1043
|
|
|
1040
1044
|
var packageJson = {
|
|
1041
1045
|
name: "@commercetools/sdk-client-v2",
|
|
1042
|
-
version: "2.1
|
|
1046
|
+
version: "2.2.1",
|
|
1043
1047
|
engines: {
|
|
1044
1048
|
node: ">=14"
|
|
1045
1049
|
},
|
|
@@ -1089,8 +1093,8 @@ var packageJson = {
|
|
|
1089
1093
|
devDependencies: {
|
|
1090
1094
|
"abort-controller": "3.0.0",
|
|
1091
1095
|
"common-tags": "1.8.2",
|
|
1092
|
-
dotenv: "16.
|
|
1093
|
-
jest: "29.
|
|
1096
|
+
dotenv: "16.3.1",
|
|
1097
|
+
jest: "29.6.2",
|
|
1094
1098
|
nock: "12.0.3",
|
|
1095
1099
|
"organize-imports-cli": "0.10.0"
|
|
1096
1100
|
},
|
|
@@ -1174,6 +1178,7 @@ class ClientBuilder {
|
|
|
1174
1178
|
_defineProperty(this, "correlationIdMiddleware", void 0);
|
|
1175
1179
|
_defineProperty(this, "loggerMiddleware", void 0);
|
|
1176
1180
|
_defineProperty(this, "queueMiddleware", void 0);
|
|
1181
|
+
_defineProperty(this, "telemetryMiddleware", void 0);
|
|
1177
1182
|
_defineProperty(this, "middlewares", []);
|
|
1178
1183
|
}
|
|
1179
1184
|
withProjectKey(key) {
|
|
@@ -1290,8 +1295,17 @@ class ClientBuilder {
|
|
|
1290
1295
|
});
|
|
1291
1296
|
return this;
|
|
1292
1297
|
}
|
|
1298
|
+
withTelemetryMiddleware(options) {
|
|
1299
|
+
const {
|
|
1300
|
+
createTelemetryMiddleware,
|
|
1301
|
+
...rest
|
|
1302
|
+
} = options;
|
|
1303
|
+
this.telemetryMiddleware = createTelemetryMiddleware(rest);
|
|
1304
|
+
return this;
|
|
1305
|
+
}
|
|
1293
1306
|
build() {
|
|
1294
1307
|
const middlewares = this.middlewares.slice();
|
|
1308
|
+
if (this.telemetryMiddleware) middlewares.push(this.telemetryMiddleware);
|
|
1295
1309
|
if (this.correlationIdMiddleware) middlewares.push(this.correlationIdMiddleware);
|
|
1296
1310
|
if (this.userAgentMiddleware) middlewares.push(this.userAgentMiddleware);
|
|
1297
1311
|
if (this.authMiddleware) middlewares.push(this.authMiddleware);
|
|
@@ -32,19 +32,6 @@ function _defineProperty(obj, key, value) {
|
|
|
32
32
|
return obj;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @throws {Error}
|
|
39
|
-
*/
|
|
40
|
-
function validate(funcName, request, options = {
|
|
41
|
-
allowedMethods: METHODS
|
|
42
|
-
}) {
|
|
43
|
-
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
44
|
-
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
45
|
-
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
35
|
function urlParser(url) {
|
|
49
36
|
const object = {};
|
|
50
37
|
const data = new URLSearchParams(url);
|
|
@@ -61,6 +48,19 @@ function parseURLString(url, parser = urlParser) {
|
|
|
61
48
|
return parser(url);
|
|
62
49
|
}
|
|
63
50
|
|
|
51
|
+
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @throws {Error}
|
|
55
|
+
*/
|
|
56
|
+
function validate(funcName, request, options = {
|
|
57
|
+
allowedMethods: METHODS
|
|
58
|
+
}) {
|
|
59
|
+
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
60
|
+
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
61
|
+
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
64
|
let _options;
|
|
65
65
|
function compose(...funcs) {
|
|
66
66
|
funcs = funcs.filter(func => typeof func === 'function');
|
|
@@ -757,6 +757,7 @@ function createHttpMiddleware({
|
|
|
757
757
|
includeOriginalRequest,
|
|
758
758
|
includeRequestInErrorResponse = true,
|
|
759
759
|
maskSensitiveHeaderData = true,
|
|
760
|
+
headersWithStringBody = [],
|
|
760
761
|
enableRetry,
|
|
761
762
|
timeout,
|
|
762
763
|
retryConfig: {
|
|
@@ -787,6 +788,9 @@ function createHttpMiddleware({
|
|
|
787
788
|
if (!Array.isArray(retryCodes)) {
|
|
788
789
|
throw new Error('`retryCodes` option must be an array of retry status (error) codes.');
|
|
789
790
|
}
|
|
791
|
+
if (!Array.isArray(headersWithStringBody)) {
|
|
792
|
+
throw new Error('`headersWithStringBody` option must be an array of strings');
|
|
793
|
+
}
|
|
790
794
|
return next => (request, response) => {
|
|
791
795
|
const url = host.replace(/\/$/, '') + request.uri;
|
|
792
796
|
const requestHeader = {
|
|
@@ -803,8 +807,8 @@ function createHttpMiddleware({
|
|
|
803
807
|
delete requestHeader['Content-Type'];
|
|
804
808
|
}
|
|
805
809
|
|
|
806
|
-
// Ensure body is a string if content type is application/json
|
|
807
|
-
const body = ['application/json', 'application/graphql'].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
810
|
+
// Ensure body is a string if content type is application/json or application/graphql
|
|
811
|
+
const body = ['application/json', 'application/graphql', ...headersWithStringBody].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
808
812
|
if (body && (typeof body === 'string' || isBuffer(body))) {
|
|
809
813
|
requestHeader['Content-Length'] = Buffer.byteLength(body).toString();
|
|
810
814
|
}
|
|
@@ -1031,7 +1035,7 @@ function createQueueMiddleware({
|
|
|
1031
1035
|
|
|
1032
1036
|
var packageJson = {
|
|
1033
1037
|
name: "@commercetools/sdk-client-v2",
|
|
1034
|
-
version: "2.1
|
|
1038
|
+
version: "2.2.1",
|
|
1035
1039
|
engines: {
|
|
1036
1040
|
node: ">=14"
|
|
1037
1041
|
},
|
|
@@ -1081,8 +1085,8 @@ var packageJson = {
|
|
|
1081
1085
|
devDependencies: {
|
|
1082
1086
|
"abort-controller": "3.0.0",
|
|
1083
1087
|
"common-tags": "1.8.2",
|
|
1084
|
-
dotenv: "16.
|
|
1085
|
-
jest: "29.
|
|
1088
|
+
dotenv: "16.3.1",
|
|
1089
|
+
jest: "29.6.2",
|
|
1086
1090
|
nock: "12.0.3",
|
|
1087
1091
|
"organize-imports-cli": "0.10.0"
|
|
1088
1092
|
},
|
|
@@ -1166,6 +1170,7 @@ class ClientBuilder {
|
|
|
1166
1170
|
_defineProperty(this, "correlationIdMiddleware", void 0);
|
|
1167
1171
|
_defineProperty(this, "loggerMiddleware", void 0);
|
|
1168
1172
|
_defineProperty(this, "queueMiddleware", void 0);
|
|
1173
|
+
_defineProperty(this, "telemetryMiddleware", void 0);
|
|
1169
1174
|
_defineProperty(this, "middlewares", []);
|
|
1170
1175
|
}
|
|
1171
1176
|
withProjectKey(key) {
|
|
@@ -1282,8 +1287,17 @@ class ClientBuilder {
|
|
|
1282
1287
|
});
|
|
1283
1288
|
return this;
|
|
1284
1289
|
}
|
|
1290
|
+
withTelemetryMiddleware(options) {
|
|
1291
|
+
const {
|
|
1292
|
+
createTelemetryMiddleware,
|
|
1293
|
+
...rest
|
|
1294
|
+
} = options;
|
|
1295
|
+
this.telemetryMiddleware = createTelemetryMiddleware(rest);
|
|
1296
|
+
return this;
|
|
1297
|
+
}
|
|
1285
1298
|
build() {
|
|
1286
1299
|
const middlewares = this.middlewares.slice();
|
|
1300
|
+
if (this.telemetryMiddleware) middlewares.push(this.telemetryMiddleware);
|
|
1287
1301
|
if (this.correlationIdMiddleware) middlewares.push(this.correlationIdMiddleware);
|
|
1288
1302
|
if (this.userAgentMiddleware) middlewares.push(this.userAgentMiddleware);
|
|
1289
1303
|
if (this.authMiddleware) middlewares.push(this.authMiddleware);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commercetools-sdk-client-v2.cjs.d.ts","sourceRoot":"","sources":["./declarations/src/index.d.ts"],"names":[],"mappings":"AAAA"}
|
|
@@ -40,19 +40,6 @@ function _defineProperty(obj, key, value) {
|
|
|
40
40
|
return obj;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* @throws {Error}
|
|
47
|
-
*/
|
|
48
|
-
function validate(funcName, request, options = {
|
|
49
|
-
allowedMethods: METHODS
|
|
50
|
-
}) {
|
|
51
|
-
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
52
|
-
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
53
|
-
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
43
|
function urlParser(url) {
|
|
57
44
|
const object = {};
|
|
58
45
|
const data = new URLSearchParams(url);
|
|
@@ -69,6 +56,19 @@ function parseURLString(url, parser = urlParser) {
|
|
|
69
56
|
return parser(url);
|
|
70
57
|
}
|
|
71
58
|
|
|
59
|
+
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @throws {Error}
|
|
63
|
+
*/
|
|
64
|
+
function validate(funcName, request, options = {
|
|
65
|
+
allowedMethods: METHODS
|
|
66
|
+
}) {
|
|
67
|
+
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
68
|
+
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
69
|
+
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
72
|
let _options;
|
|
73
73
|
function compose(...funcs) {
|
|
74
74
|
funcs = funcs.filter(func => typeof func === 'function');
|
|
@@ -765,6 +765,7 @@ function createHttpMiddleware({
|
|
|
765
765
|
includeOriginalRequest,
|
|
766
766
|
includeRequestInErrorResponse = true,
|
|
767
767
|
maskSensitiveHeaderData = true,
|
|
768
|
+
headersWithStringBody = [],
|
|
768
769
|
enableRetry,
|
|
769
770
|
timeout,
|
|
770
771
|
retryConfig: {
|
|
@@ -795,6 +796,9 @@ function createHttpMiddleware({
|
|
|
795
796
|
if (!Array.isArray(retryCodes)) {
|
|
796
797
|
throw new Error('`retryCodes` option must be an array of retry status (error) codes.');
|
|
797
798
|
}
|
|
799
|
+
if (!Array.isArray(headersWithStringBody)) {
|
|
800
|
+
throw new Error('`headersWithStringBody` option must be an array of strings');
|
|
801
|
+
}
|
|
798
802
|
return next => (request, response) => {
|
|
799
803
|
const url = host.replace(/\/$/, '') + request.uri;
|
|
800
804
|
const requestHeader = {
|
|
@@ -811,8 +815,8 @@ function createHttpMiddleware({
|
|
|
811
815
|
delete requestHeader['Content-Type'];
|
|
812
816
|
}
|
|
813
817
|
|
|
814
|
-
// Ensure body is a string if content type is application/json
|
|
815
|
-
const body = ['application/json', 'application/graphql'].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
818
|
+
// Ensure body is a string if content type is application/json or application/graphql
|
|
819
|
+
const body = ['application/json', 'application/graphql', ...headersWithStringBody].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
816
820
|
if (body && (typeof body === 'string' || isBuffer(body))) {
|
|
817
821
|
requestHeader['Content-Length'] = _.Buffer.byteLength(body).toString();
|
|
818
822
|
}
|
|
@@ -1039,7 +1043,7 @@ function createQueueMiddleware({
|
|
|
1039
1043
|
|
|
1040
1044
|
var packageJson = {
|
|
1041
1045
|
name: "@commercetools/sdk-client-v2",
|
|
1042
|
-
version: "2.1
|
|
1046
|
+
version: "2.2.1",
|
|
1043
1047
|
engines: {
|
|
1044
1048
|
node: ">=14"
|
|
1045
1049
|
},
|
|
@@ -1089,8 +1093,8 @@ var packageJson = {
|
|
|
1089
1093
|
devDependencies: {
|
|
1090
1094
|
"abort-controller": "3.0.0",
|
|
1091
1095
|
"common-tags": "1.8.2",
|
|
1092
|
-
dotenv: "16.
|
|
1093
|
-
jest: "29.
|
|
1096
|
+
dotenv: "16.3.1",
|
|
1097
|
+
jest: "29.6.2",
|
|
1094
1098
|
nock: "12.0.3",
|
|
1095
1099
|
"organize-imports-cli": "0.10.0"
|
|
1096
1100
|
},
|
|
@@ -1174,6 +1178,7 @@ class ClientBuilder {
|
|
|
1174
1178
|
_defineProperty(this, "correlationIdMiddleware", void 0);
|
|
1175
1179
|
_defineProperty(this, "loggerMiddleware", void 0);
|
|
1176
1180
|
_defineProperty(this, "queueMiddleware", void 0);
|
|
1181
|
+
_defineProperty(this, "telemetryMiddleware", void 0);
|
|
1177
1182
|
_defineProperty(this, "middlewares", []);
|
|
1178
1183
|
}
|
|
1179
1184
|
withProjectKey(key) {
|
|
@@ -1290,8 +1295,17 @@ class ClientBuilder {
|
|
|
1290
1295
|
});
|
|
1291
1296
|
return this;
|
|
1292
1297
|
}
|
|
1298
|
+
withTelemetryMiddleware(options) {
|
|
1299
|
+
const {
|
|
1300
|
+
createTelemetryMiddleware,
|
|
1301
|
+
...rest
|
|
1302
|
+
} = options;
|
|
1303
|
+
this.telemetryMiddleware = createTelemetryMiddleware(rest);
|
|
1304
|
+
return this;
|
|
1305
|
+
}
|
|
1293
1306
|
build() {
|
|
1294
1307
|
const middlewares = this.middlewares.slice();
|
|
1308
|
+
if (this.telemetryMiddleware) middlewares.push(this.telemetryMiddleware);
|
|
1295
1309
|
if (this.correlationIdMiddleware) middlewares.push(this.correlationIdMiddleware);
|
|
1296
1310
|
if (this.userAgentMiddleware) middlewares.push(this.userAgentMiddleware);
|
|
1297
1311
|
if (this.authMiddleware) middlewares.push(this.authMiddleware);
|
|
@@ -40,19 +40,6 @@ function _defineProperty(obj, key, value) {
|
|
|
40
40
|
return obj;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* @throws {Error}
|
|
47
|
-
*/
|
|
48
|
-
function validate(funcName, request, options = {
|
|
49
|
-
allowedMethods: METHODS
|
|
50
|
-
}) {
|
|
51
|
-
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
52
|
-
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
53
|
-
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
43
|
function urlParser(url) {
|
|
57
44
|
const object = {};
|
|
58
45
|
const data = new URLSearchParams(url);
|
|
@@ -69,6 +56,19 @@ function parseURLString(url, parser = urlParser) {
|
|
|
69
56
|
return parser(url);
|
|
70
57
|
}
|
|
71
58
|
|
|
59
|
+
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @throws {Error}
|
|
63
|
+
*/
|
|
64
|
+
function validate(funcName, request, options = {
|
|
65
|
+
allowedMethods: METHODS
|
|
66
|
+
}) {
|
|
67
|
+
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
68
|
+
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
69
|
+
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
72
|
let _options;
|
|
73
73
|
function compose(...funcs) {
|
|
74
74
|
funcs = funcs.filter(func => typeof func === 'function');
|
|
@@ -765,6 +765,7 @@ function createHttpMiddleware({
|
|
|
765
765
|
includeOriginalRequest,
|
|
766
766
|
includeRequestInErrorResponse = true,
|
|
767
767
|
maskSensitiveHeaderData = true,
|
|
768
|
+
headersWithStringBody = [],
|
|
768
769
|
enableRetry,
|
|
769
770
|
timeout,
|
|
770
771
|
retryConfig: {
|
|
@@ -795,6 +796,9 @@ function createHttpMiddleware({
|
|
|
795
796
|
if (!Array.isArray(retryCodes)) {
|
|
796
797
|
throw new Error('`retryCodes` option must be an array of retry status (error) codes.');
|
|
797
798
|
}
|
|
799
|
+
if (!Array.isArray(headersWithStringBody)) {
|
|
800
|
+
throw new Error('`headersWithStringBody` option must be an array of strings');
|
|
801
|
+
}
|
|
798
802
|
return next => (request, response) => {
|
|
799
803
|
const url = host.replace(/\/$/, '') + request.uri;
|
|
800
804
|
const requestHeader = {
|
|
@@ -811,8 +815,8 @@ function createHttpMiddleware({
|
|
|
811
815
|
delete requestHeader['Content-Type'];
|
|
812
816
|
}
|
|
813
817
|
|
|
814
|
-
// Ensure body is a string if content type is application/json
|
|
815
|
-
const body = ['application/json', 'application/graphql'].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
818
|
+
// Ensure body is a string if content type is application/json or application/graphql
|
|
819
|
+
const body = ['application/json', 'application/graphql', ...headersWithStringBody].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
816
820
|
if (body && (typeof body === 'string' || isBuffer(body))) {
|
|
817
821
|
requestHeader['Content-Length'] = _.Buffer.byteLength(body).toString();
|
|
818
822
|
}
|
|
@@ -1039,7 +1043,7 @@ function createQueueMiddleware({
|
|
|
1039
1043
|
|
|
1040
1044
|
var packageJson = {
|
|
1041
1045
|
name: "@commercetools/sdk-client-v2",
|
|
1042
|
-
version: "2.1
|
|
1046
|
+
version: "2.2.1",
|
|
1043
1047
|
engines: {
|
|
1044
1048
|
node: ">=14"
|
|
1045
1049
|
},
|
|
@@ -1089,8 +1093,8 @@ var packageJson = {
|
|
|
1089
1093
|
devDependencies: {
|
|
1090
1094
|
"abort-controller": "3.0.0",
|
|
1091
1095
|
"common-tags": "1.8.2",
|
|
1092
|
-
dotenv: "16.
|
|
1093
|
-
jest: "29.
|
|
1096
|
+
dotenv: "16.3.1",
|
|
1097
|
+
jest: "29.6.2",
|
|
1094
1098
|
nock: "12.0.3",
|
|
1095
1099
|
"organize-imports-cli": "0.10.0"
|
|
1096
1100
|
},
|
|
@@ -1174,6 +1178,7 @@ class ClientBuilder {
|
|
|
1174
1178
|
_defineProperty(this, "correlationIdMiddleware", void 0);
|
|
1175
1179
|
_defineProperty(this, "loggerMiddleware", void 0);
|
|
1176
1180
|
_defineProperty(this, "queueMiddleware", void 0);
|
|
1181
|
+
_defineProperty(this, "telemetryMiddleware", void 0);
|
|
1177
1182
|
_defineProperty(this, "middlewares", []);
|
|
1178
1183
|
}
|
|
1179
1184
|
withProjectKey(key) {
|
|
@@ -1290,8 +1295,17 @@ class ClientBuilder {
|
|
|
1290
1295
|
});
|
|
1291
1296
|
return this;
|
|
1292
1297
|
}
|
|
1298
|
+
withTelemetryMiddleware(options) {
|
|
1299
|
+
const {
|
|
1300
|
+
createTelemetryMiddleware,
|
|
1301
|
+
...rest
|
|
1302
|
+
} = options;
|
|
1303
|
+
this.telemetryMiddleware = createTelemetryMiddleware(rest);
|
|
1304
|
+
return this;
|
|
1305
|
+
}
|
|
1293
1306
|
build() {
|
|
1294
1307
|
const middlewares = this.middlewares.slice();
|
|
1308
|
+
if (this.telemetryMiddleware) middlewares.push(this.telemetryMiddleware);
|
|
1295
1309
|
if (this.correlationIdMiddleware) middlewares.push(this.correlationIdMiddleware);
|
|
1296
1310
|
if (this.userAgentMiddleware) middlewares.push(this.userAgentMiddleware);
|
|
1297
1311
|
if (this.authMiddleware) middlewares.push(this.authMiddleware);
|
|
@@ -32,19 +32,6 @@ function _defineProperty(obj, key, value) {
|
|
|
32
32
|
return obj;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @throws {Error}
|
|
39
|
-
*/
|
|
40
|
-
function validate(funcName, request, options = {
|
|
41
|
-
allowedMethods: METHODS
|
|
42
|
-
}) {
|
|
43
|
-
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
44
|
-
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
45
|
-
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
35
|
function urlParser(url) {
|
|
49
36
|
const object = {};
|
|
50
37
|
const data = new URLSearchParams(url);
|
|
@@ -61,6 +48,19 @@ function parseURLString(url, parser = urlParser) {
|
|
|
61
48
|
return parser(url);
|
|
62
49
|
}
|
|
63
50
|
|
|
51
|
+
var METHODS = ['ACL', 'BIND', 'CHECKOUT', 'CONNECT', 'COPY', 'DELETE', 'GET', 'HEAD', 'LINK', 'LOCK', 'M-SEARCH', 'MERGE', 'MKACTIVITY', 'MKCALENDAR', 'MKCOL', 'MOVE', 'NOTIFY', 'OPTIONS', 'PATCH', 'POST', 'PROPFIND', 'PROPPATCH', 'PURGE', 'PUT', 'REBIND', 'REPORT', 'SEARCH', 'SOURCE', 'SUBSCRIBE', 'TRACE', 'UNBIND', 'UNLINK', 'UNLOCK', 'UNSUBSCRIBE'];
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @throws {Error}
|
|
55
|
+
*/
|
|
56
|
+
function validate(funcName, request, options = {
|
|
57
|
+
allowedMethods: METHODS
|
|
58
|
+
}) {
|
|
59
|
+
if (!request) throw new Error(`The "${funcName}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
60
|
+
if (typeof request.uri !== 'string') throw new Error(`The "${funcName}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
61
|
+
if (!options.allowedMethods.includes(request.method)) throw new Error(`The "${funcName}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
64
|
let _options;
|
|
65
65
|
function compose(...funcs) {
|
|
66
66
|
funcs = funcs.filter(func => typeof func === 'function');
|
|
@@ -757,6 +757,7 @@ function createHttpMiddleware({
|
|
|
757
757
|
includeOriginalRequest,
|
|
758
758
|
includeRequestInErrorResponse = true,
|
|
759
759
|
maskSensitiveHeaderData = true,
|
|
760
|
+
headersWithStringBody = [],
|
|
760
761
|
enableRetry,
|
|
761
762
|
timeout,
|
|
762
763
|
retryConfig: {
|
|
@@ -787,6 +788,9 @@ function createHttpMiddleware({
|
|
|
787
788
|
if (!Array.isArray(retryCodes)) {
|
|
788
789
|
throw new Error('`retryCodes` option must be an array of retry status (error) codes.');
|
|
789
790
|
}
|
|
791
|
+
if (!Array.isArray(headersWithStringBody)) {
|
|
792
|
+
throw new Error('`headersWithStringBody` option must be an array of strings');
|
|
793
|
+
}
|
|
790
794
|
return next => (request, response) => {
|
|
791
795
|
const url = host.replace(/\/$/, '') + request.uri;
|
|
792
796
|
const requestHeader = {
|
|
@@ -803,8 +807,8 @@ function createHttpMiddleware({
|
|
|
803
807
|
delete requestHeader['Content-Type'];
|
|
804
808
|
}
|
|
805
809
|
|
|
806
|
-
// Ensure body is a string if content type is application/json
|
|
807
|
-
const body = ['application/json', 'application/graphql'].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
810
|
+
// Ensure body is a string if content type is application/json or application/graphql
|
|
811
|
+
const body = ['application/json', 'application/graphql', ...headersWithStringBody].indexOf(requestHeader['Content-Type']) > -1 && typeof request.body === 'string' || isBuffer(request.body) ? request.body : JSON.stringify(request.body || undefined);
|
|
808
812
|
if (body && (typeof body === 'string' || isBuffer(body))) {
|
|
809
813
|
requestHeader['Content-Length'] = Buffer.byteLength(body).toString();
|
|
810
814
|
}
|
|
@@ -1031,7 +1035,7 @@ function createQueueMiddleware({
|
|
|
1031
1035
|
|
|
1032
1036
|
var packageJson = {
|
|
1033
1037
|
name: "@commercetools/sdk-client-v2",
|
|
1034
|
-
version: "2.1
|
|
1038
|
+
version: "2.2.1",
|
|
1035
1039
|
engines: {
|
|
1036
1040
|
node: ">=14"
|
|
1037
1041
|
},
|
|
@@ -1081,8 +1085,8 @@ var packageJson = {
|
|
|
1081
1085
|
devDependencies: {
|
|
1082
1086
|
"abort-controller": "3.0.0",
|
|
1083
1087
|
"common-tags": "1.8.2",
|
|
1084
|
-
dotenv: "16.
|
|
1085
|
-
jest: "29.
|
|
1088
|
+
dotenv: "16.3.1",
|
|
1089
|
+
jest: "29.6.2",
|
|
1086
1090
|
nock: "12.0.3",
|
|
1087
1091
|
"organize-imports-cli": "0.10.0"
|
|
1088
1092
|
},
|
|
@@ -1166,6 +1170,7 @@ class ClientBuilder {
|
|
|
1166
1170
|
_defineProperty(this, "correlationIdMiddleware", void 0);
|
|
1167
1171
|
_defineProperty(this, "loggerMiddleware", void 0);
|
|
1168
1172
|
_defineProperty(this, "queueMiddleware", void 0);
|
|
1173
|
+
_defineProperty(this, "telemetryMiddleware", void 0);
|
|
1169
1174
|
_defineProperty(this, "middlewares", []);
|
|
1170
1175
|
}
|
|
1171
1176
|
withProjectKey(key) {
|
|
@@ -1282,8 +1287,17 @@ class ClientBuilder {
|
|
|
1282
1287
|
});
|
|
1283
1288
|
return this;
|
|
1284
1289
|
}
|
|
1290
|
+
withTelemetryMiddleware(options) {
|
|
1291
|
+
const {
|
|
1292
|
+
createTelemetryMiddleware,
|
|
1293
|
+
...rest
|
|
1294
|
+
} = options;
|
|
1295
|
+
this.telemetryMiddleware = createTelemetryMiddleware(rest);
|
|
1296
|
+
return this;
|
|
1297
|
+
}
|
|
1285
1298
|
build() {
|
|
1286
1299
|
const middlewares = this.middlewares.slice();
|
|
1300
|
+
if (this.telemetryMiddleware) middlewares.push(this.telemetryMiddleware);
|
|
1287
1301
|
if (this.correlationIdMiddleware) middlewares.push(this.correlationIdMiddleware);
|
|
1288
1302
|
if (this.userAgentMiddleware) middlewares.push(this.userAgentMiddleware);
|
|
1289
1303
|
if (this.authMiddleware) middlewares.push(this.authMiddleware);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["@commercetools/sdk-client-v2"]=t():e["@commercetools/sdk-client-v2"]=t()}(self,(()=>(()=>{var e={754:()=>{},169:()=>{},872:()=>{},696:()=>{},52:()=>{},392:(e,t,r)=>{"use strict";r.d(t,{Z:()=>j});var n=r(872),o=r.n(n),i=r(123),a=r(584),s=r(554),c=r(352),u=r(637),l=r(589),h=r(386),d=r(349),f=r(357),p=r(324),y=r(406),w=function(){return w=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},w.apply(this,arguments)},v=u.Z,g=a.Z,m=s.Z,b=l.Z,C=c.Z;const j=function(){function e(){this.middlewares=[]}return e.prototype.withProjectKey=function(e){return this.projectKey=e,this},e.prototype.defaultClient=function(e,t,r,n){return this.withClientCredentialsFlow({host:r,projectKey:n||this.projectKey,credentials:t}).withHttpMiddleware({host:e,fetch:o()}).withLoggerMiddleware().withUserAgentMiddleware()},e.prototype.withAuthMiddleware=function(e){return this.authMiddleware=e,this},e.prototype.withMiddleware=function(e){return this.middlewares.push(e),this},e.prototype.withClientCredentialsFlow=function(e){return this.withAuthMiddleware(m(w({host:e.host||"https://auth.europe-west1.gcp.commercetools.com",projectKey:e.projectKey||this.projectKey,credentials:{clientId:e.credentials.clientId||"",clientSecret:e.credentials.clientSecret||""},oauthUri:e.oauthUri||"",scopes:e.scopes,fetch:e.fetch||o()},e)))},e.prototype.withPasswordFlow=function(e){return this.withAuthMiddleware(v(w({host:e.host||"https://auth.europe-west1.gcp.commercetools.com",projectKey:e.projectKey||this.projectKey,credentials:{clientId:e.credentials.clientId||"",clientSecret:e.credentials.clientSecret||"",user:{username:e.credentials.user.username||"",password:e.credentials.user.password||""}},fetch:e.fetch||o()},e)))},e.prototype.withAnonymousSessionFlow=function(e){return this.withAuthMiddleware(g(w({host:e.host||"https://auth.europe-west1.gcp.commercetools.com",projectKey:this.projectKey||e.projectKey,credentials:{clientId:e.credentials.clientId||"",clientSecret:e.credentials.clientSecret||"",anonymousId:e.credentials.anonymousId||""},fetch:e.fetch||o()},e)))},e.prototype.withRefreshTokenFlow=function(e){return this.withAuthMiddleware(b(w({host:e.host||"https://auth.europe-west1.gcp.commercetools.com",projectKey:this.projectKey||e.projectKey,credentials:{clientId:e.credentials.clientId||"",clientSecret:e.credentials.clientSecret||""},fetch:e.fetch||o(),refreshToken:e.refreshToken||""},e)))},e.prototype.withExistingTokenFlow=function(e,t){return this.withAuthMiddleware(C(e,w({force:t.force||!0},t)))},e.prototype.withHttpMiddleware=function(e){return this.httpMiddleware=(0,d.Z)(w({host:e.host||"https://api.europe-west1.gcp.commercetools.com",fetch:e.fetch||o()},e)),this},e.prototype.withUserAgentMiddleware=function(e){return this.userAgentMiddleware=(0,y.Z)(e),this},e.prototype.withQueueMiddleware=function(e){return this.queueMiddleware=(0,p.Z)(w({concurrency:e.concurrency||20},e)),this},e.prototype.withLoggerMiddleware=function(){return this.loggerMiddleware=(0,f.Z)(),this},e.prototype.withCorrelationIdMiddleware=function(e){return this.correlationIdMiddleware=(0,h.Z)(w({generate:e.generate||null},e)),this},e.prototype.build=function(){var e=this.middlewares.slice();return this.correlationIdMiddleware&&e.push(this.correlationIdMiddleware),this.userAgentMiddleware&&e.push(this.userAgentMiddleware),this.authMiddleware&&e.push(this.authMiddleware),this.queueMiddleware&&e.push(this.queueMiddleware),this.httpMiddleware&&e.push(this.httpMiddleware),this.loggerMiddleware&&e.push(this.loggerMiddleware),(0,i.Z)({middlewares:e})},e}()},123:(e,t,r)=>{"use strict";r.d(t,{Z:()=>y,N:()=>p});const n=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];function o(e,t,r){if(void 0===r&&(r={allowedMethods:n}),!t)throw new Error('The "'.concat(e,'" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest'));if("string"!=typeof t.uri)throw new Error('The "'.concat(e,'" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest'));if(!r.allowedMethods.includes(t.method))throw new Error('The "'.concat(e,'" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest'))}var i=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};function a(e){var t,r,n={},o=new URLSearchParams(e);try{for(var a=i(o.keys()),s=a.next();!s.done;s=a.next()){var c=s.value;o.getAll(c).length>1?n[c]=o.getAll(c):n[c]=o.get(c)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n}var s,c=function(){return c=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},c.apply(this,arguments)},u=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{c(n.next(e))}catch(e){i(e)}}function s(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))},l=function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},h=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},d=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))};function f(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=e.filter((function(e){return"function"==typeof e}))).length?e[0]:e.reduce((function(e,t){return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e(t.apply(void 0,d([],h(r),!1)))}}))}function p(e,t,r){var n=this;if(o("process",e,{allowedMethods:["GET"]}),"function"!=typeof t)throw new Error('The "process" function accepts a "Function" as a second argument that returns a Promise. See https://commercetools.github.io/nodejs/sdk/api/sdkClient.html#processrequest-processfn-options');var i=c({total:Number.POSITIVE_INFINITY,accumulate:!0},r);return new Promise((function(r,o){var d,f="";if(e&&e.uri){var p=h(e.uri.split("?"),2),w=p[0],v=p[1];d=w,f=v}var g,m=c({},(void 0===g&&(g=a),g(f))),b=c({limit:20},m),C=!1,j=i.total,O=function(a,h){return void 0===h&&(h=[]),u(n,void 0,void 0,(function(){var n,u,f,p,w,v,g,m,k,M,E,S,A,T;return l(this,(function(l){switch(l.label){case 0:n=b.limit<j?b.limit:j,u=new URLSearchParams(c(c({},b),{limit:n})).toString(),f=c({sort:"id asc",withTotal:!1},a?{where:'id > "'.concat(a,'"')}:{}),p=new URLSearchParams(f).toString(),w=c(c({},e),{uri:"".concat(d,"?").concat(p,"&").concat(u)}),l.label=1;case 1:return l.trys.push([1,4,,5]),[4,y(s).execute(w)];case 2:return v=l.sent(),g=v.body,m=g.results,!(k=g.count)&&C?[2,r(h||[])]:[4,Promise.resolve(t(v))];case 3:return M=l.sent(),E=void 0,C=!0,i.accumulate&&(E=h.concat(M||[])),j-=k,k<b.limit||!j?[2,r(E||[])]:(S=m[k-1],A=S&&S.id,O(A,E),[3,5]);case 4:return T=l.sent(),o(T),[3,5];case 5:return[2]}}))}))};O()}))}function y(e){if(s=e,!e)throw new Error("Missing required options");if(e.middlewares&&!Array.isArray(e.middlewares))throw new Error("Middlewares should be an array");if(!e.middlewares||!Array.isArray(e.middlewares)||!e.middlewares.length)throw new Error("You need to provide at least one middleware");return{process:p,execute:function(t){return o("exec",t),new Promise((function(r,n){f.apply(void 0,d([],h(e.middlewares),!1))((function(e,t){if(t.error)t.reject(t.error);else{var r={body:t.body||{},statusCode:t.statusCode};t.headers&&(r.headers=t.headers),t.request&&(r.request=t.request),t.resolve(r)}}))(t,{resolve:r,reject:n,body:void 0,error:void 0})}))}}}},109:(e,t,r)=>{"use strict";r.d(t,{F7:()=>a,ZP:()=>y,oo:()=>s});var n=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))};function i(e,t,r){void 0===r&&(r={}),this.status=this.statusCode=this.code=e,this.message=t,Object.assign(this,r),this.name=this.constructor.name,this.constructor.prototype.__proto__=Error.prototype,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}function a(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,0],n(e),!1))}function s(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this],n(e),!1))}function c(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,400],n(e),!1))}function u(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,401],n(e),!1))}function l(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,403],n(e),!1))}function h(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,404],n(e),!1))}function d(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,409],n(e),!1))}function f(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,500],n(e),!1))}function p(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,503],n(e),!1))}function y(e){switch(e){case 0:return a;case 400:return c;case 401:return u;case 403:return l;case 404:return h;case 409:return d;case 500:return f;case 503:return p;default:return}}},584:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(893),o=r(935),i=r(156),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e){var t=e.tokenCache||(0,i.Z)({token:"",expirationTime:-1}),r=[],s=(0,i.Z)(!1);return function(i){return function(c,u){if(c.headers&&c.headers.authorization||c.headers&&c.headers.Authorization)i(c,u);else{var l=a(a({request:c,response:u},(0,o.Vk)(e)),{pendingTasks:r,requestState:s,tokenCache:t,fetch:e.fetch});(0,n.Z)(l,i,e)}}}}},893:(e,t,r)=>{"use strict";r.d(t,{Z:()=>l});var n=r(935),o=r(754),i=function(){return i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},a=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{c(n.next(e))}catch(e){i(e)}}function s(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))},s=function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};function c(e,t){return i(i({},t),{headers:i(i({},t.headers),{Authorization:"Bearer ".concat(e)})})}function u(e){var t=e.fetcher,r=e.url,n=e.basicAuth,i=e.body,u=e.tokenCache,l=e.requestState,h=e.pendingTasks,d=e.response,f=e.tokenCacheKey;return a(this,void 0,void 0,(function(){var e,a,p,y,w,v,g,m,b,C,j;return s(this,(function(s){switch(s.label){case 0:return s.trys.push([0,5,,6]),[4,t(r,{method:"POST",headers:{Authorization:"Basic ".concat(n),"Content-Length":o.Buffer.byteLength(i).toString(),"Content-Type":"application/x-www-form-urlencoded"},body:i})];case 1:return(e=s.sent()).ok?[4,e.json()]:[3,3];case 2:return a=s.sent(),p=a.access_token,y=a.expires_in,w=a.refresh_token,v=function(e){return Date.now()+1e3*e-3e5}(y),u.set({token:p,expirationTime:v,refreshToken:w},f),l.set(!1),g=h.slice(),h=[],g.forEach((function(e){var t=c(p,e.request);e.next(t,e.response)})),[2];case 3:return m=void 0,[4,e.text()];case 4:b=s.sent();try{m=JSON.parse(b)}catch(e){}return C=new Error(m?m.message:b),m&&(C.body=m),l.set(!1),d.reject(C),[3,6];case 5:return j=s.sent(),l.set(!1),d&&"function"==typeof d.reject&&d.reject(j),[3,6];case 6:return[2]}}))}))}function l(e,t,r){var o=e.request,a=e.response,s=e.url,l=e.basicAuth,h=e.body,d=e.pendingTasks,f=e.requestState,p=e.tokenCache,y=e.tokenCacheKey,w=e.fetch;if(!w&&"undefined"==typeof fetch)throw new Error("`fetch` is not available. Please pass in `fetch` as an option or have it globally available.");if(w||(w=fetch),o.headers&&o.headers.authorization||o.headers&&o.headers.Authorization)t(o,a);else{var v=p.get(y);if(v&&v.token&&Date.now()<v.expirationTime)t(c(v.token,o),a);else if(d.push({request:o,response:a,next:t}),!f.get())if(f.set(!0),v&&v.refreshToken&&(!v.token||v.token&&Date.now()>v.expirationTime)){if(!r)throw new Error("Missing required options");u(i(i({fetcher:w},(0,n.Um)(i(i({},r),{refreshToken:v.refreshToken}))),{tokenCacheKey:y,tokenCache:p,requestState:f,pendingTasks:d,response:a}))}else u({fetcher:w,url:s,basicAuth:l,body:h,tokenCacheKey:y,tokenCache:p,requestState:f,pendingTasks:d,response:a})}}},935:(e,t,r)=>{"use strict";r.d(t,{BB:()=>i,Um:()=>s,Vk:()=>c,_T:()=>a});var n=r(754),o=function(){return o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)};function i(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");var t=e.credentials,r=t.clientId,o=t.clientSecret;if(!r||!o)throw new Error("Missing required credentials (clientId, clientSecret)");var i=e.scopes?e.scopes.join(" "):void 0,a=n.Buffer.from("".concat(r,":").concat(o)).toString("base64"),s=e.oauthUri||"/oauth/token";return{basicAuth:a,url:e.host.replace(/\/$/,"")+s,body:"grant_type=client_credentials".concat(i?"&scope=".concat(i):"")}}function a(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");var t=e.credentials,r=t.clientId,o=t.clientSecret,i=t.user,a=e.projectKey;if(!(r&&o&&i))throw new Error("Missing required credentials (clientId, clientSecret, user)");var s=i.username,c=i.password;if(!s||!c)throw new Error("Missing required user credentials (username, password)");var u=(e.scopes||[]).join(" "),l=u?"&scope=".concat(u):"",h=n.Buffer.from("".concat(r,":").concat(o)).toString("base64"),d=e.oauthUri||"/oauth/".concat(a,"/customers/token");return{basicAuth:h,url:e.host.replace(/\/$/,"")+d,body:"grant_type=password&username=".concat(encodeURIComponent(s),"&password=").concat(encodeURIComponent(c)).concat(l)}}function s(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");if(!e.refreshToken)throw new Error("Missing required option (refreshToken)");var t=e.credentials,r=t.clientId,o=t.clientSecret;if(!r||!o)throw new Error("Missing required credentials (clientId, clientSecret)");var i=n.Buffer.from("".concat(r,":").concat(o)).toString("base64"),a=e.oauthUri||"/oauth/token";return{basicAuth:i,url:e.host.replace(/\/$/,"")+a,body:"grant_type=refresh_token&refresh_token=".concat(encodeURIComponent(e.refreshToken))}}function c(e){if(!e)throw new Error("Missing required options");if(!e.projectKey)throw new Error("Missing required option (projectKey)");var t=e.projectKey;e.oauthUri=e.oauthUri||"/oauth/".concat(t,"/anonymous/token");var r=i(e);return e.credentials.anonymousId&&(r.body+="&anonymous_id=".concat(e.credentials.anonymousId)),o({},r)}},554:(e,t,r)=>{"use strict";r.d(t,{Z:()=>c});var n=r(893),o=r(935);function i(e){return{clientId:e.credentials.clientId,host:e.host,projectKey:e.projectKey}}var a=r(156),s=function(){return s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},s.apply(this,arguments)};function c(e){var t=e.tokenCache||(0,a.Z)({token:"",expirationTime:-1}),r=(0,a.Z)(!1),c=[];return function(a){return function(u,l){if(u.headers&&u.headers.authorization||u.headers&&u.headers.Authorization)a(u,l);else{var h=s(s({request:u,response:l},(0,o.BB)(e)),{pendingTasks:c,requestState:r,tokenCache:t,tokenCacheKey:i(e),fetch:e.fetch});(0,n.Z)(h,a)}}}}},352:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function o(e,t){return void 0===e&&(e=""),void 0===t&&(t={}),function(r){return function(o,i){if("string"!=typeof e)throw new Error("authorization must be a string");var a=void 0===t.force||t.force;if(!e||(o.headers&&o.headers.authorization||o.headers&&o.headers.Authorization)&&!1===a)return r(o,i);var s=n(n({},o),{headers:n(n({},o.headers),{Authorization:e})});return r(s,i)}}}},637:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(893),o=r(935),i=r(156),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e){var t=e.tokenCache||(0,i.Z)({}),r=[],s=(0,i.Z)(!1);return function(i){return function(c,u){if(c.headers&&c.headers.authorization||c.headers&&c.headers.Authorization)i(c,u);else{var l=a(a({request:c,response:u},(0,o._T)(e)),{pendingTasks:r,requestState:s,tokenCache:t,fetch:e.fetch});(0,n.Z)(l,i,e)}}}}},589:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(893),o=r(935),i=r(156),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e){var t=e.tokenCache||(0,i.Z)({token:"",expirationTime:-1}),r=[],s=(0,i.Z)(!1);return function(i){return function(c,u){if(c.headers&&c.headers.authorization||c.headers&&c.headers.Authorization)i(c,u);else{var l=a(a({request:c,response:u},(0,o.Um)(e)),{pendingTasks:r,requestState:s,tokenCache:t,fetch:e.fetch});(0,n.Z)(l,i)}}}}},156:(e,t,r)=>{"use strict";function n(e){var t=e;return{get:function(e){return t},set:function(e,r){t=e}}}r.d(t,{Z:()=>n})},386:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function o(e){return function(t){return function(r,o){var i=n(n({},r),{headers:n(n({},r.headers),{"X-Correlation-ID":e.generate()})});t(i,o)}}}},349:(e,t,r)=>{"use strict";r.d(t,{Z:()=>h});var n=r(754),o=r(109);function i(e){if(e.raw)return e.raw();if(!e.forEach)return{};var t={};return e.forEach((function(e,r){t[r]=e})),t}var a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)},s=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r};function c(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function u(e,t,r,n,o){return n&&0!==e?Math.min(Math.round((Math.random()+1)*t*Math.pow(2,e)),o):t}function l(e,t){t&&(e&&e.headers&&e.headers.authorization&&(e.headers.authorization="Bearer ********"),e&&e.headers&&e.headers.Authorization&&(e.headers.Authorization="Bearer ********"))}function h(e){var t,r=e.host,h=e.credentialsMode,d=e.includeResponseHeaders,f=e.includeOriginalRequest,p=e.includeRequestInErrorResponse,y=void 0===p||p,w=e.maskSensitiveHeaderData,v=void 0===w||w,g=e.enableRetry,m=e.timeout,b=e.retryConfig,C=void 0===b?{}:b,j=C.maxRetries,O=void 0===j?10:j,k=C.backoff,M=void 0===k||k,E=C.retryDelay,S=void 0===E?200:E,A=C.maxDelay,T=void 0===A?1/0:A,q=C.retryOnAbort,P=void 0!==q&&q,Z=C.retryCodes,x=void 0===Z?[503]:Z,I=e.fetch,R=e.getAbortController;if(!I)throw new Error("`fetch` is not available. Please pass in `fetch` as an option or have it globally available.");if(m&&!R)throw new Error("`AbortController` is not available. Please pass in `getAbortController` as an option or have AbortController globally available when using timeout.");if(t=I||fetch,!Array.isArray(x))throw new Error("`retryCodes` option must be an array of retry status (error) codes.");return function(e){return function(p,w){var b=r.replace(/\/$/,"")+p.uri,C=a({},p.headers);Object.prototype.hasOwnProperty.call(C,"Content-Type")||Object.prototype.hasOwnProperty.call(C,"content-type")||(C["Content-Type"]="application/json"),null===C["Content-Type"]&&delete C["Content-Type"];var j=["application/json","application/graphql"].indexOf(C["Content-Type"])>-1&&"string"==typeof p.body||c(p.body)?p.body:JSON.stringify(p.body||void 0);j&&("string"==typeof j||c(j))&&(C["Content-Length"]=n.Buffer.byteLength(j).toString());var k={method:p.method,headers:C};h&&(k.credentialsMode=h),j&&(k.body=j);var E=0;!function r(){var n,c;m&&(c=(R?R():null)||new AbortController,k.signal=c.signal,n=setTimeout((function(){c.abort()}),m)),t(b,k).then((function(t){if(t.ok)return"HEAD"===k.method?void e(p,a(a({},w),{statusCode:t.status})):void t.text().then((function(n){var o;try{o=n.length>0?JSON.parse(n):{}}catch(e){if(g&&E<O)return setTimeout(r,u(E,S,0,M,T)),void(E+=1);o=n}var s=a(a({},w),{body:o,statusCode:t.status});d&&(s.headers=i(t.headers)),f&&(s.request=a({},k),l(s.request,v)),e(p,s)})).catch((function(t){if(g&&E<O)return setTimeout(r,u(E,S,0,M,T)),void(E+=1);var n=new o.F7(t.message,a(a({},y?{originalRequest:p}:{}),{retryCount:E}));l(n.originalRequest,v),e(p,a(a({},w),{error:n,statusCode:0}))}));t.text().then((function(n){var c;try{c=JSON.parse(n)}catch(h){c=n}var h=function(e){var t,r=e.statusCode,n=e.message,i=s(e,["statusCode","message"]),a=n||"Unexpected non-JSON error response";404===r&&(a="URI not found: ".concat((null===(t=i.originalRequest)||void 0===t?void 0:t.uri)||i.uri),delete i.uri);var c=(0,o.ZP)(r);return c?new c(a,i):new o.oo(r,a,i)}(a(a(a({statusCode:t.status},y?{originalRequest:p}:404===t.status?{uri:p.uri}:{}),{retryCount:E,headers:i(t.headers)}),"object"==typeof c?{message:c.message,body:c}:{message:c,body:c}));if(g&&(-1!==x.indexOf(h.statusCode)||-1!==(null==x?void 0:x.indexOf(h.message)))&&E<O)return setTimeout(r,u(E,S,0,M,T)),void(E+=1);l(h.originalRequest,v);var d=a(a({},w),{error:h,statusCode:t.status});e(p,d)}))}),(function(t){if(g&&(P||!c||!c.signal)&&E<O)return setTimeout(r,u(E,S,0,M,T)),void(E+=1);var n=new o.F7(t.message,a(a({},y?{originalRequest:p}:{}),{retryCount:E}));l(n.originalRequest,v),e(p,a(a({},w),{error:n,statusCode:0}))})).finally((function(){clearTimeout(n)}))}()}}}},357:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(169);function o(){return function(e){return function(t,r){var o=r.error,i=r.body,a=r.statusCode;n.log("Request: ",t),n.log("Response: ",{error:o,body:i,statusCode:a}),e(t,r)}}}},324:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function o(e){var t=e.concurrency,r=void 0===t?20:t,o=[],i=0,a=function(e){if(i-=1,o.length&&i<=r){var t=o.shift();i+=1,e(t.request,t.response)}};return function(e){return function(t,s){var c=n(n({},s),{resolve:function(t){s.resolve(t),a(e)},reject:function(t){s.reject(t),a(e)}});if(o.push({request:t,response:c}),i<r){var u=o.shift();i+=1,e(u.request,u.response)}}}}},406:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});const n={i8:"2.1.6"};var o=r(696),i=function(){return"undefined"!=typeof window&&window.document&&9===window.document.nodeType};var a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e){var t=function(e){if(!e||0===Object.keys(e).length||!{}.hasOwnProperty.call(e,"name"))throw new Error("Missing required option `name`");var t=e.version?"".concat(e.name,"/").concat(e.version):e.name,r=null;e.libraryName&&!e.libraryVersion?r=e.libraryName:e.libraryName&&e.libraryVersion&&(r="".concat(e.libraryName,"/").concat(e.libraryVersion));var n=null;return e.contactUrl&&!e.contactEmail?n="(+".concat(e.contactUrl,")"):!e.contactUrl&&e.contactEmail?n="(+".concat(e.contactEmail,")"):e.contactUrl&&e.contactEmail&&(n="(+".concat(e.contactUrl,"; +").concat(e.contactEmail,")")),[t,function(){if(i())return window.navigator.userAgent;var e=(null==o?void 0:o.version.slice(1))||"12";return"node.js/".concat(e)}(),r,n,e.customAgent||""].filter(Boolean).join(" ")}(a(a({},e),{name:"commercetools-sdk-javascript-v2/".concat(n.i8)}));return function(e){return function(r,n){var o=a(a({},r),{headers:a(a({},r.headers),{"User-Agent":t})});e(o,n)}}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";r.r(n),r.d(n,{ClientBuilder:()=>e.Z,Process:()=>t.N,createAuthForAnonymousSessionFlow:()=>i.Z,createAuthForClientCredentialsFlow:()=>a.Z,createAuthForPasswordFlow:()=>c.Z,createAuthForRefreshTokenFlow:()=>u.Z,createAuthWithExistingToken:()=>s.Z,createClient:()=>t.Z,createCorrelationIdMiddleware:()=>l.Z,createHttpClient:()=>h.Z,createLoggerMiddleware:()=>d.Z,createQueueMiddleware:()=>f.Z,createUserAgentMiddleware:()=>p.Z,getErrorByCode:()=>o.ZP});var e=r(392),t=r(123),o=r(109),i=r(584),a=r(554),s=r(352),c=r(637),u=r(589),l=r(386),h=r(349),d=r(357),f=r(324),p=r(406),y=r(52),w={};for(const e in y)["default","ClientBuilder","createClient","Process","getErrorByCode","createAuthForAnonymousSessionFlow","createAuthForClientCredentialsFlow","createAuthWithExistingToken","createAuthForPasswordFlow","createAuthForRefreshTokenFlow","createCorrelationIdMiddleware","createHttpClient","createLoggerMiddleware","createQueueMiddleware","createUserAgentMiddleware"].indexOf(e)<0&&(w[e]=()=>y[e]);r.d(n,w)})(),n})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["@commercetools/sdk-client-v2"]=t():e["@commercetools/sdk-client-v2"]=t()}(self,(()=>(()=>{var e={754:()=>{},169:()=>{},872:()=>{},696:()=>{},52:()=>{},392:(e,t,r)=>{"use strict";r.d(t,{Z:()=>j});var n=r(872),o=r.n(n),i=r(123),a=r(584),s=r(554),c=r(352),u=r(637),l=r(589),h=r(386),d=r(349),f=r(357),p=r(324),y=r(406),w=function(){return w=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},w.apply(this,arguments)},v=u.Z,g=a.Z,m=s.Z,b=l.Z,O=c.Z;const j=function(){function e(){this.middlewares=[]}return e.prototype.withProjectKey=function(e){return this.projectKey=e,this},e.prototype.defaultClient=function(e,t,r,n){return this.withClientCredentialsFlow({host:r,projectKey:n||this.projectKey,credentials:t}).withHttpMiddleware({host:e,fetch:o()}).withLoggerMiddleware().withUserAgentMiddleware()},e.prototype.withAuthMiddleware=function(e){return this.authMiddleware=e,this},e.prototype.withMiddleware=function(e){return this.middlewares.push(e),this},e.prototype.withClientCredentialsFlow=function(e){return this.withAuthMiddleware(m(w({host:e.host||"https://auth.europe-west1.gcp.commercetools.com",projectKey:e.projectKey||this.projectKey,credentials:{clientId:e.credentials.clientId||"",clientSecret:e.credentials.clientSecret||""},oauthUri:e.oauthUri||"",scopes:e.scopes,fetch:e.fetch||o()},e)))},e.prototype.withPasswordFlow=function(e){return this.withAuthMiddleware(v(w({host:e.host||"https://auth.europe-west1.gcp.commercetools.com",projectKey:e.projectKey||this.projectKey,credentials:{clientId:e.credentials.clientId||"",clientSecret:e.credentials.clientSecret||"",user:{username:e.credentials.user.username||"",password:e.credentials.user.password||""}},fetch:e.fetch||o()},e)))},e.prototype.withAnonymousSessionFlow=function(e){return this.withAuthMiddleware(g(w({host:e.host||"https://auth.europe-west1.gcp.commercetools.com",projectKey:this.projectKey||e.projectKey,credentials:{clientId:e.credentials.clientId||"",clientSecret:e.credentials.clientSecret||"",anonymousId:e.credentials.anonymousId||""},fetch:e.fetch||o()},e)))},e.prototype.withRefreshTokenFlow=function(e){return this.withAuthMiddleware(b(w({host:e.host||"https://auth.europe-west1.gcp.commercetools.com",projectKey:this.projectKey||e.projectKey,credentials:{clientId:e.credentials.clientId||"",clientSecret:e.credentials.clientSecret||""},fetch:e.fetch||o(),refreshToken:e.refreshToken||""},e)))},e.prototype.withExistingTokenFlow=function(e,t){return this.withAuthMiddleware(O(e,w({force:t.force||!0},t)))},e.prototype.withHttpMiddleware=function(e){return this.httpMiddleware=(0,d.Z)(w({host:e.host||"https://api.europe-west1.gcp.commercetools.com",fetch:e.fetch||o()},e)),this},e.prototype.withUserAgentMiddleware=function(e){return this.userAgentMiddleware=(0,y.Z)(e),this},e.prototype.withQueueMiddleware=function(e){return this.queueMiddleware=(0,p.Z)(w({concurrency:e.concurrency||20},e)),this},e.prototype.withLoggerMiddleware=function(){return this.loggerMiddleware=(0,f.Z)(),this},e.prototype.withCorrelationIdMiddleware=function(e){return this.correlationIdMiddleware=(0,h.Z)(w({generate:e.generate||null},e)),this},e.prototype.withTelemetryMiddleware=function(e){var t=e.createTelemetryMiddleware,r=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}(e,["createTelemetryMiddleware"]);return this.telemetryMiddleware=t(r),this},e.prototype.build=function(){var e=this.middlewares.slice();return this.telemetryMiddleware&&e.push(this.telemetryMiddleware),this.correlationIdMiddleware&&e.push(this.correlationIdMiddleware),this.userAgentMiddleware&&e.push(this.userAgentMiddleware),this.authMiddleware&&e.push(this.authMiddleware),this.queueMiddleware&&e.push(this.queueMiddleware),this.httpMiddleware&&e.push(this.httpMiddleware),this.loggerMiddleware&&e.push(this.loggerMiddleware),(0,i.Z)({middlewares:e})},e}()},123:(e,t,r)=>{"use strict";r.d(t,{Z:()=>y,N:()=>p});var n=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};function o(e){var t,r,o={},i=new URLSearchParams(e);try{for(var a=n(i.keys()),s=a.next();!s.done;s=a.next()){var c=s.value;i.getAll(c).length>1?o[c]=i.getAll(c):o[c]=i.get(c)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return o}const i=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];function a(e,t,r){if(void 0===r&&(r={allowedMethods:i}),!t)throw new Error('The "'.concat(e,'" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest'));if("string"!=typeof t.uri)throw new Error('The "'.concat(e,'" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest'));if(!r.allowedMethods.includes(t.method))throw new Error('The "'.concat(e,'" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest'))}var s,c=function(){return c=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},c.apply(this,arguments)},u=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{c(n.next(e))}catch(e){i(e)}}function s(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))},l=function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},h=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},d=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))};function f(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=e.filter((function(e){return"function"==typeof e}))).length?e[0]:e.reduce((function(e,t){return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return e(t.apply(void 0,d([],h(r),!1)))}}))}function p(e,t,r){var n=this;if(a("process",e,{allowedMethods:["GET"]}),"function"!=typeof t)throw new Error('The "process" function accepts a "Function" as a second argument that returns a Promise. See https://commercetools.github.io/nodejs/sdk/api/sdkClient.html#processrequest-processfn-options');var i=c({total:Number.POSITIVE_INFINITY,accumulate:!0},r);return new Promise((function(r,a){var d,f="";if(e&&e.uri){var p=h(e.uri.split("?"),2),w=p[0],v=p[1];d=w,f=v}var g,m=c({},(void 0===g&&(g=o),g(f))),b=c({limit:20},m),O=!1,j=i.total,C=function(o,h){return void 0===h&&(h=[]),u(n,void 0,void 0,(function(){var n,u,f,p,w,v,g,m,M,k,S,E,A,T;return l(this,(function(l){switch(l.label){case 0:n=b.limit<j?b.limit:j,u=new URLSearchParams(c(c({},b),{limit:n})).toString(),f=c({sort:"id asc",withTotal:!1},o?{where:'id > "'.concat(o,'"')}:{}),p=new URLSearchParams(f).toString(),w=c(c({},e),{uri:"".concat(d,"?").concat(p,"&").concat(u)}),l.label=1;case 1:return l.trys.push([1,4,,5]),[4,y(s).execute(w)];case 2:return v=l.sent(),g=v.body,m=g.results,!(M=g.count)&&O?[2,r(h||[])]:[4,Promise.resolve(t(v))];case 3:return k=l.sent(),S=void 0,O=!0,i.accumulate&&(S=h.concat(k||[])),j-=M,M<b.limit||!j?[2,r(S||[])]:(E=m[M-1],A=E&&E.id,C(A,S),[3,5]);case 4:return T=l.sent(),a(T),[3,5];case 5:return[2]}}))}))};C()}))}function y(e){if(s=e,!e)throw new Error("Missing required options");if(e.middlewares&&!Array.isArray(e.middlewares))throw new Error("Middlewares should be an array");if(!e.middlewares||!Array.isArray(e.middlewares)||!e.middlewares.length)throw new Error("You need to provide at least one middleware");return{process:p,execute:function(t){return a("exec",t),new Promise((function(r,n){f.apply(void 0,d([],h(e.middlewares),!1))((function(e,t){if(t.error)t.reject(t.error);else{var r={body:t.body||{},statusCode:t.statusCode};t.headers&&(r.headers=t.headers),t.request&&(r.request=t.request),t.resolve(r)}}))(t,{resolve:r,reject:n,body:void 0,error:void 0})}))}}}},109:(e,t,r)=>{"use strict";r.d(t,{F7:()=>a,ZP:()=>y,oo:()=>s});var n=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))};function i(e,t,r){void 0===r&&(r={}),this.status=this.statusCode=this.code=e,this.message=t,Object.assign(this,r),this.name=this.constructor.name,this.constructor.prototype.__proto__=Error.prototype,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}function a(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,0],n(e),!1))}function s(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this],n(e),!1))}function c(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,400],n(e),!1))}function u(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,401],n(e),!1))}function l(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,403],n(e),!1))}function h(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,404],n(e),!1))}function d(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,409],n(e),!1))}function f(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,500],n(e),!1))}function p(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];i.call.apply(i,o([this,503],n(e),!1))}function y(e){switch(e){case 0:return a;case 400:return c;case 401:return u;case 403:return l;case 404:return h;case 409:return d;case 500:return f;case 503:return p;default:return}}},584:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(893),o=r(935),i=r(156),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e){var t=e.tokenCache||(0,i.Z)({token:"",expirationTime:-1}),r=[],s=(0,i.Z)(!1);return function(i){return function(c,u){if(c.headers&&c.headers.authorization||c.headers&&c.headers.Authorization)i(c,u);else{var l=a(a({request:c,response:u},(0,o.Vk)(e)),{pendingTasks:r,requestState:s,tokenCache:t,fetch:e.fetch});(0,n.Z)(l,i,e)}}}}},893:(e,t,r)=>{"use strict";r.d(t,{Z:()=>l});var n=r(935),o=r(754),i=function(){return i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},a=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{c(n.next(e))}catch(e){i(e)}}function s(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))},s=function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};function c(e,t){return i(i({},t),{headers:i(i({},t.headers),{Authorization:"Bearer ".concat(e)})})}function u(e){var t=e.fetcher,r=e.url,n=e.basicAuth,i=e.body,u=e.tokenCache,l=e.requestState,h=e.pendingTasks,d=e.response,f=e.tokenCacheKey;return a(this,void 0,void 0,(function(){var e,a,p,y,w,v,g,m,b,O,j;return s(this,(function(s){switch(s.label){case 0:return s.trys.push([0,5,,6]),[4,t(r,{method:"POST",headers:{Authorization:"Basic ".concat(n),"Content-Length":o.Buffer.byteLength(i).toString(),"Content-Type":"application/x-www-form-urlencoded"},body:i})];case 1:return(e=s.sent()).ok?[4,e.json()]:[3,3];case 2:return a=s.sent(),p=a.access_token,y=a.expires_in,w=a.refresh_token,v=function(e){return Date.now()+1e3*e-3e5}(y),u.set({token:p,expirationTime:v,refreshToken:w},f),l.set(!1),g=h.slice(),h=[],g.forEach((function(e){var t=c(p,e.request);e.next(t,e.response)})),[2];case 3:return m=void 0,[4,e.text()];case 4:b=s.sent();try{m=JSON.parse(b)}catch(e){}return O=new Error(m?m.message:b),m&&(O.body=m),l.set(!1),d.reject(O),[3,6];case 5:return j=s.sent(),l.set(!1),d&&"function"==typeof d.reject&&d.reject(j),[3,6];case 6:return[2]}}))}))}function l(e,t,r){var o=e.request,a=e.response,s=e.url,l=e.basicAuth,h=e.body,d=e.pendingTasks,f=e.requestState,p=e.tokenCache,y=e.tokenCacheKey,w=e.fetch;if(!w&&"undefined"==typeof fetch)throw new Error("`fetch` is not available. Please pass in `fetch` as an option or have it globally available.");if(w||(w=fetch),o.headers&&o.headers.authorization||o.headers&&o.headers.Authorization)t(o,a);else{var v=p.get(y);if(v&&v.token&&Date.now()<v.expirationTime)t(c(v.token,o),a);else if(d.push({request:o,response:a,next:t}),!f.get())if(f.set(!0),v&&v.refreshToken&&(!v.token||v.token&&Date.now()>v.expirationTime)){if(!r)throw new Error("Missing required options");u(i(i({fetcher:w},(0,n.Um)(i(i({},r),{refreshToken:v.refreshToken}))),{tokenCacheKey:y,tokenCache:p,requestState:f,pendingTasks:d,response:a}))}else u({fetcher:w,url:s,basicAuth:l,body:h,tokenCacheKey:y,tokenCache:p,requestState:f,pendingTasks:d,response:a})}}},935:(e,t,r)=>{"use strict";r.d(t,{BB:()=>i,Um:()=>s,Vk:()=>c,_T:()=>a});var n=r(754),o=function(){return o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)};function i(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");var t=e.credentials,r=t.clientId,o=t.clientSecret;if(!r||!o)throw new Error("Missing required credentials (clientId, clientSecret)");var i=e.scopes?e.scopes.join(" "):void 0,a=n.Buffer.from("".concat(r,":").concat(o)).toString("base64"),s=e.oauthUri||"/oauth/token";return{basicAuth:a,url:e.host.replace(/\/$/,"")+s,body:"grant_type=client_credentials".concat(i?"&scope=".concat(i):"")}}function a(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");var t=e.credentials,r=t.clientId,o=t.clientSecret,i=t.user,a=e.projectKey;if(!(r&&o&&i))throw new Error("Missing required credentials (clientId, clientSecret, user)");var s=i.username,c=i.password;if(!s||!c)throw new Error("Missing required user credentials (username, password)");var u=(e.scopes||[]).join(" "),l=u?"&scope=".concat(u):"",h=n.Buffer.from("".concat(r,":").concat(o)).toString("base64"),d=e.oauthUri||"/oauth/".concat(a,"/customers/token");return{basicAuth:h,url:e.host.replace(/\/$/,"")+d,body:"grant_type=password&username=".concat(encodeURIComponent(s),"&password=").concat(encodeURIComponent(c)).concat(l)}}function s(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");if(!e.refreshToken)throw new Error("Missing required option (refreshToken)");var t=e.credentials,r=t.clientId,o=t.clientSecret;if(!r||!o)throw new Error("Missing required credentials (clientId, clientSecret)");var i=n.Buffer.from("".concat(r,":").concat(o)).toString("base64"),a=e.oauthUri||"/oauth/token";return{basicAuth:i,url:e.host.replace(/\/$/,"")+a,body:"grant_type=refresh_token&refresh_token=".concat(encodeURIComponent(e.refreshToken))}}function c(e){if(!e)throw new Error("Missing required options");if(!e.projectKey)throw new Error("Missing required option (projectKey)");var t=e.projectKey;e.oauthUri=e.oauthUri||"/oauth/".concat(t,"/anonymous/token");var r=i(e);return e.credentials.anonymousId&&(r.body+="&anonymous_id=".concat(e.credentials.anonymousId)),o({},r)}},554:(e,t,r)=>{"use strict";r.d(t,{Z:()=>c});var n=r(893),o=r(935);function i(e){return{clientId:e.credentials.clientId,host:e.host,projectKey:e.projectKey}}var a=r(156),s=function(){return s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},s.apply(this,arguments)};function c(e){var t=e.tokenCache||(0,a.Z)({token:"",expirationTime:-1}),r=(0,a.Z)(!1),c=[];return function(a){return function(u,l){if(u.headers&&u.headers.authorization||u.headers&&u.headers.Authorization)a(u,l);else{var h=s(s({request:u,response:l},(0,o.BB)(e)),{pendingTasks:c,requestState:r,tokenCache:t,tokenCacheKey:i(e),fetch:e.fetch});(0,n.Z)(h,a)}}}}},352:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function o(e,t){return void 0===e&&(e=""),void 0===t&&(t={}),function(r){return function(o,i){if("string"!=typeof e)throw new Error("authorization must be a string");var a=void 0===t.force||t.force;if(!e||(o.headers&&o.headers.authorization||o.headers&&o.headers.Authorization)&&!1===a)return r(o,i);var s=n(n({},o),{headers:n(n({},o.headers),{Authorization:e})});return r(s,i)}}}},637:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(893),o=r(935),i=r(156),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e){var t=e.tokenCache||(0,i.Z)({}),r=[],s=(0,i.Z)(!1);return function(i){return function(c,u){if(c.headers&&c.headers.authorization||c.headers&&c.headers.Authorization)i(c,u);else{var l=a(a({request:c,response:u},(0,o._T)(e)),{pendingTasks:r,requestState:s,tokenCache:t,fetch:e.fetch});(0,n.Z)(l,i,e)}}}}},589:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(893),o=r(935),i=r(156),a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e){var t=e.tokenCache||(0,i.Z)({token:"",expirationTime:-1}),r=[],s=(0,i.Z)(!1);return function(i){return function(c,u){if(c.headers&&c.headers.authorization||c.headers&&c.headers.Authorization)i(c,u);else{var l=a(a({request:c,response:u},(0,o.Um)(e)),{pendingTasks:r,requestState:s,tokenCache:t,fetch:e.fetch});(0,n.Z)(l,i)}}}}},156:(e,t,r)=>{"use strict";function n(e){var t=e;return{get:function(e){return t},set:function(e,r){t=e}}}r.d(t,{Z:()=>n})},386:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function o(e){return function(t){return function(r,o){var i=n(n({},r),{headers:n(n({},r.headers),{"X-Correlation-ID":e.generate()})});t(i,o)}}}},349:(e,t,r)=>{"use strict";r.d(t,{Z:()=>f});var n=r(754),o=r(109);function i(e){if(e.raw)return e.raw();if(!e.forEach)return{};var t={};return e.forEach((function(e,r){t[r]=e})),t}var a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)},s=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},c=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},u=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))};function l(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function h(e,t,r,n,o){return n&&0!==e?Math.min(Math.round((Math.random()+1)*t*Math.pow(2,e)),o):t}function d(e,t){t&&(e&&e.headers&&e.headers.authorization&&(e.headers.authorization="Bearer ********"),e&&e.headers&&e.headers.Authorization&&(e.headers.Authorization="Bearer ********"))}function f(e){var t,r=e.host,f=e.credentialsMode,p=e.includeResponseHeaders,y=e.includeOriginalRequest,w=e.includeRequestInErrorResponse,v=void 0===w||w,g=e.maskSensitiveHeaderData,m=void 0===g||g,b=e.headersWithStringBody,O=void 0===b?[]:b,j=e.enableRetry,C=e.timeout,M=e.retryConfig,k=void 0===M?{}:M,S=k.maxRetries,E=void 0===S?10:S,A=k.backoff,T=void 0===A||A,q=k.retryDelay,P=void 0===q?200:q,x=k.maxDelay,Z=void 0===x?1/0:x,I=k.retryOnAbort,R=void 0!==I&&I,K=k.retryCodes,U=void 0===K?[503]:K,B=e.fetch,F=e.getAbortController;if(!B)throw new Error("`fetch` is not available. Please pass in `fetch` as an option or have it globally available.");if(C&&!F)throw new Error("`AbortController` is not available. Please pass in `getAbortController` as an option or have AbortController globally available when using timeout.");if(t=B||fetch,!Array.isArray(U))throw new Error("`retryCodes` option must be an array of retry status (error) codes.");if(!Array.isArray(O))throw new Error("`headersWithStringBody` option must be an array of strings");return function(e){return function(w,g){var b=r.replace(/\/$/,"")+w.uri,M=a({},w.headers);Object.prototype.hasOwnProperty.call(M,"Content-Type")||Object.prototype.hasOwnProperty.call(M,"content-type")||(M["Content-Type"]="application/json"),null===M["Content-Type"]&&delete M["Content-Type"];var k=u(["application/json","application/graphql"],c(O),!1).indexOf(M["Content-Type"])>-1&&"string"==typeof w.body||l(w.body)?w.body:JSON.stringify(w.body||void 0);k&&("string"==typeof k||l(k))&&(M["Content-Length"]=n.Buffer.byteLength(k).toString());var S={method:w.method,headers:M};f&&(S.credentialsMode=f),k&&(S.body=k);var A=0;!function r(){var n,c;C&&(c=(F?F():null)||new AbortController,S.signal=c.signal,n=setTimeout((function(){c.abort()}),C)),t(b,S).then((function(t){if(t.ok)return"HEAD"===S.method?void e(w,a(a({},g),{statusCode:t.status})):void t.text().then((function(n){var o;try{o=n.length>0?JSON.parse(n):{}}catch(e){if(j&&A<E)return setTimeout(r,h(A,P,0,T,Z)),void(A+=1);o=n}var s=a(a({},g),{body:o,statusCode:t.status});p&&(s.headers=i(t.headers)),y&&(s.request=a({},S),d(s.request,m)),e(w,s)})).catch((function(t){if(j&&A<E)return setTimeout(r,h(A,P,0,T,Z)),void(A+=1);var n=new o.F7(t.message,a(a({},v?{originalRequest:w}:{}),{retryCount:A}));d(n.originalRequest,m),e(w,a(a({},g),{error:n,statusCode:0}))}));t.text().then((function(n){var c;try{c=JSON.parse(n)}catch(u){c=n}var u=function(e){var t,r=e.statusCode,n=e.message,i=s(e,["statusCode","message"]),a=n||"Unexpected non-JSON error response";404===r&&(a="URI not found: ".concat((null===(t=i.originalRequest)||void 0===t?void 0:t.uri)||i.uri),delete i.uri);var c=(0,o.ZP)(r);return c?new c(a,i):new o.oo(r,a,i)}(a(a(a({statusCode:t.status},v?{originalRequest:w}:404===t.status?{uri:w.uri}:{}),{retryCount:A,headers:i(t.headers)}),"object"==typeof c?{message:c.message,body:c}:{message:c,body:c}));if(j&&(-1!==U.indexOf(u.statusCode)||-1!==(null==U?void 0:U.indexOf(u.message)))&&A<E)return setTimeout(r,h(A,P,0,T,Z)),void(A+=1);d(u.originalRequest,m);var l=a(a({},g),{error:u,statusCode:t.status});e(w,l)}))}),(function(t){if(j&&(R||!c||!c.signal)&&A<E)return setTimeout(r,h(A,P,0,T,Z)),void(A+=1);var n=new o.F7(t.message,a(a({},v?{originalRequest:w}:{}),{retryCount:A}));d(n.originalRequest,m),e(w,a(a({},g),{error:n,statusCode:0}))})).finally((function(){clearTimeout(n)}))}()}}}},357:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(169);function o(){return function(e){return function(t,r){var o=r.error,i=r.body,a=r.statusCode;n.log("Request: ",t),n.log("Response: ",{error:o,body:i,statusCode:a}),e(t,r)}}}},324:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function o(e){var t=e.concurrency,r=void 0===t?20:t,o=[],i=0,a=function(e){if(i-=1,o.length&&i<=r){var t=o.shift();i+=1,e(t.request,t.response)}};return function(e){return function(t,s){var c=n(n({},s),{resolve:function(t){s.resolve(t),a(e)},reject:function(t){s.reject(t),a(e)}});if(o.push({request:t,response:c}),i<r){var u=o.shift();i+=1,e(u.request,u.response)}}}}},406:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});const n={i8:"2.2.1"};var o=r(696),i=function(){return"undefined"!=typeof window&&window.document&&9===window.document.nodeType};var a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e){var t=function(e){if(!e||0===Object.keys(e).length||!{}.hasOwnProperty.call(e,"name"))throw new Error("Missing required option `name`");var t=e.version?"".concat(e.name,"/").concat(e.version):e.name,r=null;e.libraryName&&!e.libraryVersion?r=e.libraryName:e.libraryName&&e.libraryVersion&&(r="".concat(e.libraryName,"/").concat(e.libraryVersion));var n=null;return e.contactUrl&&!e.contactEmail?n="(+".concat(e.contactUrl,")"):!e.contactUrl&&e.contactEmail?n="(+".concat(e.contactEmail,")"):e.contactUrl&&e.contactEmail&&(n="(+".concat(e.contactUrl,"; +").concat(e.contactEmail,")")),[t,function(){if(i())return window.navigator.userAgent;var e=(null==o?void 0:o.version.slice(1))||"12";return"node.js/".concat(e)}(),r,n,e.customAgent||""].filter(Boolean).join(" ")}(a(a({},e),{name:"commercetools-sdk-javascript-v2/".concat(n.i8)}));return function(e){return function(r,n){var o=a(a({},r),{headers:a(a({},r.headers),{"User-Agent":t})});e(o,n)}}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";r.r(n),r.d(n,{ClientBuilder:()=>e.Z,Process:()=>t.N,createAuthForAnonymousSessionFlow:()=>i.Z,createAuthForClientCredentialsFlow:()=>a.Z,createAuthForPasswordFlow:()=>c.Z,createAuthForRefreshTokenFlow:()=>u.Z,createAuthWithExistingToken:()=>s.Z,createClient:()=>t.Z,createCorrelationIdMiddleware:()=>l.Z,createHttpClient:()=>h.Z,createLoggerMiddleware:()=>d.Z,createQueueMiddleware:()=>f.Z,createUserAgentMiddleware:()=>p.Z,getErrorByCode:()=>o.ZP});var e=r(392),t=r(123),o=r(109),i=r(584),a=r(554),s=r(352),c=r(637),u=r(589),l=r(386),h=r(349),d=r(357),f=r(324),p=r(406),y=r(52),w={};for(const e in y)["default","ClientBuilder","createClient","Process","getErrorByCode","createAuthForAnonymousSessionFlow","createAuthForClientCredentialsFlow","createAuthWithExistingToken","createAuthForPasswordFlow","createAuthForRefreshTokenFlow","createCorrelationIdMiddleware","createHttpClient","createLoggerMiddleware","createQueueMiddleware","createUserAgentMiddleware"].indexOf(e)<0&&(w[e]=()=>y[e]);r.d(n,w)})(),n})()));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnonymousAuthMiddlewareOptions, AuthMiddlewareOptions, Client, CorrelationIdMiddlewareOptions, Credentials, ExistingTokenMiddlewareOptions, HttpMiddlewareOptions, HttpUserAgentOptions, Middleware, PasswordAuthMiddlewareOptions, QueueMiddlewareOptions, RefreshAuthMiddlewareOptions } from
|
|
1
|
+
import { AnonymousAuthMiddlewareOptions, AuthMiddlewareOptions, Client, CorrelationIdMiddlewareOptions, Credentials, ExistingTokenMiddlewareOptions, HttpMiddlewareOptions, HttpUserAgentOptions, Middleware, PasswordAuthMiddlewareOptions, QueueMiddlewareOptions, RefreshAuthMiddlewareOptions, TelemetryOptions } from "../types/sdk.js";
|
|
2
2
|
export default class ClientBuilder {
|
|
3
3
|
private projectKey;
|
|
4
4
|
private authMiddleware;
|
|
@@ -7,6 +7,7 @@ export default class ClientBuilder {
|
|
|
7
7
|
private correlationIdMiddleware;
|
|
8
8
|
private loggerMiddleware;
|
|
9
9
|
private queueMiddleware;
|
|
10
|
+
private telemetryMiddleware;
|
|
10
11
|
private middlewares;
|
|
11
12
|
withProjectKey(key: string): ClientBuilder;
|
|
12
13
|
defaultClient(baseUri: string, credentials: Credentials, oauthUri?: string, projectKey?: string): ClientBuilder;
|
|
@@ -22,5 +23,6 @@ export default class ClientBuilder {
|
|
|
22
23
|
withQueueMiddleware(options: QueueMiddlewareOptions): ClientBuilder;
|
|
23
24
|
withLoggerMiddleware(): this;
|
|
24
25
|
withCorrelationIdMiddleware(options: CorrelationIdMiddlewareOptions): ClientBuilder;
|
|
26
|
+
withTelemetryMiddleware<T extends TelemetryOptions<T>>(options: T): ClientBuilder;
|
|
25
27
|
build(): Client;
|
|
26
28
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { default as ClientBuilder } from
|
|
2
|
-
export { default as createClient, process as Process
|
|
3
|
-
export { default as getErrorByCode } from
|
|
4
|
-
export { default as createAuthForAnonymousSessionFlow } from
|
|
5
|
-
export { default as createAuthForClientCredentialsFlow } from
|
|
6
|
-
export { default as createAuthWithExistingToken } from
|
|
7
|
-
export { default as createAuthForPasswordFlow } from
|
|
8
|
-
export { default as createAuthForRefreshTokenFlow } from
|
|
9
|
-
export { default as createCorrelationIdMiddleware } from
|
|
10
|
-
export { default as createHttpClient } from
|
|
11
|
-
export { default as createLoggerMiddleware } from
|
|
12
|
-
export { default as createQueueMiddleware } from
|
|
13
|
-
export { default as createUserAgentMiddleware } from
|
|
14
|
-
export * from
|
|
1
|
+
export { default as ClientBuilder } from "./client-builder/ClientBuilder.js";
|
|
2
|
+
export { default as createClient, process as Process } from "./sdk-client/client.js";
|
|
3
|
+
export { default as getErrorByCode } from "./sdk-client/errors.js";
|
|
4
|
+
export { default as createAuthForAnonymousSessionFlow } from "./sdk-middleware-auth/anonymous-session-flow.js";
|
|
5
|
+
export { default as createAuthForClientCredentialsFlow } from "./sdk-middleware-auth/client-credentials-flow.js";
|
|
6
|
+
export { default as createAuthWithExistingToken } from "./sdk-middleware-auth/existing-token.js";
|
|
7
|
+
export { default as createAuthForPasswordFlow } from "./sdk-middleware-auth/password-flow.js";
|
|
8
|
+
export { default as createAuthForRefreshTokenFlow } from "./sdk-middleware-auth/refresh-token-flow.js";
|
|
9
|
+
export { default as createCorrelationIdMiddleware } from "./sdk-middleware-correlation-id/correlation-id.js";
|
|
10
|
+
export { default as createHttpClient } from "./sdk-middleware-http/http.js";
|
|
11
|
+
export { default as createLoggerMiddleware } from "./sdk-middleware-logger/logger.js";
|
|
12
|
+
export { default as createQueueMiddleware } from "./sdk-middleware-queue/queue.js";
|
|
13
|
+
export { default as createUserAgentMiddleware } from "./sdk-middleware-user-agent/user-agent.js";
|
|
14
|
+
export * from "./types/sdk.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Client, ClientOptions, ClientRequest, ProcessFn, ProcessOptions } from
|
|
1
|
+
import { Client, ClientOptions, ClientRequest, ProcessFn, ProcessOptions } from "../types/sdk.js";
|
|
2
2
|
export declare function process(request: ClientRequest, fn: ProcessFn, processOpt: ProcessOptions): Promise<Array<Object>>;
|
|
3
3
|
export default function createClient(options: ClientOptions): Client;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AuthMiddlewareOptions, Middleware } from
|
|
1
|
+
import { AuthMiddlewareOptions, Middleware } from "../types/sdk.js";
|
|
2
2
|
export default function createAuthMiddlewareForAnonymousSessionFlow(options: AuthMiddlewareOptions): Middleware;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AuthMiddlewareOptions, Middleware } from
|
|
1
|
+
import { AuthMiddlewareOptions, Middleware } from "../types/sdk.js";
|
|
2
2
|
export default function createAuthMiddlewareForClientCredentialsFlow(options: AuthMiddlewareOptions): Middleware;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ExistingTokenMiddlewareOptions, Middleware } from
|
|
1
|
+
import { ExistingTokenMiddlewareOptions, Middleware } from "../types/sdk.js";
|
|
2
2
|
export default function createAuthMiddlewareWithExistingToken(authorization?: string, options?: ExistingTokenMiddlewareOptions): Middleware;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Middleware, PasswordAuthMiddlewareOptions } from
|
|
1
|
+
import { Middleware, PasswordAuthMiddlewareOptions } from "../types/sdk.js";
|
|
2
2
|
export default function createAuthMiddlewareForPasswordFlow(options: PasswordAuthMiddlewareOptions): Middleware;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Middleware, RefreshAuthMiddlewareOptions } from
|
|
1
|
+
import { Middleware, RefreshAuthMiddlewareOptions } from "../types/sdk.js";
|
|
2
2
|
export default function createAuthMiddlewareForRefreshTokenFlow(options: RefreshAuthMiddlewareOptions): Middleware;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { CorrelationIdMiddlewareOptions, Middleware } from
|
|
1
|
+
import type { CorrelationIdMiddlewareOptions, Middleware } from "../types/sdk.js";
|
|
2
2
|
export default function createCorrelationIdMiddleware(options: CorrelationIdMiddlewareOptions): Middleware;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { HttpMiddlewareOptions, Middleware } from
|
|
2
|
-
export default function createHttpMiddleware({ host, credentialsMode, includeResponseHeaders, includeOriginalRequest, includeRequestInErrorResponse, maskSensitiveHeaderData, enableRetry, timeout, retryConfig: { maxRetries, backoff, retryDelay, maxDelay, retryOnAbort, retryCodes, }, fetch: fetcher, getAbortController, }: HttpMiddlewareOptions): Middleware;
|
|
1
|
+
import { HttpMiddlewareOptions, Middleware } from "../types/sdk.js";
|
|
2
|
+
export default function createHttpMiddleware({ host, credentialsMode, includeResponseHeaders, includeOriginalRequest, includeRequestInErrorResponse, maskSensitiveHeaderData, headersWithStringBody, enableRetry, timeout, retryConfig: { maxRetries, backoff, retryDelay, maxDelay, retryOnAbort, retryCodes, }, fetch: fetcher, getAbortController, }: HttpMiddlewareOptions): Middleware;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Middleware } from
|
|
1
|
+
import type { Middleware } from "../types/sdk.js";
|
|
2
2
|
export default function createLoggerMiddleware(): Middleware;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Middleware, QueueMiddlewareOptions } from
|
|
1
|
+
import type { Middleware, QueueMiddlewareOptions } from "../types/sdk.js";
|
|
2
2
|
export default function createQueueMiddleware({ concurrency, }: QueueMiddlewareOptions): Middleware;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { HttpUserAgentOptions, Middleware } from
|
|
1
|
+
import { HttpUserAgentOptions, Middleware } from "../types/sdk.js";
|
|
2
2
|
export default function createUserAgentMiddleware(options?: HttpUserAgentOptions): Middleware;
|
|
@@ -100,7 +100,7 @@ export interface ClientRequest {
|
|
|
100
100
|
uriTemplate?: string
|
|
101
101
|
pathVariables?: VariableMap
|
|
102
102
|
queryParams?: VariableMap
|
|
103
|
-
body?: any
|
|
103
|
+
body?: any
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
export type ClientResponse<T = any> = {
|
|
@@ -275,7 +275,7 @@ type requestBaseOptions = {
|
|
|
275
275
|
body: string
|
|
276
276
|
basicAuth: string
|
|
277
277
|
pendingTasks: Array<Task>
|
|
278
|
-
requestState: RequestStateStore
|
|
278
|
+
requestState: RequestStateStore
|
|
279
279
|
tokenCache: TokenCache
|
|
280
280
|
tokenCacheKey?: TokenCacheOptions
|
|
281
281
|
}
|
|
@@ -321,6 +321,7 @@ export type HttpMiddlewareOptions = {
|
|
|
321
321
|
includeOriginalRequest?: boolean
|
|
322
322
|
includeRequestInErrorResponse?: boolean
|
|
323
323
|
maskSensitiveHeaderData?: boolean
|
|
324
|
+
headersWithStringBody?: Array<string>
|
|
324
325
|
timeout?: number
|
|
325
326
|
enableRetry?: boolean
|
|
326
327
|
retryConfig?: {
|
|
@@ -329,7 +330,7 @@ export type HttpMiddlewareOptions = {
|
|
|
329
330
|
backoff?: boolean
|
|
330
331
|
maxDelay?: number
|
|
331
332
|
retryOnAbort?: boolean
|
|
332
|
-
retryCodes?: Array<number | string
|
|
333
|
+
retryCodes?: Array<number | string>
|
|
333
334
|
}
|
|
334
335
|
fetch?: any
|
|
335
336
|
abortController?: AbortController // deprecated
|
|
@@ -523,3 +524,14 @@ export type ExistingTokenMiddlewareOptions = {
|
|
|
523
524
|
export type CorrelationIdMiddlewareOptions = {
|
|
524
525
|
generate: () => string
|
|
525
526
|
}
|
|
527
|
+
|
|
528
|
+
// // TODO: specify specific options
|
|
529
|
+
// // export type ApmMiddlewareOptions = Record<string, any>
|
|
530
|
+
// export type ApmMiddlewareOptions = {
|
|
531
|
+
// createApmMiddleware: (options?: any) => Middleware,
|
|
532
|
+
// apm: any
|
|
533
|
+
// }
|
|
534
|
+
|
|
535
|
+
export type TelemetryOptions<T> = {
|
|
536
|
+
createTelemetryMiddleware: (options?: Omit<T, 'createTelemetryMiddleware'>) => Middleware
|
|
537
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools/sdk-client-v2",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=14"
|
|
6
6
|
},
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"abort-controller": "3.0.0",
|
|
49
49
|
"common-tags": "1.8.2",
|
|
50
|
-
"dotenv": "16.
|
|
51
|
-
"jest": "29.
|
|
50
|
+
"dotenv": "16.3.1",
|
|
51
|
+
"jest": "29.6.2",
|
|
52
52
|
"nock": "12.0.3",
|
|
53
53
|
"organize-imports-cli": "0.10.0"
|
|
54
54
|
},
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { AuthMiddlewareBaseOptions, AuthMiddlewareOptions, Next, PasswordAuthMiddlewareOptions } from '../types/sdk.d';
|
|
2
|
-
export default function authMiddlewareBase({ request, response, url, basicAuth, body, pendingTasks, requestState, tokenCache, tokenCacheKey, fetch: fetcher, }: AuthMiddlewareBaseOptions, next: Next, userOptions?: AuthMiddlewareOptions | PasswordAuthMiddlewareOptions): void;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { AuthMiddlewareOptions, PasswordAuthMiddlewareOptions, RefreshAuthMiddlewareOptions } from '../types/sdk.d';
|
|
2
|
-
interface IBuiltRequestParams {
|
|
3
|
-
basicAuth: string;
|
|
4
|
-
url: string;
|
|
5
|
-
body: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function buildRequestForClientCredentialsFlow(options: AuthMiddlewareOptions): IBuiltRequestParams;
|
|
8
|
-
export declare function buildRequestForPasswordFlow(options: PasswordAuthMiddlewareOptions): IBuiltRequestParams;
|
|
9
|
-
export declare function buildRequestForRefreshTokenFlow(options: RefreshAuthMiddlewareOptions): IBuiltRequestParams;
|
|
10
|
-
export declare function buildRequestForAnonymousSessionFlow(options: AuthMiddlewareOptions): IBuiltRequestParams;
|
|
11
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { default as createAuthMiddlewareForAnonymousSessionFlow } from './anonymous-session-flow';
|
|
2
|
-
export { default as createAuthMiddlewareForClientCredentialsFlow } from './client-credentials-flow';
|
|
3
|
-
export { default as createAuthMiddlewareWithExistingToken } from './existing-token';
|
|
4
|
-
export { default as createAuthMiddlewareForPasswordFlow } from './password-flow';
|
|
5
|
-
export { default as createAuthMiddlewareForRefreshTokenFlow } from './refresh-token-flow';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { stringifyURLString, parseURLString } from './url';
|
|
@@ -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;
|