@commercetools/ts-client 2.1.0-alpha.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/commercetools-ts-client.browser.cjs.js +39 -52
- package/dist/commercetools-ts-client.browser.esm.js +39 -52
- package/dist/commercetools-ts-client.cjs.dev.js +39 -52
- package/dist/commercetools-ts-client.cjs.prod.js +39 -52
- package/dist/commercetools-ts-client.esm.js +39 -52
- package/dist/commercetools-ts-client.umd.js +1 -1
- package/dist/declarations/src/middleware/auth-middleware/anonymous-session-flow.d.ts.map +1 -1
- package/dist/declarations/src/middleware/auth-middleware/client-credentials-flow.d.ts.map +1 -1
- package/dist/declarations/src/middleware/auth-middleware/password-flow.d.ts.map +1 -1
- package/dist/declarations/src/middleware/auth-middleware/refresh-token-flow.d.ts.map +1 -1
- package/dist/declarations/src/middleware/create-queue-middleware.d.ts.map +1 -1
- package/dist/declarations/src/types/types.d.ts +0 -2
- package/package.json +3 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @commercetools/ts-client
|
|
2
2
|
|
|
3
|
+
## 2.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#814](https://github.com/commercetools/commercetools-sdk-typescript/pull/814) [`57a16d7`](https://github.com/commercetools/commercetools-sdk-typescript/commit/57a16d75ded60923bf080ef2270c3396fe8bc0e5) Thanks [@ajimae](https://github.com/ajimae)! - Restructure middleware logic
|
|
8
|
+
|
|
3
9
|
## 2.0.5
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -259,16 +259,9 @@ async function executor(request) {
|
|
|
259
259
|
return data;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
// import { v4 as uuidv4 } from 'uuid'
|
|
263
|
-
|
|
264
|
-
// export default function generateID() {
|
|
265
|
-
// return uuidv4()
|
|
266
|
-
// }
|
|
267
|
-
|
|
268
262
|
function generateID() {
|
|
269
263
|
// @ts-ignore
|
|
270
|
-
|
|
271
|
-
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
|
|
264
|
+
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
|
|
272
265
|
}
|
|
273
266
|
|
|
274
267
|
function parse(headers) {
|
|
@@ -751,11 +744,9 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
|
|
|
751
744
|
tokenFetchPromise = null;
|
|
752
745
|
}
|
|
753
746
|
|
|
754
|
-
// Now the token is present in the tokenCache
|
|
747
|
+
// Now the token is present in the tokenCache and can be accessed
|
|
755
748
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
756
|
-
|
|
757
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
758
|
-
}
|
|
749
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
759
750
|
};
|
|
760
751
|
};
|
|
761
752
|
}
|
|
@@ -808,9 +799,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
|
|
|
808
799
|
|
|
809
800
|
// Now the token is present in the tokenCache
|
|
810
801
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
811
|
-
|
|
812
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
813
|
-
}
|
|
802
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
814
803
|
};
|
|
815
804
|
};
|
|
816
805
|
}
|
|
@@ -886,9 +875,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
|
|
|
886
875
|
|
|
887
876
|
// Now the token is present in the tokenCache
|
|
888
877
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
889
|
-
|
|
890
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
891
|
-
}
|
|
878
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
892
879
|
};
|
|
893
880
|
};
|
|
894
881
|
}
|
|
@@ -937,9 +924,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
|
|
|
937
924
|
|
|
938
925
|
// Now the token is present in the tokenCache
|
|
939
926
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
940
|
-
|
|
941
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
942
|
-
}
|
|
927
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
943
928
|
};
|
|
944
929
|
};
|
|
945
930
|
}
|
|
@@ -958,7 +943,7 @@ function createConcurrentModificationMiddleware$1(modifierFunction) {
|
|
|
958
943
|
|
|
959
944
|
// update the resource version here
|
|
960
945
|
if (version) {
|
|
961
|
-
if (modifierFunction) {
|
|
946
|
+
if (modifierFunction && typeof modifierFunction == 'function') {
|
|
962
947
|
request.body = await modifierFunction(version, request, response);
|
|
963
948
|
} else {
|
|
964
949
|
request.body = typeof request.body == 'string' ? {
|
|
@@ -1212,8 +1197,8 @@ function createQueueMiddleware$1({
|
|
|
1212
1197
|
concurrency = 20
|
|
1213
1198
|
}) {
|
|
1214
1199
|
let runningCount = 0;
|
|
1200
|
+
const queue = [];
|
|
1215
1201
|
const waitForSlot = () => {
|
|
1216
|
-
// dont allow negative or 0 value for concurrency
|
|
1217
1202
|
if (0 >= concurrency) return Promise.resolve();
|
|
1218
1203
|
return new Promise(resolve => {
|
|
1219
1204
|
const tryNext = () => {
|
|
@@ -1221,43 +1206,48 @@ function createQueueMiddleware$1({
|
|
|
1221
1206
|
runningCount++;
|
|
1222
1207
|
resolve();
|
|
1223
1208
|
} else {
|
|
1224
|
-
|
|
1225
|
-
setTimeout(tryNext, 10);
|
|
1209
|
+
queue.push(tryNext);
|
|
1226
1210
|
}
|
|
1227
1211
|
};
|
|
1228
|
-
|
|
1229
|
-
// start
|
|
1230
1212
|
tryNext();
|
|
1231
1213
|
});
|
|
1232
1214
|
};
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1215
|
+
|
|
1216
|
+
// Function to free up a slot after a request is completed
|
|
1217
|
+
const freeSlot = () => {
|
|
1218
|
+
runningCount--;
|
|
1219
|
+
if (queue.length > 0) {
|
|
1220
|
+
const nextInQueue = queue.shift();
|
|
1221
|
+
if (nextInQueue) {
|
|
1222
|
+
nextInQueue();
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
};
|
|
1226
|
+
return next => request => {
|
|
1227
|
+
return waitForSlot().then(() => {
|
|
1228
|
+
const patchedRequest = {
|
|
1229
|
+
...request,
|
|
1230
|
+
resolve(data) {
|
|
1231
|
+
request.resolve(data);
|
|
1232
|
+
freeSlot();
|
|
1233
|
+
},
|
|
1234
|
+
reject(error) {
|
|
1235
|
+
request.reject(error);
|
|
1236
|
+
freeSlot();
|
|
1252
1237
|
}
|
|
1238
|
+
};
|
|
1239
|
+
|
|
1240
|
+
// Process the next middleware
|
|
1241
|
+
return next(patchedRequest).finally(() => {
|
|
1242
|
+
freeSlot();
|
|
1253
1243
|
});
|
|
1254
|
-
};
|
|
1244
|
+
});
|
|
1255
1245
|
};
|
|
1256
1246
|
}
|
|
1257
1247
|
|
|
1258
1248
|
var packageJson = {
|
|
1259
1249
|
name: "@commercetools/ts-client",
|
|
1260
|
-
version: "2.1.0
|
|
1250
|
+
version: "2.1.0",
|
|
1261
1251
|
engines: {
|
|
1262
1252
|
node: ">=14"
|
|
1263
1253
|
},
|
|
@@ -1295,10 +1285,7 @@ var packageJson = {
|
|
|
1295
1285
|
},
|
|
1296
1286
|
files: [
|
|
1297
1287
|
"dist",
|
|
1298
|
-
"CHANGELOG.md"
|
|
1299
|
-
"LICENSE",
|
|
1300
|
-
"README.md",
|
|
1301
|
-
"package.json"
|
|
1288
|
+
"CHANGELOG.md"
|
|
1302
1289
|
],
|
|
1303
1290
|
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
1304
1291
|
main: "dist/commercetools-ts-client.cjs.js",
|
|
@@ -250,16 +250,9 @@ async function executor(request) {
|
|
|
250
250
|
return data;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
-
// import { v4 as uuidv4 } from 'uuid'
|
|
254
|
-
|
|
255
|
-
// export default function generateID() {
|
|
256
|
-
// return uuidv4()
|
|
257
|
-
// }
|
|
258
|
-
|
|
259
253
|
function generateID() {
|
|
260
254
|
// @ts-ignore
|
|
261
|
-
|
|
262
|
-
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
|
|
255
|
+
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
|
|
263
256
|
}
|
|
264
257
|
|
|
265
258
|
function parse(headers) {
|
|
@@ -742,11 +735,9 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
|
|
|
742
735
|
tokenFetchPromise = null;
|
|
743
736
|
}
|
|
744
737
|
|
|
745
|
-
// Now the token is present in the tokenCache
|
|
738
|
+
// Now the token is present in the tokenCache and can be accessed
|
|
746
739
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
747
|
-
|
|
748
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
749
|
-
}
|
|
740
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
750
741
|
};
|
|
751
742
|
};
|
|
752
743
|
}
|
|
@@ -799,9 +790,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
|
|
|
799
790
|
|
|
800
791
|
// Now the token is present in the tokenCache
|
|
801
792
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
802
|
-
|
|
803
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
804
|
-
}
|
|
793
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
805
794
|
};
|
|
806
795
|
};
|
|
807
796
|
}
|
|
@@ -877,9 +866,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
|
|
|
877
866
|
|
|
878
867
|
// Now the token is present in the tokenCache
|
|
879
868
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
880
|
-
|
|
881
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
882
|
-
}
|
|
869
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
883
870
|
};
|
|
884
871
|
};
|
|
885
872
|
}
|
|
@@ -928,9 +915,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
|
|
|
928
915
|
|
|
929
916
|
// Now the token is present in the tokenCache
|
|
930
917
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
931
|
-
|
|
932
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
933
|
-
}
|
|
918
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
934
919
|
};
|
|
935
920
|
};
|
|
936
921
|
}
|
|
@@ -949,7 +934,7 @@ function createConcurrentModificationMiddleware$1(modifierFunction) {
|
|
|
949
934
|
|
|
950
935
|
// update the resource version here
|
|
951
936
|
if (version) {
|
|
952
|
-
if (modifierFunction) {
|
|
937
|
+
if (modifierFunction && typeof modifierFunction == 'function') {
|
|
953
938
|
request.body = await modifierFunction(version, request, response);
|
|
954
939
|
} else {
|
|
955
940
|
request.body = typeof request.body == 'string' ? {
|
|
@@ -1203,8 +1188,8 @@ function createQueueMiddleware$1({
|
|
|
1203
1188
|
concurrency = 20
|
|
1204
1189
|
}) {
|
|
1205
1190
|
let runningCount = 0;
|
|
1191
|
+
const queue = [];
|
|
1206
1192
|
const waitForSlot = () => {
|
|
1207
|
-
// dont allow negative or 0 value for concurrency
|
|
1208
1193
|
if (0 >= concurrency) return Promise.resolve();
|
|
1209
1194
|
return new Promise(resolve => {
|
|
1210
1195
|
const tryNext = () => {
|
|
@@ -1212,43 +1197,48 @@ function createQueueMiddleware$1({
|
|
|
1212
1197
|
runningCount++;
|
|
1213
1198
|
resolve();
|
|
1214
1199
|
} else {
|
|
1215
|
-
|
|
1216
|
-
setTimeout(tryNext, 10);
|
|
1200
|
+
queue.push(tryNext);
|
|
1217
1201
|
}
|
|
1218
1202
|
};
|
|
1219
|
-
|
|
1220
|
-
// start
|
|
1221
1203
|
tryNext();
|
|
1222
1204
|
});
|
|
1223
1205
|
};
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1206
|
+
|
|
1207
|
+
// Function to free up a slot after a request is completed
|
|
1208
|
+
const freeSlot = () => {
|
|
1209
|
+
runningCount--;
|
|
1210
|
+
if (queue.length > 0) {
|
|
1211
|
+
const nextInQueue = queue.shift();
|
|
1212
|
+
if (nextInQueue) {
|
|
1213
|
+
nextInQueue();
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
};
|
|
1217
|
+
return next => request => {
|
|
1218
|
+
return waitForSlot().then(() => {
|
|
1219
|
+
const patchedRequest = {
|
|
1220
|
+
...request,
|
|
1221
|
+
resolve(data) {
|
|
1222
|
+
request.resolve(data);
|
|
1223
|
+
freeSlot();
|
|
1224
|
+
},
|
|
1225
|
+
reject(error) {
|
|
1226
|
+
request.reject(error);
|
|
1227
|
+
freeSlot();
|
|
1243
1228
|
}
|
|
1229
|
+
};
|
|
1230
|
+
|
|
1231
|
+
// Process the next middleware
|
|
1232
|
+
return next(patchedRequest).finally(() => {
|
|
1233
|
+
freeSlot();
|
|
1244
1234
|
});
|
|
1245
|
-
};
|
|
1235
|
+
});
|
|
1246
1236
|
};
|
|
1247
1237
|
}
|
|
1248
1238
|
|
|
1249
1239
|
var packageJson = {
|
|
1250
1240
|
name: "@commercetools/ts-client",
|
|
1251
|
-
version: "2.1.0
|
|
1241
|
+
version: "2.1.0",
|
|
1252
1242
|
engines: {
|
|
1253
1243
|
node: ">=14"
|
|
1254
1244
|
},
|
|
@@ -1286,10 +1276,7 @@ var packageJson = {
|
|
|
1286
1276
|
},
|
|
1287
1277
|
files: [
|
|
1288
1278
|
"dist",
|
|
1289
|
-
"CHANGELOG.md"
|
|
1290
|
-
"LICENSE",
|
|
1291
|
-
"README.md",
|
|
1292
|
-
"package.json"
|
|
1279
|
+
"CHANGELOG.md"
|
|
1293
1280
|
],
|
|
1294
1281
|
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
1295
1282
|
main: "dist/commercetools-ts-client.cjs.js",
|
|
@@ -259,16 +259,9 @@ async function executor(request) {
|
|
|
259
259
|
return data;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
// import { v4 as uuidv4 } from 'uuid'
|
|
263
|
-
|
|
264
|
-
// export default function generateID() {
|
|
265
|
-
// return uuidv4()
|
|
266
|
-
// }
|
|
267
|
-
|
|
268
262
|
function generateID() {
|
|
269
263
|
// @ts-ignore
|
|
270
|
-
|
|
271
|
-
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
|
|
264
|
+
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
|
|
272
265
|
}
|
|
273
266
|
|
|
274
267
|
function parse(headers) {
|
|
@@ -751,11 +744,9 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
|
|
|
751
744
|
tokenFetchPromise = null;
|
|
752
745
|
}
|
|
753
746
|
|
|
754
|
-
// Now the token is present in the tokenCache
|
|
747
|
+
// Now the token is present in the tokenCache and can be accessed
|
|
755
748
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
756
|
-
|
|
757
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
758
|
-
}
|
|
749
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
759
750
|
};
|
|
760
751
|
};
|
|
761
752
|
}
|
|
@@ -808,9 +799,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
|
|
|
808
799
|
|
|
809
800
|
// Now the token is present in the tokenCache
|
|
810
801
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
811
|
-
|
|
812
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
813
|
-
}
|
|
802
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
814
803
|
};
|
|
815
804
|
};
|
|
816
805
|
}
|
|
@@ -886,9 +875,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
|
|
|
886
875
|
|
|
887
876
|
// Now the token is present in the tokenCache
|
|
888
877
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
889
|
-
|
|
890
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
891
|
-
}
|
|
878
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
892
879
|
};
|
|
893
880
|
};
|
|
894
881
|
}
|
|
@@ -937,9 +924,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
|
|
|
937
924
|
|
|
938
925
|
// Now the token is present in the tokenCache
|
|
939
926
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
940
|
-
|
|
941
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
942
|
-
}
|
|
927
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
943
928
|
};
|
|
944
929
|
};
|
|
945
930
|
}
|
|
@@ -958,7 +943,7 @@ function createConcurrentModificationMiddleware$1(modifierFunction) {
|
|
|
958
943
|
|
|
959
944
|
// update the resource version here
|
|
960
945
|
if (version) {
|
|
961
|
-
if (modifierFunction) {
|
|
946
|
+
if (modifierFunction && typeof modifierFunction == 'function') {
|
|
962
947
|
request.body = await modifierFunction(version, request, response);
|
|
963
948
|
} else {
|
|
964
949
|
request.body = typeof request.body == 'string' ? {
|
|
@@ -1212,8 +1197,8 @@ function createQueueMiddleware$1({
|
|
|
1212
1197
|
concurrency = 20
|
|
1213
1198
|
}) {
|
|
1214
1199
|
let runningCount = 0;
|
|
1200
|
+
const queue = [];
|
|
1215
1201
|
const waitForSlot = () => {
|
|
1216
|
-
// dont allow negative or 0 value for concurrency
|
|
1217
1202
|
if (0 >= concurrency) return Promise.resolve();
|
|
1218
1203
|
return new Promise(resolve => {
|
|
1219
1204
|
const tryNext = () => {
|
|
@@ -1221,43 +1206,48 @@ function createQueueMiddleware$1({
|
|
|
1221
1206
|
runningCount++;
|
|
1222
1207
|
resolve();
|
|
1223
1208
|
} else {
|
|
1224
|
-
|
|
1225
|
-
setTimeout(tryNext, 10);
|
|
1209
|
+
queue.push(tryNext);
|
|
1226
1210
|
}
|
|
1227
1211
|
};
|
|
1228
|
-
|
|
1229
|
-
// start
|
|
1230
1212
|
tryNext();
|
|
1231
1213
|
});
|
|
1232
1214
|
};
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1215
|
+
|
|
1216
|
+
// Function to free up a slot after a request is completed
|
|
1217
|
+
const freeSlot = () => {
|
|
1218
|
+
runningCount--;
|
|
1219
|
+
if (queue.length > 0) {
|
|
1220
|
+
const nextInQueue = queue.shift();
|
|
1221
|
+
if (nextInQueue) {
|
|
1222
|
+
nextInQueue();
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
};
|
|
1226
|
+
return next => request => {
|
|
1227
|
+
return waitForSlot().then(() => {
|
|
1228
|
+
const patchedRequest = {
|
|
1229
|
+
...request,
|
|
1230
|
+
resolve(data) {
|
|
1231
|
+
request.resolve(data);
|
|
1232
|
+
freeSlot();
|
|
1233
|
+
},
|
|
1234
|
+
reject(error) {
|
|
1235
|
+
request.reject(error);
|
|
1236
|
+
freeSlot();
|
|
1252
1237
|
}
|
|
1238
|
+
};
|
|
1239
|
+
|
|
1240
|
+
// Process the next middleware
|
|
1241
|
+
return next(patchedRequest).finally(() => {
|
|
1242
|
+
freeSlot();
|
|
1253
1243
|
});
|
|
1254
|
-
};
|
|
1244
|
+
});
|
|
1255
1245
|
};
|
|
1256
1246
|
}
|
|
1257
1247
|
|
|
1258
1248
|
var packageJson = {
|
|
1259
1249
|
name: "@commercetools/ts-client",
|
|
1260
|
-
version: "2.1.0
|
|
1250
|
+
version: "2.1.0",
|
|
1261
1251
|
engines: {
|
|
1262
1252
|
node: ">=14"
|
|
1263
1253
|
},
|
|
@@ -1295,10 +1285,7 @@ var packageJson = {
|
|
|
1295
1285
|
},
|
|
1296
1286
|
files: [
|
|
1297
1287
|
"dist",
|
|
1298
|
-
"CHANGELOG.md"
|
|
1299
|
-
"LICENSE",
|
|
1300
|
-
"README.md",
|
|
1301
|
-
"package.json"
|
|
1288
|
+
"CHANGELOG.md"
|
|
1302
1289
|
],
|
|
1303
1290
|
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
1304
1291
|
main: "dist/commercetools-ts-client.cjs.js",
|
|
@@ -259,16 +259,9 @@ async function executor(request) {
|
|
|
259
259
|
return data;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
// import { v4 as uuidv4 } from 'uuid'
|
|
263
|
-
|
|
264
|
-
// export default function generateID() {
|
|
265
|
-
// return uuidv4()
|
|
266
|
-
// }
|
|
267
|
-
|
|
268
262
|
function generateID() {
|
|
269
263
|
// @ts-ignore
|
|
270
|
-
|
|
271
|
-
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
|
|
264
|
+
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
|
|
272
265
|
}
|
|
273
266
|
|
|
274
267
|
function parse(headers) {
|
|
@@ -751,11 +744,9 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
|
|
|
751
744
|
tokenFetchPromise = null;
|
|
752
745
|
}
|
|
753
746
|
|
|
754
|
-
// Now the token is present in the tokenCache
|
|
747
|
+
// Now the token is present in the tokenCache and can be accessed
|
|
755
748
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
756
|
-
|
|
757
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
758
|
-
}
|
|
749
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
759
750
|
};
|
|
760
751
|
};
|
|
761
752
|
}
|
|
@@ -808,9 +799,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
|
|
|
808
799
|
|
|
809
800
|
// Now the token is present in the tokenCache
|
|
810
801
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
811
|
-
|
|
812
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
813
|
-
}
|
|
802
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
814
803
|
};
|
|
815
804
|
};
|
|
816
805
|
}
|
|
@@ -886,9 +875,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
|
|
|
886
875
|
|
|
887
876
|
// Now the token is present in the tokenCache
|
|
888
877
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
889
|
-
|
|
890
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
891
|
-
}
|
|
878
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
892
879
|
};
|
|
893
880
|
};
|
|
894
881
|
}
|
|
@@ -937,9 +924,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
|
|
|
937
924
|
|
|
938
925
|
// Now the token is present in the tokenCache
|
|
939
926
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
940
|
-
|
|
941
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
942
|
-
}
|
|
927
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
943
928
|
};
|
|
944
929
|
};
|
|
945
930
|
}
|
|
@@ -958,7 +943,7 @@ function createConcurrentModificationMiddleware$1(modifierFunction) {
|
|
|
958
943
|
|
|
959
944
|
// update the resource version here
|
|
960
945
|
if (version) {
|
|
961
|
-
if (modifierFunction) {
|
|
946
|
+
if (modifierFunction && typeof modifierFunction == 'function') {
|
|
962
947
|
request.body = await modifierFunction(version, request, response);
|
|
963
948
|
} else {
|
|
964
949
|
request.body = typeof request.body == 'string' ? {
|
|
@@ -1212,8 +1197,8 @@ function createQueueMiddleware$1({
|
|
|
1212
1197
|
concurrency = 20
|
|
1213
1198
|
}) {
|
|
1214
1199
|
let runningCount = 0;
|
|
1200
|
+
const queue = [];
|
|
1215
1201
|
const waitForSlot = () => {
|
|
1216
|
-
// dont allow negative or 0 value for concurrency
|
|
1217
1202
|
if (0 >= concurrency) return Promise.resolve();
|
|
1218
1203
|
return new Promise(resolve => {
|
|
1219
1204
|
const tryNext = () => {
|
|
@@ -1221,43 +1206,48 @@ function createQueueMiddleware$1({
|
|
|
1221
1206
|
runningCount++;
|
|
1222
1207
|
resolve();
|
|
1223
1208
|
} else {
|
|
1224
|
-
|
|
1225
|
-
setTimeout(tryNext, 10);
|
|
1209
|
+
queue.push(tryNext);
|
|
1226
1210
|
}
|
|
1227
1211
|
};
|
|
1228
|
-
|
|
1229
|
-
// start
|
|
1230
1212
|
tryNext();
|
|
1231
1213
|
});
|
|
1232
1214
|
};
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1215
|
+
|
|
1216
|
+
// Function to free up a slot after a request is completed
|
|
1217
|
+
const freeSlot = () => {
|
|
1218
|
+
runningCount--;
|
|
1219
|
+
if (queue.length > 0) {
|
|
1220
|
+
const nextInQueue = queue.shift();
|
|
1221
|
+
if (nextInQueue) {
|
|
1222
|
+
nextInQueue();
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
};
|
|
1226
|
+
return next => request => {
|
|
1227
|
+
return waitForSlot().then(() => {
|
|
1228
|
+
const patchedRequest = {
|
|
1229
|
+
...request,
|
|
1230
|
+
resolve(data) {
|
|
1231
|
+
request.resolve(data);
|
|
1232
|
+
freeSlot();
|
|
1233
|
+
},
|
|
1234
|
+
reject(error) {
|
|
1235
|
+
request.reject(error);
|
|
1236
|
+
freeSlot();
|
|
1252
1237
|
}
|
|
1238
|
+
};
|
|
1239
|
+
|
|
1240
|
+
// Process the next middleware
|
|
1241
|
+
return next(patchedRequest).finally(() => {
|
|
1242
|
+
freeSlot();
|
|
1253
1243
|
});
|
|
1254
|
-
};
|
|
1244
|
+
});
|
|
1255
1245
|
};
|
|
1256
1246
|
}
|
|
1257
1247
|
|
|
1258
1248
|
var packageJson = {
|
|
1259
1249
|
name: "@commercetools/ts-client",
|
|
1260
|
-
version: "2.1.0
|
|
1250
|
+
version: "2.1.0",
|
|
1261
1251
|
engines: {
|
|
1262
1252
|
node: ">=14"
|
|
1263
1253
|
},
|
|
@@ -1295,10 +1285,7 @@ var packageJson = {
|
|
|
1295
1285
|
},
|
|
1296
1286
|
files: [
|
|
1297
1287
|
"dist",
|
|
1298
|
-
"CHANGELOG.md"
|
|
1299
|
-
"LICENSE",
|
|
1300
|
-
"README.md",
|
|
1301
|
-
"package.json"
|
|
1288
|
+
"CHANGELOG.md"
|
|
1302
1289
|
],
|
|
1303
1290
|
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
1304
1291
|
main: "dist/commercetools-ts-client.cjs.js",
|
|
@@ -250,16 +250,9 @@ async function executor(request) {
|
|
|
250
250
|
return data;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
-
// import { v4 as uuidv4 } from 'uuid'
|
|
254
|
-
|
|
255
|
-
// export default function generateID() {
|
|
256
|
-
// return uuidv4()
|
|
257
|
-
// }
|
|
258
|
-
|
|
259
253
|
function generateID() {
|
|
260
254
|
// @ts-ignore
|
|
261
|
-
|
|
262
|
-
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
|
|
255
|
+
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
|
|
263
256
|
}
|
|
264
257
|
|
|
265
258
|
function parse(headers) {
|
|
@@ -742,11 +735,9 @@ function createAuthMiddlewareForAnonymousSessionFlow$1(options) {
|
|
|
742
735
|
tokenFetchPromise = null;
|
|
743
736
|
}
|
|
744
737
|
|
|
745
|
-
// Now the token is present in the tokenCache
|
|
738
|
+
// Now the token is present in the tokenCache and can be accessed
|
|
746
739
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
747
|
-
|
|
748
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
749
|
-
}
|
|
740
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
750
741
|
};
|
|
751
742
|
};
|
|
752
743
|
}
|
|
@@ -799,9 +790,7 @@ function createAuthMiddlewareForClientCredentialsFlow$1(options) {
|
|
|
799
790
|
|
|
800
791
|
// Now the token is present in the tokenCache
|
|
801
792
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
802
|
-
|
|
803
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
804
|
-
}
|
|
793
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
805
794
|
};
|
|
806
795
|
};
|
|
807
796
|
}
|
|
@@ -877,9 +866,7 @@ function createAuthMiddlewareForPasswordFlow$1(options) {
|
|
|
877
866
|
|
|
878
867
|
// Now the token is present in the tokenCache
|
|
879
868
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
880
|
-
|
|
881
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
882
|
-
}
|
|
869
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
883
870
|
};
|
|
884
871
|
};
|
|
885
872
|
}
|
|
@@ -928,9 +915,7 @@ function createAuthMiddlewareForRefreshTokenFlow$1(options) {
|
|
|
928
915
|
|
|
929
916
|
// Now the token is present in the tokenCache
|
|
930
917
|
tokenCacheObject = tokenCache.get(tokenCacheKey);
|
|
931
|
-
|
|
932
|
-
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
933
|
-
}
|
|
918
|
+
return next(mergeAuthHeader(tokenCacheObject.token, request));
|
|
934
919
|
};
|
|
935
920
|
};
|
|
936
921
|
}
|
|
@@ -949,7 +934,7 @@ function createConcurrentModificationMiddleware$1(modifierFunction) {
|
|
|
949
934
|
|
|
950
935
|
// update the resource version here
|
|
951
936
|
if (version) {
|
|
952
|
-
if (modifierFunction) {
|
|
937
|
+
if (modifierFunction && typeof modifierFunction == 'function') {
|
|
953
938
|
request.body = await modifierFunction(version, request, response);
|
|
954
939
|
} else {
|
|
955
940
|
request.body = typeof request.body == 'string' ? {
|
|
@@ -1203,8 +1188,8 @@ function createQueueMiddleware$1({
|
|
|
1203
1188
|
concurrency = 20
|
|
1204
1189
|
}) {
|
|
1205
1190
|
let runningCount = 0;
|
|
1191
|
+
const queue = [];
|
|
1206
1192
|
const waitForSlot = () => {
|
|
1207
|
-
// dont allow negative or 0 value for concurrency
|
|
1208
1193
|
if (0 >= concurrency) return Promise.resolve();
|
|
1209
1194
|
return new Promise(resolve => {
|
|
1210
1195
|
const tryNext = () => {
|
|
@@ -1212,43 +1197,48 @@ function createQueueMiddleware$1({
|
|
|
1212
1197
|
runningCount++;
|
|
1213
1198
|
resolve();
|
|
1214
1199
|
} else {
|
|
1215
|
-
|
|
1216
|
-
setTimeout(tryNext, 10);
|
|
1200
|
+
queue.push(tryNext);
|
|
1217
1201
|
}
|
|
1218
1202
|
};
|
|
1219
|
-
|
|
1220
|
-
// start
|
|
1221
1203
|
tryNext();
|
|
1222
1204
|
});
|
|
1223
1205
|
};
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1206
|
+
|
|
1207
|
+
// Function to free up a slot after a request is completed
|
|
1208
|
+
const freeSlot = () => {
|
|
1209
|
+
runningCount--;
|
|
1210
|
+
if (queue.length > 0) {
|
|
1211
|
+
const nextInQueue = queue.shift();
|
|
1212
|
+
if (nextInQueue) {
|
|
1213
|
+
nextInQueue();
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
};
|
|
1217
|
+
return next => request => {
|
|
1218
|
+
return waitForSlot().then(() => {
|
|
1219
|
+
const patchedRequest = {
|
|
1220
|
+
...request,
|
|
1221
|
+
resolve(data) {
|
|
1222
|
+
request.resolve(data);
|
|
1223
|
+
freeSlot();
|
|
1224
|
+
},
|
|
1225
|
+
reject(error) {
|
|
1226
|
+
request.reject(error);
|
|
1227
|
+
freeSlot();
|
|
1243
1228
|
}
|
|
1229
|
+
};
|
|
1230
|
+
|
|
1231
|
+
// Process the next middleware
|
|
1232
|
+
return next(patchedRequest).finally(() => {
|
|
1233
|
+
freeSlot();
|
|
1244
1234
|
});
|
|
1245
|
-
};
|
|
1235
|
+
});
|
|
1246
1236
|
};
|
|
1247
1237
|
}
|
|
1248
1238
|
|
|
1249
1239
|
var packageJson = {
|
|
1250
1240
|
name: "@commercetools/ts-client",
|
|
1251
|
-
version: "2.1.0
|
|
1241
|
+
version: "2.1.0",
|
|
1252
1242
|
engines: {
|
|
1253
1243
|
node: ">=14"
|
|
1254
1244
|
},
|
|
@@ -1286,10 +1276,7 @@ var packageJson = {
|
|
|
1286
1276
|
},
|
|
1287
1277
|
files: [
|
|
1288
1278
|
"dist",
|
|
1289
|
-
"CHANGELOG.md"
|
|
1290
|
-
"LICENSE",
|
|
1291
|
-
"README.md",
|
|
1292
|
-
"package.json"
|
|
1279
|
+
"CHANGELOG.md"
|
|
1293
1280
|
],
|
|
1294
1281
|
author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
1295
1282
|
main: "dist/commercetools-ts-client.cjs.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var window;(window||={})["@commercetools/ts-client"]=(()=>{var $e=Object.create;var ie=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty;var Ee=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),me=(e,t)=>{for(var r in t)ie(e,r,{get:t[r],enumerable:!0})},Oe=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Qe(t))!Ve.call(e,i)&&i!==r&&ie(e,i,{get:()=>t[i],enumerable:!(o=ze(t,i))||o.enumerable});return e};var V=(e,t,r)=>(r=e!=null?$e(Je(e)):{},Oe(t||!e||!e.__esModule?ie(r,"default",{value:e,enumerable:!0}):r,e)),Ge=e=>Oe(ie({},"__esModule",{value:!0}),e);var G=Ee((q,Pe)=>{"use strict";var Ye=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},F=Ye();Pe.exports=q=F.fetch;F.fetch&&(q.default=F.fetch.bind(F));q.Headers=F.Headers;q.Request=F.Request;q.Response=F.Response});var _e=Ee((ro,he)=>{"use strict";var{AbortController:Ne,AbortSignal:yt}=typeof self<"u"?self:typeof window<"u"?window:void 0;he.exports=Ne;he.exports.AbortSignal=yt;he.exports.default=Ne});var Ft={};me(Ft,{ClientBuilder:()=>z,Process:()=>we,createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>D,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>B,createAuthMiddlewareForRefreshTokenFlow:()=>$,createClient:()=>j,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var v=V(G());var ke={};me(ke,{createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>D,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>B,createAuthMiddlewareForRefreshTokenFlow:()=>$,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createErrorMiddleware:()=>xe,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var Ie=V(G());var y={};me(y,{CONCURRENCT_REQUEST:()=>Xe,CTP_API_URL:()=>Ze,CTP_AUTH_URL:()=>et,DEFAULT_HEADERS:()=>ye,HEADERS_CONTENT_TYPES:()=>We});var We=["application/json","application/graphql"],Xe=20,Ze="https://api.europe-west1.gcp.commercetools.com",et="https://auth.europe-west1.gcp.commercetools.com",ye=["content-type","access-control-allow-origin","access-control-allow-headers","access-control-allow-methods","access-control-expose-headers","access-control-max-ag","x-correlation-id","server-timing","date","server","transfer-encoding","access-control-max-age","content-encoding","x-envoy-upstream-service-time","via","alt-svc","connection"];function k(e,t,r={}){this.status=this.statusCode=this.code=e,this.message=t,Object.assign(this,r),this.name=this.constructor.name,this.constructor.prototype.__proto__=Error.prototype,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}function Se(...e){k.call(this,0,...e)}function Fe(...e){k.call(this,...e)}function tt(...e){k.call(this,400,...e)}function rt(...e){k.call(this,401,...e)}function ot(...e){k.call(this,403,...e)}function it(...e){k.call(this,404,...e)}function nt(...e){k.call(this,409,...e)}function at(...e){k.call(this,500,...e)}function st(...e){k.call(this,503,...e)}function Me(e){switch(e){case 0:return Se;case 400:return tt;case 401:return rt;case 403:return ot;case 404:return it;case 409:return nt;case 500:return at;case 503:return st;default:return}}function lt({statusCode:e,message:t,...r}){let o=t||"Unexpected non-JSON error response";e===404&&(o=`URI not found: ${r.originalRequest?.uri||r.uri}`);let i=Me(e);return i?new i(o,r):new Fe(e,o,r)}var H=lt;function dt(e,t){return[503,...e].includes(t?.status||t?.statusCode)}async function ut(e,t){async function r(){return await e({...t,headers:{...t.headers}})}return r().catch(o=>Promise.reject(o))}async function N(e){let{url:t,httpClient:r,...o}=e;return await ut(async n=>{let{enableRetry:a,retryConfig:l,abortController:u}=o,{retryCodes:d=[],maxDelay:s=1/0,maxRetries:p=3,backoff:f=!0,retryDelay:M=200,retryOnAbort:c=!0}=l||{},g,x,w=0;ge(d);async function C(){return r(t,{...o,...n,headers:{...o.headers,...n.headers,"Accept-Encoding":"application/json"},...o.body?{data:o.body}:{},withCredentials:n.credentialsMode==="include"})}async function R(){let O=async(S,Q)=>{let J={};try{if(J=await C(),J.status>399&&dt(S,J))return{_response:J,shouldRetry:!0}}catch(fe){if(fe.name.includes("AbortError")&&Q)return{_response:fe,shouldRetry:!0};throw fe}return{_response:J,shouldRetry:!1}},P=c||!u||!u.signal,{_response:oe,shouldRetry:I}=await O(d,P);for(;a&&I&&w<p;){w++;let S=await O(d,P);oe=S._response,I=S.shouldRetry;let Q=ne({retryCount:w,retryDelay:M,maxRetries:p,backoff:f,maxDelay:s});await ae(Q)}return oe}let h=await R();try{h.text&&typeof h.text=="function"?(g=await h.text()||h[Object.getOwnPropertySymbols(h)[1]],x=JSON.parse(g)):x=h.data||h}catch{x=g}return{data:x,retryCount:w,statusCode:h.status||h.statusCode||x.statusCode,headers:h.headers}},{})}function se(){let e=("1000000-1000-4000-8000"+-1e11).replace(/[018]/g,t=>(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16));return"abcdef"[Math.floor(Math.random()*6)]+""+e}function ct(e){return ye.reduce((t,r)=>{let o=e[r]?e[r]:typeof e.get=="function"?e.get(r):null;return o&&(t[r]=o),t},{})}function b(e){if(!e)return null;if(e.raw&&typeof e.raw=="function")return e.raw();if(!e.forEach)return ct(e);let t={};return e.forEach((r,o)=>t[o]=r)}function Y(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function U(e){let t=Object.assign({},e);return t?.headers&&(t.headers.Authorization&&(t.headers.Authorization="Bearer ********"),t.headers.authorization&&(t.headers.authorization="Bearer ********")),t}function m(e,t){return{...t,headers:{...t.headers,Authorization:`Bearer ${e}`}}}var Ce=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];function ne({retryCount:e,retryDelay:t,backoff:r,maxDelay:o}){return r&&e!==0?Math.min(Math.round((Math.random()+1)*t*2**e),o):t}Math.min(Math.round((Math.random()+1)*200*2**10),1/0);function ae(e){return new Promise(t=>{setTimeout(t,e)})}function A(e){if(!e?.credentials?.clientId||!e.projectKey||!e.host)throw new Error("Missing required options.");return{clientId:e.credentials.clientId,host:e.host,projectKey:e.projectKey}}function le(e){return Date.now()+e*1e3-5*60*1e3}function T(e){let t=e;return{get:r=>t,set:(r,o)=>{t=r}}}function Ue(e){return typeof e<"u"&&e!==null}function pt(e){return Ue(e)?typeof e=="string"?e:Object.fromEntries(Object.entries(e).filter(([t,r])=>![null,void 0,""].includes(r))):""}function ht(e){let t={},r=new URLSearchParams(e);for(let o of r.keys())r.getAll(o).length>1?t[o]=r.getAll(o):t[o]=r.get(o);return t}function wt(e){if(e=pt(e),!e)return"";let t=new URLSearchParams(e);for(let[r,o]of Object.entries(e))Array.isArray(o)&&(t.delete(r),o.filter(Ue).forEach(i=>t.append(r,i)));return t.toString()}function Re(e,t=ht){return t(e)}function de(e,t=wt){return t(e)}var ft=()=>typeof window<"u"&&window.document&&window.document.nodeType===9;function mt(){if(ft())return window.navigator.userAgent;let e=process?.version.slice(1)||"unknow",t=`(${process.platform}; ${process.arch})`;return`node.js/${e} ${t}`}function ue(e){let t=null,r=null;if(!e)throw new Error("Missing required option `name`");let o=e.version?`${e.name}/${e.version}`:e.name;e.libraryName&&!e.libraryVersion?t=e.libraryName:e.libraryName&&e.libraryVersion&&(t=`${e.libraryName}/${e.libraryVersion}`),e.contactUrl&&!e.contactEmail?r=`(+${e.contactUrl})`:!e.contactUrl&&e.contactEmail?r=`(+${e.contactEmail})`:e.contactUrl&&e.contactEmail&&(r=`(+${e.contactUrl}; +${e.contactEmail})`);let i=mt(),n=e.customAgent||"";return[o,i,t,r,n].filter(Boolean).join(" ")}function _(e){return typeof e=="string"?e.length.toString():e&&typeof e=="object"?new TextEncoder().encode(JSON.stringify(e)).length.toString():e instanceof Uint8Array?e.length.toString():"0"}function be(e){if(!e.host)throw new Error("Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`");if(!e.httpClient&&typeof e.httpClient!="function")throw new Error("An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.")}function ge(e){if(!Array.isArray(e))throw new Error("`retryCodes` option must be an array of retry status (error) codes and/or messages.")}function Ae(e){if(!e)throw new Error("Missing required options");if(e.middlewares&&!Array.isArray(e.middlewares))throw new Error("Middlewares should be an array");if(!e.middlewares||!Array.isArray(e.middlewares)||!e.middlewares.length)throw new Error("You need to provide at least one middleware")}function ce(e,t,r={allowedMethods:Ce}){if(!t)throw new Error(`The "${e}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(typeof t.uri!="string")throw new Error(`The "${e}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(!r.allowedMethods.includes(t.method))throw new Error(`The "${e}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`)}function Te(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r}=e.credentials||{};if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=e.scopes?e.scopes.join(" "):void 0,i=btoa(`${t}:${r}`),n=e.oauthUri||"/oauth/token",a=e.host.replace(/\/$/,"")+n,l=`grant_type=client_credentials${o?`&scope=${o}`:""}`;return{url:a,body:l,basicAuth:i}}function je(e){if(!e)throw new Error("Missing required options");if(!e.projectKey)throw new Error("Missing required option (projectKey)");let t=e.projectKey;e.oauthUri=e.oauthUri||`/oauth/${t}/anonymous/token`;let r=Te(e);return e.credentials.anonymousId&&(r.body+=`&anonymous_id=${e.credentials.anonymousId}`),{...r}}function pe(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");if(!e.refreshToken)throw new Error("Missing required option (refreshToken)");let{clientId:t,clientSecret:r}=e.credentials;if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=btoa(`${t}:${r}`),i=e.oauthUri||"/oauth/token",n=e.host.replace(/\/$/,"")+i,a=`grant_type=refresh_token&refresh_token=${encodeURIComponent(e.refreshToken)}`;return{basicAuth:o,url:n,body:a}}function ve(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r,user:o}=e.credentials,i=e.projectKey;if(!(t&&r&&o))throw new Error("Missing required credentials (clientId, clientSecret, user)");let{username:n,password:a}=o;if(!(n&&a))throw new Error("Missing required user credentials (username, password)");let l=(e.scopes||[]).join(" "),u=l?`&scope=${l}`:"",d=btoa(`${t}:${r}`),s=e.oauthUri||`/oauth/${i}/customers/token`,p=e.host.replace(/\/$/,"")+s,f=`grant_type=password&username=${encodeURIComponent(n)}&password=${encodeURIComponent(a)}${u}`;return{basicAuth:d,url:p,body:f}}async function E(e){let{httpClient:t,tokenCache:r,userOption:o,tokenCacheObject:i}=e,n=e.url,a=e.body,l=e.basicAuth;if(!t||typeof t!="function")throw new Error("an `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.");if(i&&i.refreshToken&&(!i.token||i.token&&Date.now()>i.expirationTime)){if(!o)throw new Error("Missing required options.");let d={...pe({...o,refreshToken:i.refreshToken})};n=d.url,a=d.body,l=d.basicAuth}let u;try{if(u=await N({url:n,method:"POST",headers:{Authorization:`Basic ${l}`,"Content-Type":"application/x-www-form-urlencoded","Content-Length":_(a)},httpClient:t,body:a}),u.statusCode>=200&&u.statusCode<300){let{access_token:d,expires_in:s,refresh_token:p}=u?.data,f=le(s);return r.set({token:d,expirationTime:f,refreshToken:p}),Promise.resolve(!0)}throw H({code:u.data.error,statusCode:u.data.statusCode,message:u.data.message,error:u.data.errors})}catch(d){throw d}}function K(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||Ie.default,...je(e),userOption:e,next:n};if(o?await o:(o=E(l),await o,o=null),r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a))}}var qe=V(G());function D(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,tokenCacheObject:r,httpClient:e.httpClient||qe.default,...Te(e),next:n};if(o?await o:(o=E(l),await o,o=null),r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a))}}function L(e,t){return r=>async o=>{if(typeof e!="string")throw new Error("authorization must be a string");let i=t?.force===void 0?!0:t.force;if(!e||o.headers&&(o.headers.Authorization||o.headers.authorization)&&i===!1)return r(o);let n={...o,headers:{...o.headers,Authorization:e}};return r(n)}}var He=V(G());function B(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||He.default,...ve(e),userOption:e,next:n};if(o?await o:(o=E(l),await o,o=null),r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a))}}function $(e){let t=e.tokenCache||T({token:"",tokenCacheKey:null}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,httpClient:e.httpClient||fetch,...pe(e),next:n};if(o?await o:(o=E(l),await o,o=null),r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a))}}function W(e){return t=>async r=>{let o=await t(r);if(o.statusCode==409){let i=o.error.body?.errors?.[0]?.currentVersion;if(i)return e?r.body=await e(i,r,o):r.body=typeof r.body=="string"?{...JSON.parse(r.body),version:i}:{...r.body,version:i},t(r)}return o}}function X(e){return t=>r=>{let o={...r,headers:{...r.headers,"X-Correlation-ID":e.generate&&typeof e.generate=="function"?e.generate():se()}};return t(o)}}function xe(e){return t=>async r=>{let o=await t(r);if(o.error){let{error:i}=o;return{...o,statusCode:i.statusCode||0,headers:i.headers||b({}),error:{...i,body:i.data||i}}}return o}}var Ke=V(_e());async function Mt({url:e,httpClient:t,clientOptions:r}){let o,{timeout:i,request:n,abortController:a,maskSensitiveHeaderData:l,includeRequestInErrorResponse:u,includeResponseHeaders:d}=r;try{i&&(o=setTimeout(()=>{a.abort()},i));let s=await N({url:e,...r,httpClient:t,method:r.method,...r.body?{body:r.body}:{}});if(d||(s.headers=null),s.statusCode>=200&&s.statusCode<300)return r.method=="HEAD"?{body:null,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)}:{body:s.data,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)};let p=H({message:s?.data?.message||s?.message,statusCode:s.statusCode||s?.data?.statusCode,headers:b(s.headers),method:r.method,body:s.data,retryCount:s.retryCount,...u?{originalRequest:l?U(n):n}:{uri:n.uri}});return{body:s.data,code:s.statusCode,statusCode:s.statusCode,headers:b(s.headers),error:p}}catch(s){let p=d?b(s.response?.headers):null,f=s.response?.status||s.response?.data0||0,M=s.response?.data?.message,c=H({statusCode:f,code:f,status:f,message:M||s.message,headers:p,body:s.response?.data||s,error:s.response?.data,...u?{originalRequest:l?U(n):n}:{uri:n.uri}});throw{body:c,error:c}}finally{clearTimeout(o)}}function Z(e){be(e);let{host:t,credentialsMode:r,httpClient:o,timeout:i,enableRetry:n,retryConfig:a,getAbortController:l,includeOriginalRequest:u,includeRequestInErrorResponse:d=!0,includeResponseHeaders:s=!0,maskSensitiveHeaderData:p,httpClientOptions:f}=e;return M=>async c=>{let g;(i||l)&&(g=(l?l():null)||new Ke.default);let x=t.replace(/\/$/,"")+c.uri,w={...c.headers};Object.prototype.hasOwnProperty.call(w,"Content-Type")||Object.prototype.hasOwnProperty.call(w,"content-type")||(w["Content-Type"]="application/json"),w["Content-Type"]===null&&delete w["Content-Type"];let C=y.HEADERS_CONTENT_TYPES.indexOf(w["Content-Type"])>-1&&typeof c.body=="string"||Y(c.body)?c.body:JSON.stringify(c.body||void 0);C&&(typeof C=="string"||Y(C))&&(w["Content-Length"]=_(C));let R={enableRetry:n,retryConfig:a,request:c,method:c.method,headers:w,includeRequestInErrorResponse:d,maskSensitiveHeaderData:p,includeResponseHeaders:s,...f};r&&(R.credentialsMode=r),g&&(R.signal=g.signal),i&&(R.timeout=i,R.abortController=g),C&&(R.body=C);let h=await Mt({url:x,clientOptions:R,httpClient:o}),O={...c,includeOriginalRequest:u,maskSensitiveHeaderData:p,response:h};return M(O)}}function ee(e){return t=>async r=>{let o=await t(r),i=Object.assign({},o),{loggerFn:n=console.log}=e||{};return n&&typeof n=="function"&&n(o),i}}function te({concurrency:e=20}){let t=0,r=()=>0>=e?Promise.resolve():new Promise(o=>{let i=()=>{t<e?(t++,o()):setTimeout(i,10)};i()});return o=>async i=>r().then(async()=>{let n={...i,resolve(a){i.resolve(a),t--},reject(a){i.reject(a),t--}};try{return o(n)}finally{t--}})}var De={name:"@commercetools/ts-client",version:"2.1.0-alpha.1",engines:{node:">=14"},description:"commercetools Composable Commerce TypeScript SDK client.",keywords:["commercetools","composable commerce","sdk","typescript","client","middleware","http","oauth","auth"],homepage:"https://github.com/commercetools/commercetools-sdk-typescript",license:"MIT",directories:{lib:"lib",test:"test"},publishConfig:{access:"public"},repository:{type:"git",url:"git+https://github.com/commercetools/commercetools-sdk-typescript.git"},bugs:{url:"https://github.com/commercetools/commercetools-sdk-typescript/issues"},dependencies:{"abort-controller":"3.0.0","node-fetch":"^2.6.1"},files:["dist","CHANGELOG.md","LICENSE","README.md","package.json"],author:"Chukwuemeka Ajima <meeky.ae@gmail.com>",main:"dist/commercetools-ts-client.cjs.js",module:"dist/commercetools-ts-client.esm.js",browser:{"./dist/commercetools-ts-client.cjs.js":"./dist/commercetools-ts-client.browser.cjs.js","./dist/commercetools-ts-client.esm.js":"./dist/commercetools-ts-client.browser.esm.js"},devDependencies:{"common-tags":"1.8.2",dotenv:"16.4.5",jest:"29.7.0",nock:"12.0.3","organize-imports-cli":"0.10.0"},scripts:{organize_imports:"find src -type f -name '*.ts' | xargs organize-imports-cli",postbuild:"yarn organize_imports",post_process_generate:"yarn organize_imports",docs:"typedoc --out docs"}};function re(e){return t=>async r=>{let o=ue({...e,name:`${e.name?e.name+"/":""}commercetools-sdk-javascript-v3/${De.version}`}),i={...r,headers:{...r.headers,"User-Agent":o}};return t(i)}}function Ct({middlewares:e}){return e.length===1?e[0]:e.slice().reduce((r,o)=>(...i)=>r(o.apply(null,i)))}var Le;function we(e,t,r){if(ce("process",e,{allowedMethods:["GET"]}),typeof t!="function")throw new Error('The "process" function accepts a "Function" as a second argument that returns a Promise. See https://commercetools.github.io/nodejs/sdk/api/sdkClient.html#processrequest-processfn-options');let o={total:Number.POSITIVE_INFINITY,accumulate:!0,...r};return new Promise((i,n)=>{let a,l="";if(e&&e.uri){let[M,c]=e.uri.split("?");a=M,l=c}let d={limit:20,...{...Re(l)}},s=o.total,p=!1,f=async(M,c=[])=>{let g=d.limit<s?d.limit:s,x=de({...d,limit:g}),w={sort:"id asc",withTotal:!1,...M?{where:`id > "${M}"`}:{}},C=de(w),R={...e,uri:`${a}?${C}&${x}`};try{let h=await j(Le).execute(R),{results:O,count:P}=h?.body||{};if(!P&&p)return i(c||[]);let oe=await Promise.resolve(t(h)),I;if(p=!0,o.accumulate&&(I=c.concat(oe||[])),s-=P,P<d.limit||!s)return i(I||[]);let S=O[P-1],Q=S&&S.id;f(Q,I)}catch(h){n(h)}};f()})}function j(e){Le=e,Ae(e);let t=!1,r={async resolve(i){let{response:n,includeOriginalRequest:a,maskSensitiveHeaderData:l,...u}=i,{retryCount:d,...s}=n;return t=l,{body:null,error:null,reject:i.reject,resolve:i.resolve,...s,...a?{originalRequest:u}:{},...n?.retryCount?{retryCount:n.retryCount}:{}}}},o=Ct(e)(r.resolve);return{process:we,execute(i){return ce("exec",i),new Promise(async(n,a)=>{try{let l=await o({reject:a,resolve:n,...i});if(l.error)return a(l.error);l.originalRequest&&t&&(l.originalRequest=U(l.originalRequest)),n(l)}catch(l){a(l)}})}}}var{createAuthMiddlewareForPasswordFlow:Rt,createAuthMiddlewareForAnonymousSessionFlow:bt,createAuthMiddlewareForClientCredentialsFlow:At,createAuthMiddlewareForRefreshTokenFlow:Tt,createAuthMiddlewareForExistingTokenFlow:xt,createCorrelationIdMiddleware:kt,createHttpMiddleware:Et,createLoggerMiddleware:Ot,createQueueMiddleware:Pt,createUserAgentMiddleware:Be,createConcurrentModificationMiddleware:St}=ke,z=class{projectKey;authMiddleware;httpMiddleware;userAgentMiddleware;correlationIdMiddleware;loggerMiddleware;queueMiddleware;concurrentMiddleware;telemetryMiddleware;beforeMiddleware;afterMiddleware;middlewares=[];constructor(){this.userAgentMiddleware=Be({})}withProjectKey(t){return this.projectKey=t,this}defaultClient(t,r,o,i,n,a){return this.withClientCredentialsFlow({host:o,projectKey:i||this.projectKey,credentials:r,scopes:n}).withHttpMiddleware({host:t,httpClient:a||v.default})}withAuthMiddleware(t){return this.authMiddleware=t,this}withMiddleware(t){return this.middlewares.push(t),this}withClientCredentialsFlow(t){return this.withAuthMiddleware(At({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},oauthUri:t.oauthUri||null,scopes:t.scopes,httpClient:t.httpClient||v.default,...t}))}withPasswordFlow(t){return this.withAuthMiddleware(Rt({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,user:{username:t.credentials.user.username||null,password:t.credentials.user.password||null}},httpClient:t.httpClient||v.default,...t}))}withAnonymousSessionFlow(t){return this.withAuthMiddleware(bt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,anonymousId:t.credentials.anonymousId||null},httpClient:t.httpClient||v.default,...t}))}withRefreshTokenFlow(t){return this.withAuthMiddleware(Tt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},httpClient:t.httpClient||v.default,refreshToken:t.refreshToken||null,...t}))}withExistingTokenFlow(t,r){return this.withAuthMiddleware(xt(t,{force:r.force||!0,...r}))}withHttpMiddleware(t){return this.httpMiddleware=Et({host:t.host||y.CTP_API_URL,httpClient:t.httpClient||v.default,...t}),this}withUserAgentMiddleware(t){return this.userAgentMiddleware=Be(t),this}withQueueMiddleware(t){return this.queueMiddleware=Pt({concurrency:t.concurrency||y.CONCURRENCT_REQUEST,...t}),this}withLoggerMiddleware(t){return this.loggerMiddleware=Ot(t),this}withCorrelationIdMiddleware(t){return this.correlationIdMiddleware=kt({generate:t?.generate,...t}),this}withConcurrentModificationMiddleware(t){return this.concurrentMiddleware=St(t?.concurrentModificationHandlerFn),this}withTelemetryMiddleware(t){let{createTelemetryMiddleware:r,...o}=t;return this.withUserAgentMiddleware({customAgent:o?.userAgent||"typescript-sdk-apm-middleware"}),this.telemetryMiddleware=r(o),this}withBeforeExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.beforeMiddleware=t.middleware(o),this}withAfterExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.afterMiddleware=t.middleware(o),this}build(){let t=this.middlewares.slice();return this.telemetryMiddleware&&t.push(this.telemetryMiddleware),this.correlationIdMiddleware&&t.push(this.correlationIdMiddleware),this.userAgentMiddleware&&t.push(this.userAgentMiddleware),this.authMiddleware&&t.push(this.authMiddleware),this.beforeMiddleware&&t.push(this.beforeMiddleware),this.queueMiddleware&&t.push(this.queueMiddleware),this.loggerMiddleware&&t.push(this.loggerMiddleware),this.concurrentMiddleware&&t.push(this.concurrentMiddleware),this.httpMiddleware&&t.push(this.httpMiddleware),this.afterMiddleware&&t.push(this.afterMiddleware),j({middlewares:t})}};return Ge(Ft);})();
|
|
1
|
+
var window;(window||={})["@commercetools/ts-client"]=(()=>{var $e=Object.create;var ie=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var Ee=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),me=(e,t)=>{for(var r in t)ie(e,r,{get:t[r],enumerable:!0})},Oe=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Qe(t))!Ge.call(e,i)&&i!==r&&ie(e,i,{get:()=>t[i],enumerable:!(o=ze(t,i))||o.enumerable});return e};var G=(e,t,r)=>(r=e!=null?$e(Je(e)):{},Oe(t||!e||!e.__esModule?ie(r,"default",{value:e,enumerable:!0}):r,e)),Ve=e=>Oe(ie({},"__esModule",{value:!0}),e);var V=Ee((H,Pe)=>{"use strict";var Ye=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},F=Ye();Pe.exports=H=F.fetch;F.fetch&&(H.default=F.fetch.bind(F));H.Headers=F.Headers;H.Request=F.Request;H.Response=F.Response});var _e=Ee((Xr,pe)=>{"use strict";var{AbortController:ve,AbortSignal:yt}=typeof self<"u"?self:typeof window<"u"?window:void 0;pe.exports=ve;pe.exports.AbortSignal=yt;pe.exports.default=ve});var Ft={};me(Ft,{ClientBuilder:()=>z,Process:()=>we,createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>B,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>D,createAuthMiddlewareForRefreshTokenFlow:()=>$,createClient:()=>j,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var q=G(V());var ke={};me(ke,{createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>B,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>D,createAuthMiddlewareForRefreshTokenFlow:()=>$,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createErrorMiddleware:()=>xe,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var Ue=G(V());var y={};me(y,{CONCURRENCT_REQUEST:()=>Xe,CTP_API_URL:()=>Ze,CTP_AUTH_URL:()=>et,DEFAULT_HEADERS:()=>ye,HEADERS_CONTENT_TYPES:()=>We});var We=["application/json","application/graphql"],Xe=20,Ze="https://api.europe-west1.gcp.commercetools.com",et="https://auth.europe-west1.gcp.commercetools.com",ye=["content-type","access-control-allow-origin","access-control-allow-headers","access-control-allow-methods","access-control-expose-headers","access-control-max-ag","x-correlation-id","server-timing","date","server","transfer-encoding","access-control-max-age","content-encoding","x-envoy-upstream-service-time","via","alt-svc","connection"];function k(e,t,r={}){this.status=this.statusCode=this.code=e,this.message=t,Object.assign(this,r),this.name=this.constructor.name,this.constructor.prototype.__proto__=Error.prototype,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}function Se(...e){k.call(this,0,...e)}function Fe(...e){k.call(this,...e)}function tt(...e){k.call(this,400,...e)}function rt(...e){k.call(this,401,...e)}function ot(...e){k.call(this,403,...e)}function it(...e){k.call(this,404,...e)}function nt(...e){k.call(this,409,...e)}function at(...e){k.call(this,500,...e)}function st(...e){k.call(this,503,...e)}function Me(e){switch(e){case 0:return Se;case 400:return tt;case 401:return rt;case 403:return ot;case 404:return it;case 409:return nt;case 500:return at;case 503:return st;default:return}}function lt({statusCode:e,message:t,...r}){let o=t||"Unexpected non-JSON error response";e===404&&(o=`URI not found: ${r.originalRequest?.uri||r.uri}`);let i=Me(e);return i?new i(o,r):new Fe(e,o,r)}var N=lt;function dt(e,t){return[503,...e].includes(t?.status||t?.statusCode)}async function ut(e,t){async function r(){return await e({...t,headers:{...t.headers}})}return r().catch(o=>Promise.reject(o))}async function v(e){let{url:t,httpClient:r,...o}=e;return await ut(async n=>{let{enableRetry:a,retryConfig:l,abortController:d}=o,{retryCodes:u=[],maxDelay:s=1/0,maxRetries:h=3,backoff:f=!0,retryDelay:M=200,retryOnAbort:c=!0}=l||{},g,x,w=0;ge(u);async function C(){return r(t,{...o,...n,headers:{...o.headers,...n.headers,"Accept-Encoding":"application/json"},...o.body?{data:o.body}:{},withCredentials:n.credentialsMode==="include"})}async function R(){let O=async(S,Q)=>{let J={};try{if(J=await C(),J.status>399&&dt(S,J))return{_response:J,shouldRetry:!0}}catch(fe){if(fe.name.includes("AbortError")&&Q)return{_response:fe,shouldRetry:!0};throw fe}return{_response:J,shouldRetry:!1}},P=c||!d||!d.signal,{_response:oe,shouldRetry:U}=await O(u,P);for(;a&&U&&w<h;){w++;let S=await O(u,P);oe=S._response,U=S.shouldRetry;let Q=ne({retryCount:w,retryDelay:M,maxRetries:h,backoff:f,maxDelay:s});await ae(Q)}return oe}let p=await R();try{p.text&&typeof p.text=="function"?(g=await p.text()||p[Object.getOwnPropertySymbols(p)[1]],x=JSON.parse(g)):x=p.data||p}catch{x=g}return{data:x,retryCount:w,statusCode:p.status||p.statusCode||x.statusCode,headers:p.headers}},{})}function se(){return("1000000-1000-4000-8000"+-1e11).replace(/[018]/g,e=>(parseInt(e)^Math.floor(Math.random()*256)&15>>parseInt(e)/4).toString(16))}function ct(e){return ye.reduce((t,r)=>{let o=e[r]?e[r]:typeof e.get=="function"?e.get(r):null;return o&&(t[r]=o),t},{})}function b(e){if(!e)return null;if(e.raw&&typeof e.raw=="function")return e.raw();if(!e.forEach)return ct(e);let t={};return e.forEach((r,o)=>t[o]=r)}function Y(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function I(e){let t=Object.assign({},e);return t?.headers&&(t.headers.Authorization&&(t.headers.Authorization="Bearer ********"),t.headers.authorization&&(t.headers.authorization="Bearer ********")),t}function m(e,t){return{...t,headers:{...t.headers,Authorization:`Bearer ${e}`}}}var Ce=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];function ne({retryCount:e,retryDelay:t,backoff:r,maxDelay:o}){return r&&e!==0?Math.min(Math.round((Math.random()+1)*t*2**e),o):t}Math.min(Math.round((Math.random()+1)*200*2**10),1/0);function ae(e){return new Promise(t=>{setTimeout(t,e)})}function A(e){if(!e?.credentials?.clientId||!e.projectKey||!e.host)throw new Error("Missing required options.");return{clientId:e.credentials.clientId,host:e.host,projectKey:e.projectKey}}function le(e){return Date.now()+e*1e3-5*60*1e3}function T(e){let t=e;return{get:r=>t,set:(r,o)=>{t=r}}}function Ie(e){return typeof e<"u"&&e!==null}function ht(e){return Ie(e)?typeof e=="string"?e:Object.fromEntries(Object.entries(e).filter(([t,r])=>![null,void 0,""].includes(r))):""}function pt(e){let t={},r=new URLSearchParams(e);for(let o of r.keys())r.getAll(o).length>1?t[o]=r.getAll(o):t[o]=r.get(o);return t}function wt(e){if(e=ht(e),!e)return"";let t=new URLSearchParams(e);for(let[r,o]of Object.entries(e))Array.isArray(o)&&(t.delete(r),o.filter(Ie).forEach(i=>t.append(r,i)));return t.toString()}function Re(e,t=pt){return t(e)}function de(e,t=wt){return t(e)}var ft=()=>typeof window<"u"&&window.document&&window.document.nodeType===9;function mt(){if(ft())return window.navigator.userAgent;let e=process?.version.slice(1)||"unknow",t=`(${process.platform}; ${process.arch})`;return`node.js/${e} ${t}`}function ue(e){let t=null,r=null;if(!e)throw new Error("Missing required option `name`");let o=e.version?`${e.name}/${e.version}`:e.name;e.libraryName&&!e.libraryVersion?t=e.libraryName:e.libraryName&&e.libraryVersion&&(t=`${e.libraryName}/${e.libraryVersion}`),e.contactUrl&&!e.contactEmail?r=`(+${e.contactUrl})`:!e.contactUrl&&e.contactEmail?r=`(+${e.contactEmail})`:e.contactUrl&&e.contactEmail&&(r=`(+${e.contactUrl}; +${e.contactEmail})`);let i=mt(),n=e.customAgent||"";return[o,i,t,r,n].filter(Boolean).join(" ")}function _(e){return typeof e=="string"?e.length.toString():e&&typeof e=="object"?new TextEncoder().encode(JSON.stringify(e)).length.toString():e instanceof Uint8Array?e.length.toString():"0"}function be(e){if(!e.host)throw new Error("Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`");if(!e.httpClient&&typeof e.httpClient!="function")throw new Error("An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.")}function ge(e){if(!Array.isArray(e))throw new Error("`retryCodes` option must be an array of retry status (error) codes and/or messages.")}function Ae(e){if(!e)throw new Error("Missing required options");if(e.middlewares&&!Array.isArray(e.middlewares))throw new Error("Middlewares should be an array");if(!e.middlewares||!Array.isArray(e.middlewares)||!e.middlewares.length)throw new Error("You need to provide at least one middleware")}function ce(e,t,r={allowedMethods:Ce}){if(!t)throw new Error(`The "${e}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(typeof t.uri!="string")throw new Error(`The "${e}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(!r.allowedMethods.includes(t.method))throw new Error(`The "${e}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`)}function Te(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r}=e.credentials||{};if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=e.scopes?e.scopes.join(" "):void 0,i=btoa(`${t}:${r}`),n=e.oauthUri||"/oauth/token",a=e.host.replace(/\/$/,"")+n,l=`grant_type=client_credentials${o?`&scope=${o}`:""}`;return{url:a,body:l,basicAuth:i}}function je(e){if(!e)throw new Error("Missing required options");if(!e.projectKey)throw new Error("Missing required option (projectKey)");let t=e.projectKey;e.oauthUri=e.oauthUri||`/oauth/${t}/anonymous/token`;let r=Te(e);return e.credentials.anonymousId&&(r.body+=`&anonymous_id=${e.credentials.anonymousId}`),{...r}}function he(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");if(!e.refreshToken)throw new Error("Missing required option (refreshToken)");let{clientId:t,clientSecret:r}=e.credentials;if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=btoa(`${t}:${r}`),i=e.oauthUri||"/oauth/token",n=e.host.replace(/\/$/,"")+i,a=`grant_type=refresh_token&refresh_token=${encodeURIComponent(e.refreshToken)}`;return{basicAuth:o,url:n,body:a}}function qe(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r,user:o}=e.credentials,i=e.projectKey;if(!(t&&r&&o))throw new Error("Missing required credentials (clientId, clientSecret, user)");let{username:n,password:a}=o;if(!(n&&a))throw new Error("Missing required user credentials (username, password)");let l=(e.scopes||[]).join(" "),d=l?`&scope=${l}`:"",u=btoa(`${t}:${r}`),s=e.oauthUri||`/oauth/${i}/customers/token`,h=e.host.replace(/\/$/,"")+s,f=`grant_type=password&username=${encodeURIComponent(n)}&password=${encodeURIComponent(a)}${d}`;return{basicAuth:u,url:h,body:f}}async function E(e){let{httpClient:t,tokenCache:r,userOption:o,tokenCacheObject:i}=e,n=e.url,a=e.body,l=e.basicAuth;if(!t||typeof t!="function")throw new Error("an `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.");if(i&&i.refreshToken&&(!i.token||i.token&&Date.now()>i.expirationTime)){if(!o)throw new Error("Missing required options.");let u={...he({...o,refreshToken:i.refreshToken})};n=u.url,a=u.body,l=u.basicAuth}let d;try{if(d=await v({url:n,method:"POST",headers:{Authorization:`Basic ${l}`,"Content-Type":"application/x-www-form-urlencoded","Content-Length":_(a)},httpClient:t,body:a}),d.statusCode>=200&&d.statusCode<300){let{access_token:u,expires_in:s,refresh_token:h}=d?.data,f=le(s);return r.set({token:u,expirationTime:f,refreshToken:h}),Promise.resolve(!0)}throw N({code:d.data.error,statusCode:d.data.statusCode,message:d.data.message,error:d.data.errors})}catch(u){throw u}}function K(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||Ue.default,...je(e),userOption:e,next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}var He=G(V());function B(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,tokenCacheObject:r,httpClient:e.httpClient||He.default,...Te(e),next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}function L(e,t){return r=>async o=>{if(typeof e!="string")throw new Error("authorization must be a string");let i=t?.force===void 0?!0:t.force;if(!e||o.headers&&(o.headers.Authorization||o.headers.authorization)&&i===!1)return r(o);let n={...o,headers:{...o.headers,Authorization:e}};return r(n)}}var Ne=G(V());function D(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||Ne.default,...qe(e),userOption:e,next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}function $(e){let t=e.tokenCache||T({token:"",tokenCacheKey:null}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,httpClient:e.httpClient||fetch,...he(e),next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}function W(e){return t=>async r=>{let o=await t(r);if(o.statusCode==409){let i=o.error.body?.errors?.[0]?.currentVersion;if(i)return e&&typeof e=="function"?r.body=await e(i,r,o):r.body=typeof r.body=="string"?{...JSON.parse(r.body),version:i}:{...r.body,version:i},t(r)}return o}}function X(e){return t=>r=>{let o={...r,headers:{...r.headers,"X-Correlation-ID":e.generate&&typeof e.generate=="function"?e.generate():se()}};return t(o)}}function xe(e){return t=>async r=>{let o=await t(r);if(o.error){let{error:i}=o;return{...o,statusCode:i.statusCode||0,headers:i.headers||b({}),error:{...i,body:i.data||i}}}return o}}var Ke=G(_e());async function Mt({url:e,httpClient:t,clientOptions:r}){let o,{timeout:i,request:n,abortController:a,maskSensitiveHeaderData:l,includeRequestInErrorResponse:d,includeResponseHeaders:u}=r;try{i&&(o=setTimeout(()=>{a.abort()},i));let s=await v({url:e,...r,httpClient:t,method:r.method,...r.body?{body:r.body}:{}});if(u||(s.headers=null),s.statusCode>=200&&s.statusCode<300)return r.method=="HEAD"?{body:null,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)}:{body:s.data,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)};let h=N({message:s?.data?.message||s?.message,statusCode:s.statusCode||s?.data?.statusCode,headers:b(s.headers),method:r.method,body:s.data,retryCount:s.retryCount,...d?{originalRequest:l?I(n):n}:{uri:n.uri}});return{body:s.data,code:s.statusCode,statusCode:s.statusCode,headers:b(s.headers),error:h}}catch(s){let h=u?b(s.response?.headers):null,f=s.response?.status||s.response?.data0||0,M=s.response?.data?.message,c=N({statusCode:f,code:f,status:f,message:M||s.message,headers:h,body:s.response?.data||s,error:s.response?.data,...d?{originalRequest:l?I(n):n}:{uri:n.uri}});throw{body:c,error:c}}finally{clearTimeout(o)}}function Z(e){be(e);let{host:t,credentialsMode:r,httpClient:o,timeout:i,enableRetry:n,retryConfig:a,getAbortController:l,includeOriginalRequest:d,includeRequestInErrorResponse:u=!0,includeResponseHeaders:s=!0,maskSensitiveHeaderData:h,httpClientOptions:f}=e;return M=>async c=>{let g;(i||l)&&(g=(l?l():null)||new Ke.default);let x=t.replace(/\/$/,"")+c.uri,w={...c.headers};Object.prototype.hasOwnProperty.call(w,"Content-Type")||Object.prototype.hasOwnProperty.call(w,"content-type")||(w["Content-Type"]="application/json"),w["Content-Type"]===null&&delete w["Content-Type"];let C=y.HEADERS_CONTENT_TYPES.indexOf(w["Content-Type"])>-1&&typeof c.body=="string"||Y(c.body)?c.body:JSON.stringify(c.body||void 0);C&&(typeof C=="string"||Y(C))&&(w["Content-Length"]=_(C));let R={enableRetry:n,retryConfig:a,request:c,method:c.method,headers:w,includeRequestInErrorResponse:u,maskSensitiveHeaderData:h,includeResponseHeaders:s,...f};r&&(R.credentialsMode=r),g&&(R.signal=g.signal),i&&(R.timeout=i,R.abortController=g),C&&(R.body=C);let p=await Mt({url:x,clientOptions:R,httpClient:o}),O={...c,includeOriginalRequest:d,maskSensitiveHeaderData:h,response:p};return M(O)}}function ee(e){return t=>async r=>{let o=await t(r),i=Object.assign({},o),{loggerFn:n=console.log}=e||{};return n&&typeof n=="function"&&n(o),i}}function te({concurrency:e=20}){let t=0,r=[],o=()=>0>=e?Promise.resolve():new Promise(n=>{let a=()=>{t<e?(t++,n()):r.push(a)};a()}),i=()=>{if(t--,r.length>0){let n=r.shift();n&&n()}};return n=>a=>o().then(()=>{let l={...a,resolve(d){a.resolve(d),i()},reject(d){a.reject(d),i()}};return n(l).finally(()=>{i()})})}var Be={name:"@commercetools/ts-client",version:"2.1.0",engines:{node:">=14"},description:"commercetools Composable Commerce TypeScript SDK client.",keywords:["commercetools","composable commerce","sdk","typescript","client","middleware","http","oauth","auth"],homepage:"https://github.com/commercetools/commercetools-sdk-typescript",license:"MIT",directories:{lib:"lib",test:"test"},publishConfig:{access:"public"},repository:{type:"git",url:"git+https://github.com/commercetools/commercetools-sdk-typescript.git"},bugs:{url:"https://github.com/commercetools/commercetools-sdk-typescript/issues"},dependencies:{"abort-controller":"3.0.0","node-fetch":"^2.6.1"},files:["dist","CHANGELOG.md"],author:"Chukwuemeka Ajima <meeky.ae@gmail.com>",main:"dist/commercetools-ts-client.cjs.js",module:"dist/commercetools-ts-client.esm.js",browser:{"./dist/commercetools-ts-client.cjs.js":"./dist/commercetools-ts-client.browser.cjs.js","./dist/commercetools-ts-client.esm.js":"./dist/commercetools-ts-client.browser.esm.js"},devDependencies:{"common-tags":"1.8.2",dotenv:"16.4.5",jest:"29.7.0",nock:"12.0.3","organize-imports-cli":"0.10.0"},scripts:{organize_imports:"find src -type f -name '*.ts' | xargs organize-imports-cli",postbuild:"yarn organize_imports",post_process_generate:"yarn organize_imports",docs:"typedoc --out docs"}};function re(e){return t=>async r=>{let o=ue({...e,name:`${e.name?e.name+"/":""}commercetools-sdk-javascript-v3/${Be.version}`}),i={...r,headers:{...r.headers,"User-Agent":o}};return t(i)}}function Ct({middlewares:e}){return e.length===1?e[0]:e.slice().reduce((r,o)=>(...i)=>r(o.apply(null,i)))}var Le;function we(e,t,r){if(ce("process",e,{allowedMethods:["GET"]}),typeof t!="function")throw new Error('The "process" function accepts a "Function" as a second argument that returns a Promise. See https://commercetools.github.io/nodejs/sdk/api/sdkClient.html#processrequest-processfn-options');let o={total:Number.POSITIVE_INFINITY,accumulate:!0,...r};return new Promise((i,n)=>{let a,l="";if(e&&e.uri){let[M,c]=e.uri.split("?");a=M,l=c}let u={limit:20,...{...Re(l)}},s=o.total,h=!1,f=async(M,c=[])=>{let g=u.limit<s?u.limit:s,x=de({...u,limit:g}),w={sort:"id asc",withTotal:!1,...M?{where:`id > "${M}"`}:{}},C=de(w),R={...e,uri:`${a}?${C}&${x}`};try{let p=await j(Le).execute(R),{results:O,count:P}=p?.body||{};if(!P&&h)return i(c||[]);let oe=await Promise.resolve(t(p)),U;if(h=!0,o.accumulate&&(U=c.concat(oe||[])),s-=P,P<u.limit||!s)return i(U||[]);let S=O[P-1],Q=S&&S.id;f(Q,U)}catch(p){n(p)}};f()})}function j(e){Le=e,Ae(e);let t=!1,r={async resolve(i){let{response:n,includeOriginalRequest:a,maskSensitiveHeaderData:l,...d}=i,{retryCount:u,...s}=n;return t=l,{body:null,error:null,reject:i.reject,resolve:i.resolve,...s,...a?{originalRequest:d}:{},...n?.retryCount?{retryCount:n.retryCount}:{}}}},o=Ct(e)(r.resolve);return{process:we,execute(i){return ce("exec",i),new Promise(async(n,a)=>{try{let l=await o({reject:a,resolve:n,...i});if(l.error)return a(l.error);l.originalRequest&&t&&(l.originalRequest=I(l.originalRequest)),n(l)}catch(l){a(l)}})}}}var{createAuthMiddlewareForPasswordFlow:Rt,createAuthMiddlewareForAnonymousSessionFlow:bt,createAuthMiddlewareForClientCredentialsFlow:At,createAuthMiddlewareForRefreshTokenFlow:Tt,createAuthMiddlewareForExistingTokenFlow:xt,createCorrelationIdMiddleware:kt,createHttpMiddleware:Et,createLoggerMiddleware:Ot,createQueueMiddleware:Pt,createUserAgentMiddleware:De,createConcurrentModificationMiddleware:St}=ke,z=class{projectKey;authMiddleware;httpMiddleware;userAgentMiddleware;correlationIdMiddleware;loggerMiddleware;queueMiddleware;concurrentMiddleware;telemetryMiddleware;beforeMiddleware;afterMiddleware;middlewares=[];constructor(){this.userAgentMiddleware=De({})}withProjectKey(t){return this.projectKey=t,this}defaultClient(t,r,o,i,n,a){return this.withClientCredentialsFlow({host:o,projectKey:i||this.projectKey,credentials:r,scopes:n}).withHttpMiddleware({host:t,httpClient:a||q.default})}withAuthMiddleware(t){return this.authMiddleware=t,this}withMiddleware(t){return this.middlewares.push(t),this}withClientCredentialsFlow(t){return this.withAuthMiddleware(At({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},oauthUri:t.oauthUri||null,scopes:t.scopes,httpClient:t.httpClient||q.default,...t}))}withPasswordFlow(t){return this.withAuthMiddleware(Rt({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,user:{username:t.credentials.user.username||null,password:t.credentials.user.password||null}},httpClient:t.httpClient||q.default,...t}))}withAnonymousSessionFlow(t){return this.withAuthMiddleware(bt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,anonymousId:t.credentials.anonymousId||null},httpClient:t.httpClient||q.default,...t}))}withRefreshTokenFlow(t){return this.withAuthMiddleware(Tt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},httpClient:t.httpClient||q.default,refreshToken:t.refreshToken||null,...t}))}withExistingTokenFlow(t,r){return this.withAuthMiddleware(xt(t,{force:r.force||!0,...r}))}withHttpMiddleware(t){return this.httpMiddleware=Et({host:t.host||y.CTP_API_URL,httpClient:t.httpClient||q.default,...t}),this}withUserAgentMiddleware(t){return this.userAgentMiddleware=De(t),this}withQueueMiddleware(t){return this.queueMiddleware=Pt({concurrency:t.concurrency||y.CONCURRENCT_REQUEST,...t}),this}withLoggerMiddleware(t){return this.loggerMiddleware=Ot(t),this}withCorrelationIdMiddleware(t){return this.correlationIdMiddleware=kt({generate:t?.generate,...t}),this}withConcurrentModificationMiddleware(t){return this.concurrentMiddleware=St(t?.concurrentModificationHandlerFn),this}withTelemetryMiddleware(t){let{createTelemetryMiddleware:r,...o}=t;return this.withUserAgentMiddleware({customAgent:o?.userAgent||"typescript-sdk-apm-middleware"}),this.telemetryMiddleware=r(o),this}withBeforeExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.beforeMiddleware=t.middleware(o),this}withAfterExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.afterMiddleware=t.middleware(o),this}build(){let t=this.middlewares.slice();return this.telemetryMiddleware&&t.push(this.telemetryMiddleware),this.correlationIdMiddleware&&t.push(this.correlationIdMiddleware),this.userAgentMiddleware&&t.push(this.userAgentMiddleware),this.authMiddleware&&t.push(this.authMiddleware),this.beforeMiddleware&&t.push(this.beforeMiddleware),this.queueMiddleware&&t.push(this.queueMiddleware),this.loggerMiddleware&&t.push(this.loggerMiddleware),this.concurrentMiddleware&&t.push(this.concurrentMiddleware),this.httpMiddleware&&t.push(this.httpMiddleware),this.afterMiddleware&&t.push(this.afterMiddleware),j({middlewares:t})}};return Ve(Ft);})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anonymous-session-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["anonymous-session-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,UAAU,EAMX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,2CAA2C,CACjE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,
|
|
1
|
+
{"version":3,"file":"anonymous-session-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["anonymous-session-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,UAAU,EAMX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,2CAA2C,CACjE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,CA8DZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-credentials-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["client-credentials-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,UAAU,EAMX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,4CAA4C,CAClE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,
|
|
1
|
+
{"version":3,"file":"client-credentials-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["client-credentials-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,UAAU,EAMX,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,4CAA4C,CAClE,OAAO,EAAE,qBAAqB,GAC7B,UAAU,CA8DZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["password-flow.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAIV,6BAA6B,
|
|
1
|
+
{"version":3,"file":"password-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["password-flow.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAIV,6BAA6B,EAE9B,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,mCAAmC,CACzD,OAAO,EAAE,6BAA6B,GACrC,UAAU,CA4DZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-token-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["refresh-token-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAIV,4BAA4B,
|
|
1
|
+
{"version":3,"file":"refresh-token-flow.d.ts","sourceRoot":"../../../../../src/middleware/auth-middleware","sources":["refresh-token-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAIV,4BAA4B,EAE7B,6BAAyB;AAK1B,MAAM,CAAC,OAAO,UAAU,uCAAuC,CAC7D,OAAO,EAAE,4BAA4B,GACpC,UAAU,CA0DZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-queue-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-queue-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAGV,sBAAsB,EACvB,
|
|
1
|
+
{"version":3,"file":"create-queue-middleware.d.ts","sourceRoot":"../../../../src/middleware","sources":["create-queue-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAGV,sBAAsB,EACvB,0BAAsB;AAEvB,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,WAAgB,GACjB,EAAE,sBAAsB,GAAG,UAAU,CAkDrC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools/ts-client",
|
|
3
|
-
"version": "2.1.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=14"
|
|
6
6
|
},
|
|
@@ -36,13 +36,7 @@
|
|
|
36
36
|
"abort-controller": "3.0.0",
|
|
37
37
|
"node-fetch": "^2.6.1"
|
|
38
38
|
},
|
|
39
|
-
"files": [
|
|
40
|
-
"dist",
|
|
41
|
-
"CHANGELOG.md",
|
|
42
|
-
"LICENSE",
|
|
43
|
-
"README.md",
|
|
44
|
-
"package.json"
|
|
45
|
-
],
|
|
39
|
+
"files": ["dist", "CHANGELOG.md"],
|
|
46
40
|
"author": "Chukwuemeka Ajima <meeky.ae@gmail.com>",
|
|
47
41
|
"main": "dist/commercetools-ts-client.cjs.js",
|
|
48
42
|
"module": "dist/commercetools-ts-client.esm.js",
|
|
@@ -63,4 +57,4 @@
|
|
|
63
57
|
"post_process_generate": "yarn organize_imports",
|
|
64
58
|
"docs": "typedoc --out docs"
|
|
65
59
|
}
|
|
66
|
-
}
|
|
60
|
+
}
|