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