@commercetools/ts-client 3.0.0 → 3.0.2
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 +14 -0
- package/README.md +80 -10
- package/dist/commercetools-ts-client.browser.cjs.js +8 -6
- package/dist/commercetools-ts-client.browser.esm.js +8 -6
- package/dist/commercetools-ts-client.cjs.dev.js +8 -6
- package/dist/commercetools-ts-client.cjs.prod.js +8 -6
- package/dist/commercetools-ts-client.esm.js +8 -6
- package/dist/commercetools-ts-client.umd.js +1 -14
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @commercetools/ts-client
|
|
2
2
|
|
|
3
|
+
## 3.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#914](https://github.com/commercetools/commercetools-sdk-typescript/pull/914) [`1dfdf4b`](https://github.com/commercetools/commercetools-sdk-typescript/commit/1dfdf4bceb41d26d69d3d45a083e15911bb36ce8) Thanks [@ajimae](https://github.com/ajimae)! - Fix issue with response serialization
|
|
8
|
+
|
|
9
|
+
## 3.0.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#902](https://github.com/commercetools/commercetools-sdk-typescript/pull/902) [`a08c782`](https://github.com/commercetools/commercetools-sdk-typescript/commit/a08c78267518c5010940a1f0887319225c8beb6d) Thanks [@ajimae](https://github.com/ajimae)! - remove buffer module and replace with js native String.normalize function
|
|
14
|
+
|
|
15
|
+
- [#841](https://github.com/commercetools/commercetools-sdk-typescript/pull/841) [`626c403`](https://github.com/commercetools/commercetools-sdk-typescript/commit/626c4035544c804db96a6e5f1c63f6ea9073c649) Thanks [@ajimae](https://github.com/ajimae)! - Improve README.md file
|
|
16
|
+
|
|
3
17
|
## 3.0.0
|
|
4
18
|
|
|
5
19
|
### Major Changes
|
package/README.md
CHANGED
|
@@ -23,6 +23,9 @@ import {
|
|
|
23
23
|
type MiddlewareRequest,
|
|
24
24
|
type MiddlewareResponse,
|
|
25
25
|
type Client,
|
|
26
|
+
createHttpMiddleware,
|
|
27
|
+
createConcurrentModificationMiddleware,
|
|
28
|
+
createAuthMiddlewareForClientCredentialsFlow,
|
|
26
29
|
ClientBuilder,
|
|
27
30
|
} from '@commercetools/ts-client'
|
|
28
31
|
import { createApiBuilderFromCtpClient } from '@commercetools/platform-sdk'
|
|
@@ -49,7 +52,12 @@ const retryOptions = {
|
|
|
49
52
|
maxRetries: 3,
|
|
50
53
|
retryDelay: 200,
|
|
51
54
|
backoff: true,
|
|
52
|
-
retryCodes: [
|
|
55
|
+
retryCodes: [503],
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const loggerFn = (response) => {
|
|
59
|
+
// log response object
|
|
60
|
+
console.log(response)
|
|
53
61
|
}
|
|
54
62
|
|
|
55
63
|
// custom middleware
|
|
@@ -67,15 +75,11 @@ function middleware(options) {
|
|
|
67
75
|
|
|
68
76
|
const client: Client = new ClientBuilder()
|
|
69
77
|
.withPasswordFlow(authMiddlewareOptions)
|
|
70
|
-
.withLoggerMiddleware({
|
|
71
|
-
includeOriginalRequest: false,
|
|
72
|
-
includeResponseHeaders: false,
|
|
73
|
-
})
|
|
78
|
+
.withLoggerMiddleware({ loggerFn })
|
|
74
79
|
.withCorrelationIdMiddleware({
|
|
75
80
|
generate: () => 'fake-correlation-id' + Math.floor(Math.random() + 2),
|
|
76
81
|
})
|
|
77
82
|
.withHttpMiddleware(httpMiddlewareOptions)
|
|
78
|
-
.withRetryMiddleware(retryOptions)
|
|
79
83
|
.withMiddleware(middleware({})) // <<<------------------- add the custom middleware here
|
|
80
84
|
.build()
|
|
81
85
|
|
|
@@ -149,11 +153,13 @@ const client = new ClientBuilder()
|
|
|
149
153
|
.build()
|
|
150
154
|
```
|
|
151
155
|
|
|
152
|
-
> [!WARNING]
|
|
153
|
-
> Do not add the built-in middlewares using `withMiddleware` method. Adding by this method does not respect the ordering of the middlewares and could lead to unexpected behavior.
|
|
156
|
+
<!-- > [!WARNING]
|
|
157
|
+
> Do not add the built-in middlewares using `withMiddleware` method. Adding by this method does not respect the ordering of the middlewares and could lead to unexpected behavior. -->
|
|
158
|
+
|
|
159
|
+
The `withMiddleware` method can be used to add middleware functions (both built-in and custom middleware) in an ordered fashion.
|
|
154
160
|
|
|
155
161
|
```ts
|
|
156
|
-
//
|
|
162
|
+
// Example
|
|
157
163
|
const authMiddlewareOptions = {
|
|
158
164
|
credentials: {
|
|
159
165
|
clientId: 'xxx',
|
|
@@ -168,12 +174,76 @@ const httpMiddlewareOptions = {
|
|
|
168
174
|
httpClient: fetch,
|
|
169
175
|
}
|
|
170
176
|
|
|
177
|
+
const logger = () => {
|
|
178
|
+
return (next) => async (request) => {
|
|
179
|
+
// log request object
|
|
180
|
+
console.log('Request:', request)
|
|
181
|
+
const response = await next(request)
|
|
182
|
+
|
|
183
|
+
// log response object
|
|
184
|
+
console.log('Response', response)
|
|
185
|
+
return response
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
171
189
|
const client = new ClientBuilder()
|
|
172
190
|
.withMiddleware(
|
|
173
191
|
createAuthMiddlewareForClientCredentialsFlow(authMiddlewareOptions)
|
|
174
192
|
)
|
|
175
193
|
.withMiddleware(createHttpMiddleware(httpMiddlewareOptions))
|
|
176
194
|
.withMiddleware(createConcurrentModificationMiddleware())
|
|
195
|
+
.withMiddleware(logger())
|
|
177
196
|
.build()
|
|
178
|
-
// WRONG CODE!!!!!
|
|
179
197
|
```
|
|
198
|
+
|
|
199
|
+
This will add the middleware in an ordered fashion starting with the:
|
|
200
|
+
|
|
201
|
+
1. createAuthMiddlewareForClientCredentialsFlow
|
|
202
|
+
2. createHttpMiddleware
|
|
203
|
+
3. createConcurrentModificationMiddleware
|
|
204
|
+
4. logger
|
|
205
|
+
|
|
206
|
+
Note that when using the `withMiddleware` function to add a custom middleware along side other in built middleware functions, it will add the custom middleware to the start of the execution chain.
|
|
207
|
+
|
|
208
|
+
```ts
|
|
209
|
+
// Example
|
|
210
|
+
const authMiddlewareOptions = {
|
|
211
|
+
credentials: {
|
|
212
|
+
clientId: 'xxx',
|
|
213
|
+
clientSecret: 'xxx',
|
|
214
|
+
},
|
|
215
|
+
host: 'https://auth.europe-west1.gcp.commercetools.com',
|
|
216
|
+
projectKey: 'xxx',
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
const httpMiddlewareOptions = {
|
|
220
|
+
host: 'https://api.europe-west1.gcp.commercetools.com',
|
|
221
|
+
httpClient: fetch,
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const logger = () => {
|
|
225
|
+
return (next) => async (request) => {
|
|
226
|
+
// log request object
|
|
227
|
+
console.log('Request:', request)
|
|
228
|
+
const response = await next(request)
|
|
229
|
+
|
|
230
|
+
// log response object
|
|
231
|
+
console.log('Response', response)
|
|
232
|
+
return response
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
const client = new ClientBuilder()
|
|
237
|
+
.withClientCredentialsFlow(authMiddlewareOptions)
|
|
238
|
+
.withHttpMiddleware(httpMiddlewareOptions)
|
|
239
|
+
.withConcurrentModificationMiddleware()
|
|
240
|
+
.withMiddleware(logger())
|
|
241
|
+
.build()
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
The order of execution is as follows:
|
|
245
|
+
|
|
246
|
+
1. withMiddleware <------ the custom middleware
|
|
247
|
+
2. withClientCredentialsFlow
|
|
248
|
+
3. withHttpMiddleware
|
|
249
|
+
4. withConcurrentModificationMiddleware
|
|
@@ -27,10 +27,12 @@ function _defineProperty(e, r, t) {
|
|
|
27
27
|
}) : e[r] = t, e;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
var Buffer = require('buffer/').Buffer;
|
|
31
30
|
function byteLength(body) {
|
|
32
|
-
if (body &&
|
|
33
|
-
return
|
|
31
|
+
if (body && typeof body === 'string') {
|
|
32
|
+
return body.normalize('NFD').length.toString();
|
|
33
|
+
}
|
|
34
|
+
if (body && body instanceof Uint8Array) {
|
|
35
|
+
return new TextDecoder().decode(body).length.toString();
|
|
34
36
|
}
|
|
35
37
|
if (body && typeof body === 'object') {
|
|
36
38
|
return new TextEncoder().encode(JSON.stringify(body)).length.toString();
|
|
@@ -254,7 +256,7 @@ async function executor(request) {
|
|
|
254
256
|
try {
|
|
255
257
|
// try to parse the `fetch` response as text
|
|
256
258
|
if (response.text && typeof response.text == 'function') {
|
|
257
|
-
result = (await response.text()) || response[Object.getOwnPropertySymbols(response)[1]];
|
|
259
|
+
result = (await response.text()) || JSON.stringify(response[Object.getOwnPropertySymbols(response)[1]]);
|
|
258
260
|
data = JSON.parse(result);
|
|
259
261
|
} else {
|
|
260
262
|
// axios response
|
|
@@ -1271,7 +1273,7 @@ function createQueueMiddleware$1({
|
|
|
1271
1273
|
|
|
1272
1274
|
var packageJson = {
|
|
1273
1275
|
name: "@commercetools/ts-client",
|
|
1274
|
-
version: "3.0.
|
|
1276
|
+
version: "3.0.2",
|
|
1275
1277
|
engines: {
|
|
1276
1278
|
node: ">=18"
|
|
1277
1279
|
},
|
|
@@ -1319,7 +1321,7 @@ var packageJson = {
|
|
|
1319
1321
|
},
|
|
1320
1322
|
devDependencies: {
|
|
1321
1323
|
"common-tags": "1.8.2",
|
|
1322
|
-
dotenv: "16.4.
|
|
1324
|
+
dotenv: "16.4.7",
|
|
1323
1325
|
jest: "29.7.0",
|
|
1324
1326
|
nock: "^14.0.0-beta.19",
|
|
1325
1327
|
"organize-imports-cli": "0.10.0"
|
|
@@ -23,10 +23,12 @@ function _defineProperty(e, r, t) {
|
|
|
23
23
|
}) : e[r] = t, e;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
var Buffer = require('buffer/').Buffer;
|
|
27
26
|
function byteLength(body) {
|
|
28
|
-
if (body &&
|
|
29
|
-
return
|
|
27
|
+
if (body && typeof body === 'string') {
|
|
28
|
+
return body.normalize('NFD').length.toString();
|
|
29
|
+
}
|
|
30
|
+
if (body && body instanceof Uint8Array) {
|
|
31
|
+
return new TextDecoder().decode(body).length.toString();
|
|
30
32
|
}
|
|
31
33
|
if (body && typeof body === 'object') {
|
|
32
34
|
return new TextEncoder().encode(JSON.stringify(body)).length.toString();
|
|
@@ -250,7 +252,7 @@ async function executor(request) {
|
|
|
250
252
|
try {
|
|
251
253
|
// try to parse the `fetch` response as text
|
|
252
254
|
if (response.text && typeof response.text == 'function') {
|
|
253
|
-
result = (await response.text()) || response[Object.getOwnPropertySymbols(response)[1]];
|
|
255
|
+
result = (await response.text()) || JSON.stringify(response[Object.getOwnPropertySymbols(response)[1]]);
|
|
254
256
|
data = JSON.parse(result);
|
|
255
257
|
} else {
|
|
256
258
|
// axios response
|
|
@@ -1267,7 +1269,7 @@ function createQueueMiddleware$1({
|
|
|
1267
1269
|
|
|
1268
1270
|
var packageJson = {
|
|
1269
1271
|
name: "@commercetools/ts-client",
|
|
1270
|
-
version: "3.0.
|
|
1272
|
+
version: "3.0.2",
|
|
1271
1273
|
engines: {
|
|
1272
1274
|
node: ">=18"
|
|
1273
1275
|
},
|
|
@@ -1315,7 +1317,7 @@ var packageJson = {
|
|
|
1315
1317
|
},
|
|
1316
1318
|
devDependencies: {
|
|
1317
1319
|
"common-tags": "1.8.2",
|
|
1318
|
-
dotenv: "16.4.
|
|
1320
|
+
dotenv: "16.4.7",
|
|
1319
1321
|
jest: "29.7.0",
|
|
1320
1322
|
nock: "^14.0.0-beta.19",
|
|
1321
1323
|
"organize-imports-cli": "0.10.0"
|
|
@@ -27,10 +27,12 @@ function _defineProperty(e, r, t) {
|
|
|
27
27
|
}) : e[r] = t, e;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
var Buffer = require('buffer/').Buffer;
|
|
31
30
|
function byteLength(body) {
|
|
32
|
-
if (body &&
|
|
33
|
-
return
|
|
31
|
+
if (body && typeof body === 'string') {
|
|
32
|
+
return body.normalize('NFD').length.toString();
|
|
33
|
+
}
|
|
34
|
+
if (body && body instanceof Uint8Array) {
|
|
35
|
+
return new TextDecoder().decode(body).length.toString();
|
|
34
36
|
}
|
|
35
37
|
if (body && typeof body === 'object') {
|
|
36
38
|
return new TextEncoder().encode(JSON.stringify(body)).length.toString();
|
|
@@ -254,7 +256,7 @@ async function executor(request) {
|
|
|
254
256
|
try {
|
|
255
257
|
// try to parse the `fetch` response as text
|
|
256
258
|
if (response.text && typeof response.text == 'function') {
|
|
257
|
-
result = (await response.text()) || response[Object.getOwnPropertySymbols(response)[1]];
|
|
259
|
+
result = (await response.text()) || JSON.stringify(response[Object.getOwnPropertySymbols(response)[1]]);
|
|
258
260
|
data = JSON.parse(result);
|
|
259
261
|
} else {
|
|
260
262
|
// axios response
|
|
@@ -1271,7 +1273,7 @@ function createQueueMiddleware$1({
|
|
|
1271
1273
|
|
|
1272
1274
|
var packageJson = {
|
|
1273
1275
|
name: "@commercetools/ts-client",
|
|
1274
|
-
version: "3.0.
|
|
1276
|
+
version: "3.0.2",
|
|
1275
1277
|
engines: {
|
|
1276
1278
|
node: ">=18"
|
|
1277
1279
|
},
|
|
@@ -1319,7 +1321,7 @@ var packageJson = {
|
|
|
1319
1321
|
},
|
|
1320
1322
|
devDependencies: {
|
|
1321
1323
|
"common-tags": "1.8.2",
|
|
1322
|
-
dotenv: "16.4.
|
|
1324
|
+
dotenv: "16.4.7",
|
|
1323
1325
|
jest: "29.7.0",
|
|
1324
1326
|
nock: "^14.0.0-beta.19",
|
|
1325
1327
|
"organize-imports-cli": "0.10.0"
|
|
@@ -27,10 +27,12 @@ function _defineProperty(e, r, t) {
|
|
|
27
27
|
}) : e[r] = t, e;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
var Buffer = require('buffer/').Buffer;
|
|
31
30
|
function byteLength(body) {
|
|
32
|
-
if (body &&
|
|
33
|
-
return
|
|
31
|
+
if (body && typeof body === 'string') {
|
|
32
|
+
return body.normalize('NFD').length.toString();
|
|
33
|
+
}
|
|
34
|
+
if (body && body instanceof Uint8Array) {
|
|
35
|
+
return new TextDecoder().decode(body).length.toString();
|
|
34
36
|
}
|
|
35
37
|
if (body && typeof body === 'object') {
|
|
36
38
|
return new TextEncoder().encode(JSON.stringify(body)).length.toString();
|
|
@@ -254,7 +256,7 @@ async function executor(request) {
|
|
|
254
256
|
try {
|
|
255
257
|
// try to parse the `fetch` response as text
|
|
256
258
|
if (response.text && typeof response.text == 'function') {
|
|
257
|
-
result = (await response.text()) || response[Object.getOwnPropertySymbols(response)[1]];
|
|
259
|
+
result = (await response.text()) || JSON.stringify(response[Object.getOwnPropertySymbols(response)[1]]);
|
|
258
260
|
data = JSON.parse(result);
|
|
259
261
|
} else {
|
|
260
262
|
// axios response
|
|
@@ -1271,7 +1273,7 @@ function createQueueMiddleware$1({
|
|
|
1271
1273
|
|
|
1272
1274
|
var packageJson = {
|
|
1273
1275
|
name: "@commercetools/ts-client",
|
|
1274
|
-
version: "3.0.
|
|
1276
|
+
version: "3.0.2",
|
|
1275
1277
|
engines: {
|
|
1276
1278
|
node: ">=18"
|
|
1277
1279
|
},
|
|
@@ -1319,7 +1321,7 @@ var packageJson = {
|
|
|
1319
1321
|
},
|
|
1320
1322
|
devDependencies: {
|
|
1321
1323
|
"common-tags": "1.8.2",
|
|
1322
|
-
dotenv: "16.4.
|
|
1324
|
+
dotenv: "16.4.7",
|
|
1323
1325
|
jest: "29.7.0",
|
|
1324
1326
|
nock: "^14.0.0-beta.19",
|
|
1325
1327
|
"organize-imports-cli": "0.10.0"
|
|
@@ -23,10 +23,12 @@ function _defineProperty(e, r, t) {
|
|
|
23
23
|
}) : e[r] = t, e;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
var Buffer = require('buffer/').Buffer;
|
|
27
26
|
function byteLength(body) {
|
|
28
|
-
if (body &&
|
|
29
|
-
return
|
|
27
|
+
if (body && typeof body === 'string') {
|
|
28
|
+
return body.normalize('NFD').length.toString();
|
|
29
|
+
}
|
|
30
|
+
if (body && body instanceof Uint8Array) {
|
|
31
|
+
return new TextDecoder().decode(body).length.toString();
|
|
30
32
|
}
|
|
31
33
|
if (body && typeof body === 'object') {
|
|
32
34
|
return new TextEncoder().encode(JSON.stringify(body)).length.toString();
|
|
@@ -250,7 +252,7 @@ async function executor(request) {
|
|
|
250
252
|
try {
|
|
251
253
|
// try to parse the `fetch` response as text
|
|
252
254
|
if (response.text && typeof response.text == 'function') {
|
|
253
|
-
result = (await response.text()) || response[Object.getOwnPropertySymbols(response)[1]];
|
|
255
|
+
result = (await response.text()) || JSON.stringify(response[Object.getOwnPropertySymbols(response)[1]]);
|
|
254
256
|
data = JSON.parse(result);
|
|
255
257
|
} else {
|
|
256
258
|
// axios response
|
|
@@ -1267,7 +1269,7 @@ function createQueueMiddleware$1({
|
|
|
1267
1269
|
|
|
1268
1270
|
var packageJson = {
|
|
1269
1271
|
name: "@commercetools/ts-client",
|
|
1270
|
-
version: "3.0.
|
|
1272
|
+
version: "3.0.2",
|
|
1271
1273
|
engines: {
|
|
1272
1274
|
node: ">=18"
|
|
1273
1275
|
},
|
|
@@ -1315,7 +1317,7 @@ var packageJson = {
|
|
|
1315
1317
|
},
|
|
1316
1318
|
devDependencies: {
|
|
1317
1319
|
"common-tags": "1.8.2",
|
|
1318
|
-
dotenv: "16.4.
|
|
1320
|
+
dotenv: "16.4.7",
|
|
1319
1321
|
jest: "29.7.0",
|
|
1320
1322
|
nock: "^14.0.0-beta.19",
|
|
1321
1323
|
"organize-imports-cli": "0.10.0"
|
|
@@ -1,14 +1 @@
|
|
|
1
|
-
var window;(window||={})["@commercetools/ts-client"]=(()=>{var Ie=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var It=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Fe=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ue=(r,e)=>{for(var t in e)Ie(r,t,{get:e[t],enumerable:!0})},Ut=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of It(e))!Ft.call(r,n)&&n!==t&&Ie(r,n,{get:()=>e[n],enumerable:!(i=bt(e,n))||i.enumerable});return r};var kt=r=>Ut(Ie({},"__esModule",{value:!0}),r);var Ze=Fe(me=>{"use strict";me.byteLength=St;me.toByteArray=Nt;me.fromByteArray=qt;var T=[],R=[],Ot=typeof Uint8Array<"u"?Uint8Array:Array,ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(q=0,ve=ke.length;q<ve;++q)T[q]=ke[q],R[ke.charCodeAt(q)]=q;var q,ve;R[45]=62;R[95]=63;function Xe(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var i=t===e?0:4-t%4;return[t,i]}function St(r){var e=Xe(r),t=e[0],i=e[1];return(t+i)*3/4-i}function Pt(r,e,t){return(e+t)*3/4-t}function Nt(r){var e,t=Xe(r),i=t[0],n=t[1],o=new Ot(Pt(r,i,n)),s=0,l=n>0?i-4:i,u;for(u=0;u<l;u+=4)e=R[r.charCodeAt(u)]<<18|R[r.charCodeAt(u+1)]<<12|R[r.charCodeAt(u+2)]<<6|R[r.charCodeAt(u+3)],o[s++]=e>>16&255,o[s++]=e>>8&255,o[s++]=e&255;return n===2&&(e=R[r.charCodeAt(u)]<<2|R[r.charCodeAt(u+1)]>>4,o[s++]=e&255),n===1&&(e=R[r.charCodeAt(u)]<<10|R[r.charCodeAt(u+1)]<<4|R[r.charCodeAt(u+2)]>>2,o[s++]=e>>8&255,o[s++]=e&255),o}function _t(r){return T[r>>18&63]+T[r>>12&63]+T[r>>6&63]+T[r&63]}function jt(r,e,t){for(var i,n=[],o=e;o<t;o+=3)i=(r[o]<<16&16711680)+(r[o+1]<<8&65280)+(r[o+2]&255),n.push(_t(i));return n.join("")}function qt(r){for(var e,t=r.length,i=t%3,n=[],o=16383,s=0,l=t-i;s<l;s+=o)n.push(jt(r,s,s+o>l?l:s+o));return i===1?(e=r[t-1],n.push(T[e>>2]+T[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(T[e>>10]+T[e>>4&63]+T[e<<2&63]+"=")),n.join("")}});var et=Fe(Oe=>{Oe.read=function(r,e,t,i,n){var o,s,l=n*8-i-1,u=(1<<l)-1,d=u>>1,c=-7,h=t?n-1:0,w=t?-1:1,p=r[e+h];for(h+=w,o=p&(1<<-c)-1,p>>=-c,c+=l;c>0;o=o*256+r[e+h],h+=w,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=i;c>0;s=s*256+r[e+h],h+=w,c-=8);if(o===0)o=1-d;else{if(o===u)return s?NaN:(p?-1:1)*(1/0);s=s+Math.pow(2,i),o=o-d}return(p?-1:1)*s*Math.pow(2,o-i)};Oe.write=function(r,e,t,i,n,o){var s,l,u,d=o*8-n-1,c=(1<<d)-1,h=c>>1,w=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:o-1,f=i?1:-1,S=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(l=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),s+h>=1?e+=w/u:e+=w*Math.pow(2,1-h),e*u>=2&&(s++,u/=2),s+h>=c?(l=0,s=c):s+h>=1?(l=(e*u-1)*Math.pow(2,n),s=s+h):(l=e*Math.pow(2,h-1)*Math.pow(2,n),s=0));n>=8;r[t+p]=l&255,p+=f,l/=256,n-=8);for(s=s<<n|l,d+=n;d>0;r[t+p]=s&255,p+=f,s/=256,d-=8);r[t+p-f]|=S*128}});var yt=Fe(J=>{"use strict";var Se=Ze(),G=et(),tt=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;J.Buffer=a;J.SlowBuffer=zt;J.INSPECT_MAX_BYTES=50;var ye=2147483647;J.kMaxLength=ye;a.TYPED_ARRAY_SUPPORT=Lt();!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Lt(){try{let r=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(r,e),r.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}});Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function k(r){if(r>ye)throw new RangeError('The value "'+r+'" is invalid for option "size"');let e=new Uint8Array(r);return Object.setPrototypeOf(e,a.prototype),e}function a(r,e,t){if(typeof r=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return je(r)}return ot(r,e,t)}a.poolSize=8192;function ot(r,e,t){if(typeof r=="string")return Dt(r,e);if(ArrayBuffer.isView(r))return $t(r);if(r==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r);if(b(r,ArrayBuffer)||r&&b(r.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(b(r,SharedArrayBuffer)||r&&b(r.buffer,SharedArrayBuffer)))return Ne(r,e,t);if(typeof r=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let i=r.valueOf&&r.valueOf();if(i!=null&&i!==r)return a.from(i,e,t);let n=Kt(r);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof r[Symbol.toPrimitive]=="function")return a.from(r[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r)}a.from=function(r,e,t){return ot(r,e,t)};Object.setPrototypeOf(a.prototype,Uint8Array.prototype);Object.setPrototypeOf(a,Uint8Array);function st(r){if(typeof r!="number")throw new TypeError('"size" argument must be of type number');if(r<0)throw new RangeError('The value "'+r+'" is invalid for option "size"')}function Ht(r,e,t){return st(r),r<=0?k(r):e!==void 0?typeof t=="string"?k(r).fill(e,t):k(r).fill(e):k(r)}a.alloc=function(r,e,t){return Ht(r,e,t)};function je(r){return st(r),k(r<0?0:qe(r)|0)}a.allocUnsafe=function(r){return je(r)};a.allocUnsafeSlow=function(r){return je(r)};function Dt(r,e){if((typeof e!="string"||e==="")&&(e="utf8"),!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let t=at(r,e)|0,i=k(t),n=i.write(r,e);return n!==t&&(i=i.slice(0,n)),i}function Pe(r){let e=r.length<0?0:qe(r.length)|0,t=k(e);for(let i=0;i<e;i+=1)t[i]=r[i]&255;return t}function $t(r){if(b(r,Uint8Array)){let e=new Uint8Array(r);return Ne(e.buffer,e.byteOffset,e.byteLength)}return Pe(r)}function Ne(r,e,t){if(e<0||r.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(r.byteLength<e+(t||0))throw new RangeError('"length" is outside of buffer bounds');let i;return e===void 0&&t===void 0?i=new Uint8Array(r):t===void 0?i=new Uint8Array(r,e):i=new Uint8Array(r,e,t),Object.setPrototypeOf(i,a.prototype),i}function Kt(r){if(a.isBuffer(r)){let e=qe(r.length)|0,t=k(e);return t.length===0||r.copy(t,0,0,e),t}if(r.length!==void 0)return typeof r.length!="number"||He(r.length)?k(0):Pe(r);if(r.type==="Buffer"&&Array.isArray(r.data))return Pe(r.data)}function qe(r){if(r>=ye)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ye.toString(16)+" bytes");return r|0}function zt(r){return+r!=r&&(r=0),a.alloc(+r)}a.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==a.prototype};a.compare=function(e,t){if(b(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),b(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let i=e.length,n=t.length;for(let o=0,s=Math.min(i,n);o<s;++o)if(e[o]!==t[o]){i=e[o],n=t[o];break}return i<n?-1:n<i?1:0};a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};a.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return a.alloc(0);let i;if(t===void 0)for(t=0,i=0;i<e.length;++i)t+=e[i].length;let n=a.allocUnsafe(t),o=0;for(i=0;i<e.length;++i){let s=e[i];if(b(s,Uint8Array))o+s.length>n.length?(a.isBuffer(s)||(s=a.from(s)),s.copy(n,o)):Uint8Array.prototype.set.call(n,s,o);else if(a.isBuffer(s))s.copy(n,o);else throw new TypeError('"list" argument must be an Array of Buffers');o+=s.length}return n};function at(r,e){if(a.isBuffer(r))return r.length;if(ArrayBuffer.isView(r)||b(r,ArrayBuffer))return r.byteLength;if(typeof r!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof r);let t=r.length,i=arguments.length>2&&arguments[2]===!0;if(!i&&t===0)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return _e(r).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return mt(r).length;default:if(n)return i?-1:_e(r).length;e=(""+e).toLowerCase(),n=!0}}a.byteLength=at;function Gt(r,e,t){let i=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(r||(r="utf8");;)switch(r){case"hex":return tr(this,e,t);case"utf8":case"utf-8":return ut(this,e,t);case"ascii":return Zt(this,e,t);case"latin1":case"binary":return er(this,e,t);case"base64":return vt(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return rr(this,e,t);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(r+"").toLowerCase(),i=!0}}a.prototype._isBuffer=!0;function L(r,e,t){let i=r[e];r[e]=r[t],r[t]=i}a.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)L(this,t,t+1);return this};a.prototype.swap32=function(){let e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)L(this,t,t+3),L(this,t+1,t+2);return this};a.prototype.swap64=function(){let e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)L(this,t,t+7),L(this,t+1,t+6),L(this,t+2,t+5),L(this,t+3,t+4);return this};a.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?ut(this,0,e):Gt.apply(this,arguments)};a.prototype.toLocaleString=a.prototype.toString;a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:a.compare(this,e)===0};a.prototype.inspect=function(){let e="",t=J.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"};tt&&(a.prototype[tt]=a.prototype.inspect);a.prototype.compare=function(e,t,i,n,o){if(b(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),i===void 0&&(i=e?e.length:0),n===void 0&&(n=0),o===void 0&&(o=this.length),t<0||i>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=i)return 0;if(n>=o)return-1;if(t>=i)return 1;if(t>>>=0,i>>>=0,n>>>=0,o>>>=0,this===e)return 0;let s=o-n,l=i-t,u=Math.min(s,l),d=this.slice(n,o),c=e.slice(t,i);for(let h=0;h<u;++h)if(d[h]!==c[h]){s=d[h],l=c[h];break}return s<l?-1:l<s?1:0};function lt(r,e,t,i,n){if(r.length===0)return-1;if(typeof t=="string"?(i=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,He(t)&&(t=n?0:r.length-1),t<0&&(t=r.length+t),t>=r.length){if(n)return-1;t=r.length-1}else if(t<0)if(n)t=0;else return-1;if(typeof e=="string"&&(e=a.from(e,i)),a.isBuffer(e))return e.length===0?-1:rt(r,e,t,i,n);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(r,e,t):Uint8Array.prototype.lastIndexOf.call(r,e,t):rt(r,[e],t,i,n);throw new TypeError("val must be string, number or Buffer")}function rt(r,e,t,i,n){let o=1,s=r.length,l=e.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(r.length<2||e.length<2)return-1;o=2,s/=2,l/=2,t/=2}function u(c,h){return o===1?c[h]:c.readUInt16BE(h*o)}let d;if(n){let c=-1;for(d=t;d<s;d++)if(u(r,d)===u(e,c===-1?0:d-c)){if(c===-1&&(c=d),d-c+1===l)return c*o}else c!==-1&&(d-=d-c),c=-1}else for(t+l>s&&(t=s-l),d=t;d>=0;d--){let c=!0;for(let h=0;h<l;h++)if(u(r,d+h)!==u(e,h)){c=!1;break}if(c)return d}return-1}a.prototype.includes=function(e,t,i){return this.indexOf(e,t,i)!==-1};a.prototype.indexOf=function(e,t,i){return lt(this,e,t,i,!0)};a.prototype.lastIndexOf=function(e,t,i){return lt(this,e,t,i,!1)};function Qt(r,e,t,i){t=Number(t)||0;let n=r.length-t;i?(i=Number(i),i>n&&(i=n)):i=n;let o=e.length;i>o/2&&(i=o/2);let s;for(s=0;s<i;++s){let l=parseInt(e.substr(s*2,2),16);if(He(l))return s;r[t+s]=l}return s}function Jt(r,e,t,i){return ge(_e(e,r.length-t),r,t,i)}function Vt(r,e,t,i){return ge(sr(e),r,t,i)}function Yt(r,e,t,i){return ge(mt(e),r,t,i)}function Wt(r,e,t,i){return ge(ar(e,r.length-t),r,t,i)}a.prototype.write=function(e,t,i,n){if(t===void 0)n="utf8",i=this.length,t=0;else if(i===void 0&&typeof t=="string")n=t,i=this.length,t=0;else if(isFinite(t))t=t>>>0,isFinite(i)?(i=i>>>0,n===void 0&&(n="utf8")):(n=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let o=this.length-t;if((i===void 0||i>o)&&(i=o),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let s=!1;for(;;)switch(n){case"hex":return Qt(this,e,t,i);case"utf8":case"utf-8":return Jt(this,e,t,i);case"ascii":case"latin1":case"binary":return Vt(this,e,t,i);case"base64":return Yt(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Wt(this,e,t,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}};a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function vt(r,e,t){return e===0&&t===r.length?Se.fromByteArray(r):Se.fromByteArray(r.slice(e,t))}function ut(r,e,t){t=Math.min(r.length,t);let i=[],n=e;for(;n<t;){let o=r[n],s=null,l=o>239?4:o>223?3:o>191?2:1;if(n+l<=t){let u,d,c,h;switch(l){case 1:o<128&&(s=o);break;case 2:u=r[n+1],(u&192)===128&&(h=(o&31)<<6|u&63,h>127&&(s=h));break;case 3:u=r[n+1],d=r[n+2],(u&192)===128&&(d&192)===128&&(h=(o&15)<<12|(u&63)<<6|d&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:u=r[n+1],d=r[n+2],c=r[n+3],(u&192)===128&&(d&192)===128&&(c&192)===128&&(h=(o&15)<<18|(u&63)<<12|(d&63)<<6|c&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,l=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|s&1023),i.push(s),n+=l}return Xt(i)}var it=4096;function Xt(r){let e=r.length;if(e<=it)return String.fromCharCode.apply(String,r);let t="",i=0;for(;i<e;)t+=String.fromCharCode.apply(String,r.slice(i,i+=it));return t}function Zt(r,e,t){let i="";t=Math.min(r.length,t);for(let n=e;n<t;++n)i+=String.fromCharCode(r[n]&127);return i}function er(r,e,t){let i="";t=Math.min(r.length,t);for(let n=e;n<t;++n)i+=String.fromCharCode(r[n]);return i}function tr(r,e,t){let i=r.length;(!e||e<0)&&(e=0),(!t||t<0||t>i)&&(t=i);let n="";for(let o=e;o<t;++o)n+=lr[r[o]];return n}function rr(r,e,t){let i=r.slice(e,t),n="";for(let o=0;o<i.length-1;o+=2)n+=String.fromCharCode(i[o]+i[o+1]*256);return n}a.prototype.slice=function(e,t){let i=this.length;e=~~e,t=t===void 0?i:~~t,e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),t<e&&(t=e);let n=this.subarray(e,t);return Object.setPrototypeOf(n,a.prototype),n};function m(r,e,t){if(r%1!==0||r<0)throw new RangeError("offset is not uint");if(r+e>t)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(e,t,i){e=e>>>0,t=t>>>0,i||m(e,t,this.length);let n=this[e],o=1,s=0;for(;++s<t&&(o*=256);)n+=this[e+s]*o;return n};a.prototype.readUintBE=a.prototype.readUIntBE=function(e,t,i){e=e>>>0,t=t>>>0,i||m(e,t,this.length);let n=this[e+--t],o=1;for(;t>0&&(o*=256);)n+=this[e+--t]*o;return n};a.prototype.readUint8=a.prototype.readUInt8=function(e,t){return e=e>>>0,t||m(e,1,this.length),this[e]};a.prototype.readUint16LE=a.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||m(e,2,this.length),this[e]|this[e+1]<<8};a.prototype.readUint16BE=a.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||m(e,2,this.length),this[e]<<8|this[e+1]};a.prototype.readUint32LE=a.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||m(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};a.prototype.readUint32BE=a.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||m(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};a.prototype.readBigUInt64LE=N(function(e){e=e>>>0,Q(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&oe(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,o=this[++e]+this[++e]*2**8+this[++e]*2**16+i*2**24;return BigInt(n)+(BigInt(o)<<BigInt(32))});a.prototype.readBigUInt64BE=N(function(e){e=e>>>0,Q(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&oe(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],o=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i;return(BigInt(n)<<BigInt(32))+BigInt(o)});a.prototype.readIntLE=function(e,t,i){e=e>>>0,t=t>>>0,i||m(e,t,this.length);let n=this[e],o=1,s=0;for(;++s<t&&(o*=256);)n+=this[e+s]*o;return o*=128,n>=o&&(n-=Math.pow(2,8*t)),n};a.prototype.readIntBE=function(e,t,i){e=e>>>0,t=t>>>0,i||m(e,t,this.length);let n=t,o=1,s=this[e+--n];for(;n>0&&(o*=256);)s+=this[e+--n]*o;return o*=128,s>=o&&(s-=Math.pow(2,8*t)),s};a.prototype.readInt8=function(e,t){return e=e>>>0,t||m(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};a.prototype.readInt16LE=function(e,t){e=e>>>0,t||m(e,2,this.length);let i=this[e]|this[e+1]<<8;return i&32768?i|4294901760:i};a.prototype.readInt16BE=function(e,t){e=e>>>0,t||m(e,2,this.length);let i=this[e+1]|this[e]<<8;return i&32768?i|4294901760:i};a.prototype.readInt32LE=function(e,t){return e=e>>>0,t||m(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};a.prototype.readInt32BE=function(e,t){return e=e>>>0,t||m(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};a.prototype.readBigInt64LE=N(function(e){e=e>>>0,Q(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&oe(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(i<<24);return(BigInt(n)<<BigInt(32))+BigInt(t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)});a.prototype.readBigInt64BE=N(function(e){e=e>>>0,Q(e,"offset");let t=this[e],i=this[e+7];(t===void 0||i===void 0)&&oe(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i)});a.prototype.readFloatLE=function(e,t){return e=e>>>0,t||m(e,4,this.length),G.read(this,e,!0,23,4)};a.prototype.readFloatBE=function(e,t){return e=e>>>0,t||m(e,4,this.length),G.read(this,e,!1,23,4)};a.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||m(e,8,this.length),G.read(this,e,!0,52,8)};a.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||m(e,8,this.length),G.read(this,e,!1,52,8)};function y(r,e,t,i,n,o){if(!a.isBuffer(r))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw new RangeError('"value" argument is out of bounds');if(t+i>r.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(e,t,i,n){if(e=+e,t=t>>>0,i=i>>>0,!n){let l=Math.pow(2,8*i)-1;y(this,e,t,i,l,0)}let o=1,s=0;for(this[t]=e&255;++s<i&&(o*=256);)this[t+s]=e/o&255;return t+i};a.prototype.writeUintBE=a.prototype.writeUIntBE=function(e,t,i,n){if(e=+e,t=t>>>0,i=i>>>0,!n){let l=Math.pow(2,8*i)-1;y(this,e,t,i,l,0)}let o=i-1,s=1;for(this[t+o]=e&255;--o>=0&&(s*=256);)this[t+o]=e/s&255;return t+i};a.prototype.writeUint8=a.prototype.writeUInt8=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,1,255,0),this[t]=e&255,t+1};a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function ct(r,e,t,i,n){wt(e,i,n,r,t,7);let o=Number(e&BigInt(4294967295));r[t++]=o,o=o>>8,r[t++]=o,o=o>>8,r[t++]=o,o=o>>8,r[t++]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s,t}function dt(r,e,t,i,n){wt(e,i,n,r,t,7);let o=Number(e&BigInt(4294967295));r[t+7]=o,o=o>>8,r[t+6]=o,o=o>>8,r[t+5]=o,o=o>>8,r[t+4]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return r[t+3]=s,s=s>>8,r[t+2]=s,s=s>>8,r[t+1]=s,s=s>>8,r[t]=s,t+8}a.prototype.writeBigUInt64LE=N(function(e,t=0){return ct(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});a.prototype.writeBigUInt64BE=N(function(e,t=0){return dt(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});a.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t=t>>>0,!n){let u=Math.pow(2,8*i-1);y(this,e,t,i,u-1,-u)}let o=0,s=1,l=0;for(this[t]=e&255;++o<i&&(s*=256);)e<0&&l===0&&this[t+o-1]!==0&&(l=1),this[t+o]=(e/s>>0)-l&255;return t+i};a.prototype.writeIntBE=function(e,t,i,n){if(e=+e,t=t>>>0,!n){let u=Math.pow(2,8*i-1);y(this,e,t,i,u-1,-u)}let o=i-1,s=1,l=0;for(this[t+o]=e&255;--o>=0&&(s*=256);)e<0&&l===0&&this[t+o+1]!==0&&(l=1),this[t+o]=(e/s>>0)-l&255;return t+i};a.prototype.writeInt8=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};a.prototype.writeInt16LE=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};a.prototype.writeInt16BE=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};a.prototype.writeInt32LE=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};a.prototype.writeInt32BE=function(e,t,i){return e=+e,t=t>>>0,i||y(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};a.prototype.writeBigInt64LE=N(function(e,t=0){return ct(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});a.prototype.writeBigInt64BE=N(function(e,t=0){return dt(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ht(r,e,t,i,n,o){if(t+i>r.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function pt(r,e,t,i,n){return e=+e,t=t>>>0,n||ht(r,e,t,4,34028234663852886e22,-34028234663852886e22),G.write(r,e,t,i,23,4),t+4}a.prototype.writeFloatLE=function(e,t,i){return pt(this,e,t,!0,i)};a.prototype.writeFloatBE=function(e,t,i){return pt(this,e,t,!1,i)};function ft(r,e,t,i,n){return e=+e,t=t>>>0,n||ht(r,e,t,8,17976931348623157e292,-17976931348623157e292),G.write(r,e,t,i,52,8),t+8}a.prototype.writeDoubleLE=function(e,t,i){return ft(this,e,t,!0,i)};a.prototype.writeDoubleBE=function(e,t,i){return ft(this,e,t,!1,i)};a.prototype.copy=function(e,t,i,n){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(i||(i=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<i&&(n=i),n===i||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-i&&(n=e.length-t+i);let o=n-i;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(t,i,n):Uint8Array.prototype.set.call(e,this.subarray(i,n),t),o};a.prototype.fill=function(e,t,i,n){if(typeof e=="string"){if(typeof t=="string"?(n=t,t=0,i=this.length):typeof i=="string"&&(n=i,i=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!a.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(e.length===1){let s=e.charCodeAt(0);(n==="utf8"&&s<128||n==="latin1")&&(e=s)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length<t||this.length<i)throw new RangeError("Out of range index");if(i<=t)return this;t=t>>>0,i=i===void 0?this.length:i>>>0,e||(e=0);let o;if(typeof e=="number")for(o=t;o<i;++o)this[o]=e;else{let s=a.isBuffer(e)?e:a.from(e,n),l=s.length;if(l===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(o=0;o<i-t;++o)this[o+t]=s[o%l]}return this};var z={};function Le(r,e,t){z[r]=class extends t{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${r}]`,this.stack,delete this.name}get code(){return r}set code(n){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:n,writable:!0})}toString(){return`${this.name} [${r}]: ${this.message}`}}}Le("ERR_BUFFER_OUT_OF_BOUNDS",function(r){return r?`${r} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);Le("ERR_INVALID_ARG_TYPE",function(r,e){return`The "${r}" argument must be of type number. Received type ${typeof e}`},TypeError);Le("ERR_OUT_OF_RANGE",function(r,e,t){let i=`The value of "${r}" is out of range.`,n=t;return Number.isInteger(t)&&Math.abs(t)>2**32?n=nt(String(t)):typeof t=="bigint"&&(n=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(n=nt(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i},RangeError);function nt(r){let e="",t=r.length,i=r[0]==="-"?1:0;for(;t>=i+4;t-=3)e=`_${r.slice(t-3,t)}${e}`;return`${r.slice(0,t)}${e}`}function ir(r,e,t){Q(e,"offset"),(r[e]===void 0||r[e+t]===void 0)&&oe(e,r.length-(t+1))}function wt(r,e,t,i,n,o){if(r>t||r<e){let s=typeof e=="bigint"?"n":"",l;throw o>3?e===0||e===BigInt(0)?l=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:l=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:l=`>= ${e}${s} and <= ${t}${s}`,new z.ERR_OUT_OF_RANGE("value",l,r)}ir(i,n,o)}function Q(r,e){if(typeof r!="number")throw new z.ERR_INVALID_ARG_TYPE(e,"number",r)}function oe(r,e,t){throw Math.floor(r)!==r?(Q(r,t),new z.ERR_OUT_OF_RANGE(t||"offset","an integer",r)):e<0?new z.ERR_BUFFER_OUT_OF_BOUNDS:new z.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${e}`,r)}var nr=/[^+/0-9A-Za-z-_]/g;function or(r){if(r=r.split("=")[0],r=r.trim().replace(nr,""),r.length<2)return"";for(;r.length%4!==0;)r=r+"=";return r}function _e(r,e){e=e||1/0;let t,i=r.length,n=null,o=[];for(let s=0;s<i;++s){if(t=r.charCodeAt(s),t>55295&&t<57344){if(!n){if(t>56319){(e-=3)>-1&&o.push(239,191,189);continue}else if(s+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=t;continue}if(t<56320){(e-=3)>-1&&o.push(239,191,189),n=t;continue}t=(n-55296<<10|t-56320)+65536}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,t<128){if((e-=1)<0)break;o.push(t)}else if(t<2048){if((e-=2)<0)break;o.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;o.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;o.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return o}function sr(r){let e=[];for(let t=0;t<r.length;++t)e.push(r.charCodeAt(t)&255);return e}function ar(r,e){let t,i,n,o=[];for(let s=0;s<r.length&&!((e-=2)<0);++s)t=r.charCodeAt(s),i=t>>8,n=t%256,o.push(n),o.push(i);return o}function mt(r){return Se.toByteArray(or(r))}function ge(r,e,t,i){let n;for(n=0;n<i&&!(n+t>=e.length||n>=r.length);++n)e[n+t]=r[n];return n}function b(r,e){return r instanceof e||r!=null&&r.constructor!=null&&r.constructor.name!=null&&r.constructor.name===e.name}function He(r){return r!==r}var lr=function(){let r="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let i=t*16;for(let n=0;n<16;++n)e[i+n]=r[t]+r[n]}return e}();function N(r){return typeof BigInt>"u"?ur:r}function ur(){throw new Error("BigInt not supported")}});var zr={};Ue(zr,{ClientBuilder:()=>re,Process:()=>be,createAuthMiddlewareForAnonymousSessionFlow:()=>v,createAuthMiddlewareForClientCredentialsFlow:()=>X,createAuthMiddlewareForExistingTokenFlow:()=>Z,createAuthMiddlewareForPasswordFlow:()=>ee,createAuthMiddlewareForRefreshTokenFlow:()=>te,createClient:()=>D,createConcurrentModificationMiddleware:()=>ae,createCorrelationIdMiddleware:()=>le,createHttpMiddleware:()=>ue,createLoggerMiddleware:()=>ce,createQueueMiddleware:()=>de,createUserAgentMiddleware:()=>he});var We={};Ue(We,{createAuthMiddlewareForAnonymousSessionFlow:()=>v,createAuthMiddlewareForClientCredentialsFlow:()=>X,createAuthMiddlewareForExistingTokenFlow:()=>Z,createAuthMiddlewareForPasswordFlow:()=>ee,createAuthMiddlewareForRefreshTokenFlow:()=>te,createConcurrentModificationMiddleware:()=>ae,createCorrelationIdMiddleware:()=>le,createErrorMiddleware:()=>Ye,createHttpMiddleware:()=>ue,createLoggerMiddleware:()=>ce,createQueueMiddleware:()=>de,createUserAgentMiddleware:()=>he});var cr=yt().Buffer;function V(r){return r&&(typeof r=="string"||r instanceof Uint8Array)?cr.byteLength(r).toString():r&&typeof r=="object"?new TextEncoder().encode(JSON.stringify(r)).length.toString():"0"}var B={};Ue(B,{CONCURRENCT_REQUEST:()=>hr,CTP_API_URL:()=>pr,CTP_AUTH_URL:()=>fr,DEFAULT_HEADERS:()=>De,HEADERS_CONTENT_TYPES:()=>dr});var dr=["application/json","application/graphql"],hr=20,pr="https://api.europe-west1.gcp.commercetools.com",fr="https://auth.europe-west1.gcp.commercetools.com",De=["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 O(r,e,t={}){this.status=this.statusCode=this.code=r,this.message=e,Object.assign(this,t),this.name=this.constructor.name,this.constructor.prototype.__proto__=Error.prototype,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}function gt(...r){O.call(this,0,...r)}function xt(...r){O.call(this,...r)}function wr(...r){O.call(this,400,...r)}function mr(...r){O.call(this,401,...r)}function yr(...r){O.call(this,403,...r)}function gr(...r){O.call(this,404,...r)}function xr(...r){O.call(this,409,...r)}function Mr(...r){O.call(this,500,...r)}function Cr(...r){O.call(this,503,...r)}function $e(r){switch(r){case 0:return gt;case 400:return wr;case 401:return mr;case 403:return yr;case 404:return gr;case 409:return xr;case 500:return Mr;case 503:return Cr;default:return}}function Er({statusCode:r,message:e,...t}){let i=e||"Unexpected non-JSON error response";r===404&&(i=`URI not found: ${t.originalRequest?.uri||t.uri}`);let n=$e(r);return n?new n(i,t):new xt(r,i,t)}var Y=Er;function Ar(r,e){return[503,...r].includes(e?.status||e?.statusCode)}async function Rr(r,e){async function t(){return await r({...e,headers:{...e.headers}})}return t().catch(i=>Promise.reject(i))}async function W(r){let{url:e,httpClient:t,...i}=r;return await Rr(async o=>{let{enableRetry:s,retryConfig:l,timeout:u,getAbortController:d}=i,{retryCodes:c=[],maxDelay:h=1/0,maxRetries:w=3,backoff:p=!0,retryDelay:f=200,retryOnAbort:S=!0}=l||{},x,M,C=0,$;Ke(c);async function P(){return t(e,{...o,...i,headers:{...i.headers,"Accept-Encoding":"application/json"},...i.body?{data:i.body}:{},withCredentials:o.credentialsMode==="include"})}function pe(){let A=(d?d():null)||new AbortController;return i.abortController=A,i.signal=A.signal,A}async function K(){let A=async(we,Tt)=>{let ne={};if(u){let j=pe();$=setTimeout(()=>{j.abort(),j=pe()},u)}try{if(ne=await P(),ne.status>399&&Ar(we,ne))return{_response:ne,shouldRetry:!0}}catch(j){if((j.name.includes("AbortError")||j.name.includes("TimeoutError"))&&Tt)return{_response:j,shouldRetry:!0};throw j}finally{clearTimeout($)}return{_response:ne,shouldRetry:!1}},{_response:ie,shouldRetry:fe}=await A(c,S);for(;s&&fe&&C<w;){C++,await Me(xe({retryCount:C,retryDelay:f,maxRetries:w,backoff:p,maxDelay:h}));let we=await A(c,S);ie=we._response,fe=we.shouldRetry}return ie}let E=await K();try{E.text&&typeof E.text=="function"?(x=await E.text()||E[Object.getOwnPropertySymbols(E)[1]],M=JSON.parse(x)):M=E.data||E}catch(A){throw A}return{data:M,retryCount:C,statusCode:E.status||E.statusCode||M.statusCode,headers:E.headers}},{validateStatus:o=>!0})}function Ce(){return("1000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(parseInt(r)^Math.floor(Math.random()*256)&15>>parseInt(r)/4).toString(16))}function Br(r){return De.reduce((e,t)=>{let i=r[t]?r[t]:typeof r.get=="function"?r.get(t):null;return i&&(e[t]=i),e},{})}function I(r){if(!r)return null;if(r.raw&&typeof r.raw=="function")return r.raw();if(!r.forEach)return Br(r);let e={};return r.forEach((t,i)=>e[i]=t),e}function se(r){return r!=null&&r.constructor!=null&&typeof r.constructor.isBuffer=="function"&&r.constructor.isBuffer(r)}function H(r){let e=JSON.parse(JSON.stringify(r));return e?.headers&&(e.headers.Authorization&&(e.headers.Authorization="Bearer ********"),e.headers.authorization&&(e.headers.authorization="Bearer ********")),e}function g(r,e){return{...e,headers:{...e.headers,Authorization:`Bearer ${r}`}}}var ze=["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 xe({retryCount:r,retryDelay:e,backoff:t,maxDelay:i}){return t&&r!==0?Math.min(Math.round((Math.random()+1)*e*2**r),i):e}Math.min(Math.round((Math.random()+1)*200*2**10),1/0);function Me(r){return new Promise(e=>{setTimeout(e,r)})}function F(r){if(!r?.credentials?.clientId||!r.projectKey||!r.host)throw new Error("Missing required options.");return{clientId:r.credentials.clientId,host:r.host,projectKey:r.projectKey}}function Ee(r){return Date.now()+r*1e3-5*60*1e3}function U(r){let e=r;return{get:t=>e,set:(t,i)=>{e=t}}}function Mt(r){return typeof r<"u"&&r!==null}function Tr(r){return Mt(r)?typeof r=="string"?r:Object.fromEntries(Object.entries(r).filter(([e,t])=>![null,void 0,""].includes(t))):""}function br(r){let e={},t=new URLSearchParams(r);for(let i of t.keys())t.getAll(i).length>1?e[i]=t.getAll(i):e[i]=t.get(i);return e}function Ir(r){if(r=Tr(r),!r)return"";let e=new URLSearchParams(r);for(let[t,i]of Object.entries(r))Array.isArray(i)&&(e.delete(t),i.filter(Mt).forEach(n=>e.append(t,n)));return e.toString()}function Ge(r,e=br){return e(r)}function Ae(r,e=Ir){return e(r)}var Fr=()=>typeof window<"u"&&window.document&&window.document.nodeType===9;function Ur(){if(Fr())return window.navigator.userAgent;let r=process?.version.slice(1)||"unknow",e=`(${process.platform}; ${process.arch})`;return`node.js/${r} ${e}`}function Re(r){let e=null,t=null;if(!r)throw new Error("Missing required option `name`");let i=r.version?`${r.name}/${r.version}`:r.name;r.libraryName&&!r.libraryVersion?e=r.libraryName:r.libraryName&&r.libraryVersion&&(e=`${r.libraryName}/${r.libraryVersion}`),r.contactUrl&&!r.contactEmail?t=`(+${r.contactUrl})`:!r.contactUrl&&r.contactEmail?t=`(+${r.contactEmail})`:r.contactUrl&&r.contactEmail&&(t=`(+${r.contactUrl}; +${r.contactEmail})`);let n=Ur(),o=r.customAgent||"";return[i,n,e,t,o].filter(Boolean).join(" ")}function Qe(r){if(!r.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(!r.httpClient&&typeof r.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.");if(r.httpClientOptions&&Object.prototype.toString.call(r.httpClientOptions)!=="[object Object]")throw new Error("`httpClientOptions` must be an object type")}function Ke(r){if(!Array.isArray(r))throw new Error("`retryCodes` option must be an array of retry status (error) codes and/or messages.")}function Je(r){if(!r)throw new Error("Missing required options");if(r.middlewares&&!Array.isArray(r.middlewares))throw new Error("Middlewares should be an array");if(!r.middlewares||!Array.isArray(r.middlewares)||!r.middlewares.length)throw new Error("You need to provide at least one middleware")}function Be(r,e,t={allowedMethods:ze}){if(!e)throw new Error(`The "${r}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(typeof e.uri!="string")throw new Error(`The "${r}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(!t.allowedMethods.includes(e.method))throw new Error(`The "${r}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`)}function Ve(r){if(!r)throw new Error("Missing required options");if(!r.host)throw new Error("Missing required option (host)");if(!r.projectKey)throw new Error("Missing required option (projectKey)");if(!r.credentials)throw new Error("Missing required option (credentials)");let{clientId:e,clientSecret:t}=r.credentials||{};if(!(e&&t))throw new Error("Missing required credentials (clientId, clientSecret)");let i=r.scopes?r.scopes.join(" "):void 0,n=btoa(`${e}:${t}`),o=r.oauthUri||"/oauth/token",s=r.host.replace(/\/$/,"")+o,l=`grant_type=client_credentials${i?`&scope=${i}`:""}`;return{url:s,body:l,basicAuth:n}}function Ct(r){if(!r)throw new Error("Missing required options");if(!r.projectKey)throw new Error("Missing required option (projectKey)");let e=r.projectKey;r.oauthUri=r.oauthUri||`/oauth/${e}/anonymous/token`;let t=Ve(r);return r.credentials.anonymousId&&(t.body+=`&anonymous_id=${r.credentials.anonymousId}`),{...t}}function Te(r){if(!r)throw new Error("Missing required options");if(!r.host)throw new Error("Missing required option (host)");if(!r.projectKey)throw new Error("Missing required option (projectKey)");if(!r.credentials)throw new Error("Missing required option (credentials)");if(!r.refreshToken)throw new Error("Missing required option (refreshToken)");let{clientId:e,clientSecret:t}=r.credentials;if(!(e&&t))throw new Error("Missing required credentials (clientId, clientSecret)");let i=btoa(`${e}:${t}`),n=r.oauthUri||"/oauth/token",o=r.host.replace(/\/$/,"")+n,s=`grant_type=refresh_token&refresh_token=${encodeURIComponent(r.refreshToken)}`;return{basicAuth:i,url:o,body:s}}function Et(r){if(!r)throw new Error("Missing required options");if(!r.host)throw new Error("Missing required option (host)");if(!r.projectKey)throw new Error("Missing required option (projectKey)");if(!r.credentials)throw new Error("Missing required option (credentials)");let{clientId:e,clientSecret:t,user:i}=r.credentials,n=r.projectKey;if(!(e&&t&&i))throw new Error("Missing required credentials (clientId, clientSecret, user)");let{username:o,password:s}=i;if(!(o&&s))throw new Error("Missing required user credentials (username, password)");let l=(r.scopes||[]).join(" "),u=l?`&scope=${l}`:"",d=btoa(`${e}:${t}`),c=r.oauthUri||`/oauth/${n}/customers/token`,h=r.host.replace(/\/$/,"")+c,w=`grant_type=password&username=${encodeURIComponent(o)}&password=${encodeURIComponent(s)}${u}`;return{basicAuth:d,url:h,body:w}}async function _(r){let{httpClient:e,httpClientOptions:t,tokenCache:i,userOption:n,tokenCacheObject:o}=r,s=r.url,l=r.body,u=r.basicAuth;if(!e||typeof e!="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(o&&o.refreshToken&&(!o.token||o.token&&Date.now()>o.expirationTime)){if(!n)throw new Error("Missing required options.");let c={...Te({...n,refreshToken:o.refreshToken})};s=c.url,l=c.body,u=c.basicAuth}let d;try{if(d=await W({url:s,method:"POST",headers:{Authorization:`Basic ${u}`,"Content-Type":"application/x-www-form-urlencoded","Content-Length":V(l)},httpClient:e,httpClientOptions:t,body:l}),d.statusCode>=200&&d.statusCode<300){let{access_token:c,expires_in:h,refresh_token:w}=d?.data,p=Ee(h);return i.set({token:c,expirationTime:p,refreshToken:w}),Promise.resolve(!0)}throw Y({code:d.data.error,statusCode:d.data.statusCode,message:d.data.message,error:d.data.errors})}catch(c){throw c}}function v(r){let e=r.tokenCache||U({token:"",expirationTime:-1}),t,i=null,n=F(r);return o=>async s=>{if(s.headers&&(s.headers.Authorization||s.headers.authorization))return o(s);if(t=e.get(n),t&&t.token&&Date.now()<t.expirationTime)return o(g(t.token,s));let l={request:s,tokenCache:e,tokenCacheKey:n,httpClient:r.httpClient||fetch,httpClientOptions:r.httpClientOptions,...Ct(r),userOption:r,next:o};return i?await i:(i=_(l),await i,i=null),t=e.get(n),o(g(t.token,s))}}function X(r){let e=r.tokenCache||U({token:"",expirationTime:-1}),t,i=null,n=F(r);return o=>async s=>{if(s.headers&&(s.headers.Authorization||s.headers.authorization))return o(s);if(t=e.get(n),t&&t.token&&Date.now()<t.expirationTime)return o(g(t.token,s));let l={request:s,tokenCache:e,tokenCacheKey:n,tokenCacheObject:t,httpClient:r.httpClient||fetch,httpClientOptions:r.httpClientOptions,...Ve(r),next:o};return i?await i:(i=_(l),await i,i=null),t=e.get(n),o(g(t.token,s))}}function Z(r,e){return t=>async i=>{if(typeof r!="string")throw new Error("authorization must be a string");let n=e?.force===void 0?!0:e.force;if(!r||i.headers&&(i.headers.Authorization||i.headers.authorization)&&n===!1)return t(i);let o={...i,headers:{...i.headers,Authorization:r}};return t(o)}}function ee(r){let e=r.tokenCache||U({token:"",expirationTime:-1}),t,i=null,n=F(r);return o=>async s=>{if(s.headers&&(s.headers.Authorization||s.headers.authorization))return o(s);if(t=e.get(n),t&&t.token&&Date.now()<t.expirationTime)return o(g(t.token,s));let l={request:s,tokenCache:e,tokenCacheKey:n,httpClient:r.httpClient||fetch,httpClientOptions:r.httpClientOptions,...Et(r),userOption:r,next:o};return i?await i:(i=_(l),await i,i=null),t=e.get(n),o(g(t.token,s))}}function te(r){let e=r.tokenCache||U({token:"",tokenCacheKey:null}),t,i=null,n=F(r);return o=>async s=>{if(s.headers&&(s.headers.Authorization||s.headers.authorization))return o(s);if(t=e.get(n),t&&t.token&&Date.now()<t.expirationTime)return o(g(t.token,s));let l={request:s,tokenCache:e,httpClient:r.httpClient||fetch,httpClientOptions:r.httpClientOptions,...Te(r),next:o};return i?await i:(i=_(l),await i,i=null),t=e.get(n),o(g(t.token,s))}}function ae(r){return e=>async t=>{let i=await e(t);if(i.statusCode==409){let n=i.error.body?.errors?.[0]?.currentVersion;if(n)return r&&typeof r=="function"?t.body=await r(n,t,i):t.body=typeof t.body=="string"?{...JSON.parse(t.body),version:n}:{...t.body,version:n},e(t)}return i}}function le(r){return e=>t=>{let i={...t,headers:{...t.headers,"X-Correlation-ID":r.generate&&typeof r.generate=="function"?r.generate():Ce()}};return e(i)}}function Ye(r){return e=>async t=>{let i=await e(t);if(i.error){let{error:n}=i;return{...i,statusCode:n.statusCode||0,headers:n.headers||I({}),error:{...n,body:n.data||n}}}return i}}async function kr({url:r,httpClient:e,clientOptions:t}){let{request:i,maskSensitiveHeaderData:n,includeRequestInErrorResponse:o,includeResponseHeaders:s}=t;try{let l=await W({url:r,...t,httpClient:e,method:t.method,...t.body?{body:t.body}:{}});if(s||(l.headers=null),l.statusCode>=200&&l.statusCode<300)return t.method=="HEAD"?{body:null,statusCode:l.statusCode,retryCount:l.retryCount,headers:I(l.headers)}:{body:l.data,statusCode:l.statusCode,retryCount:l.retryCount,headers:I(l.headers)};let u=Y({message:l?.data?.message||l?.message,statusCode:l.statusCode||l?.data?.statusCode,headers:I(l.headers),method:t.method,body:l.data,retryCount:l.retryCount,...o?{originalRequest:n?H(i):i}:{uri:i.uri}});return{body:l.data,code:l.statusCode,statusCode:l.statusCode,headers:I(l.headers),error:u}}catch(l){let u=s?I(l.response?.headers):null,d=l.response?.status||l.response?.data0||0,c=l.response?.data?.message;throw{body:null,error:Y({statusCode:d,code:d,status:d,message:c||l.message,headers:u,body:l.response?.data||l,error:l.response?.data,...o?{originalRequest:n?H(i):i}:{uri:i.uri}})}}}function ue(r){Qe(r);let{host:e,credentialsMode:t,httpClient:i,timeout:n,enableRetry:o,retryConfig:s,getAbortController:l,includeOriginalRequest:u,includeRequestInErrorResponse:d=!0,includeResponseHeaders:c=!0,maskSensitiveHeaderData:h,httpClientOptions:w}=r;return p=>async f=>{let S=e.replace(/\/$/,"")+f.uri,x={...f.headers};Object.prototype.hasOwnProperty.call(x,"Content-Type")||Object.prototype.hasOwnProperty.call(x,"content-type")||(x["Content-Type"]="application/json"),x["Content-Type"]===null&&delete x["Content-Type"];let M=B.HEADERS_CONTENT_TYPES.indexOf(x["Content-Type"])>-1&&typeof f.body=="string"||se(f.body)?f.body:JSON.stringify(f.body||void 0);M&&(typeof M=="string"||se(M))&&(x["Content-Length"]=V(M));let C={enableRetry:o,retryConfig:s,request:f,method:f.method,headers:x,includeRequestInErrorResponse:d,maskSensitiveHeaderData:h,includeResponseHeaders:c,...w};t&&(C.credentialsMode=t),n&&(C.timeout=n,C.getAbortController=l),M&&(C.body=M);let $=await kr({url:S,clientOptions:C,httpClient:i}),P={...f,includeOriginalRequest:u,maskSensitiveHeaderData:h,response:$};return p(P)}}function ce(r){return e=>async t=>{let i=await e(t),n=Object.assign({},i),{loggerFn:o=console.log}=r||{};return o&&typeof o=="function"&&o(i),n}}function de({concurrency:r=20}){let e=0,t=[],i=()=>0>=r?Promise.resolve():new Promise(o=>{let s=()=>{e<r?(e++,o()):t.push(s)};s()}),n=()=>{if(e--,t.length>0){let o=t.shift();o&&o()}};return o=>s=>i().then(()=>{let l={...s,resolve(u){s.resolve(u),n()},reject(u){s.reject(u),n()}};return o(l).finally(()=>{n()})})}var At={name:"@commercetools/ts-client",version:"3.0.0",engines:{node:">=18"},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:{buffer:"^6.0.3"},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:"^14.0.0-beta.19","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 he(r){return e=>async t=>{let i=Re({...r,name:`${r.name?r.name+"/":""}commercetools-sdk-javascript-v3/${At.version}`}),n={...t,headers:{...t.headers,"User-Agent":i}};return e(n)}}function Sr({middlewares:r}){return r.length===1?r[0]:r.slice().reduce((t,i)=>(...n)=>t(i.apply(null,n)))}var Rt;function be(r,e,t){if(Be("process",r,{allowedMethods:["GET"]}),typeof e!="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 i={total:Number.POSITIVE_INFINITY,accumulate:!0,...t};return new Promise((n,o)=>{let s,l="";if(r&&r.uri){let[p,f]=r.uri.split("?");s=p,l=f}let d={limit:20,...{...Ge(l)}},c=i.total,h=!1,w=async(p,f=[])=>{let S=d.limit<c?d.limit:c,x=Ae({...d,limit:S}),M={sort:"id asc",withTotal:!1,...p?{where:`id > "${p}"`}:{}},C=Ae(M),$={...r,uri:`${s}?${C}&${x}`};try{let P=await D(Rt).execute($),{results:pe,count:K}=P?.body||{};if(!K&&h)return n(f||[]);let E=await Promise.resolve(e(P)),A;if(h=!0,i.accumulate&&(A=f.concat(E||[])),c-=K,K<d.limit||!c)return n(A||[]);let ie=pe[K-1],fe=ie&&ie.id;w(fe,A)}catch(P){o(P)}};w()})}function D(r){Rt=r,Je(r);let e=!1,t={async resolve(n){let{response:o,includeOriginalRequest:s,maskSensitiveHeaderData:l,...u}=n,{retryCount:d,...c}=o;return e=l,{body:null,error:null,reject:n.reject,resolve:n.resolve,...c,...s?{originalRequest:u}:{},...o?.retryCount?{retryCount:o.retryCount}:{}}}},i=Sr(r)(t.resolve);return{process:be,execute(n){return Be("exec",n),new Promise(async(o,s)=>{try{let l=await i({reject:s,resolve:o,...n});if(l.error)return s(l.error);l.originalRequest&&e&&(l.originalRequest=H(l.originalRequest)),o(l)}catch(l){s(l)}})}}}var{createAuthMiddlewareForPasswordFlow:Pr,createAuthMiddlewareForAnonymousSessionFlow:Nr,createAuthMiddlewareForClientCredentialsFlow:_r,createAuthMiddlewareForRefreshTokenFlow:jr,createAuthMiddlewareForExistingTokenFlow:qr,createCorrelationIdMiddleware:Lr,createHttpMiddleware:Hr,createLoggerMiddleware:Dr,createQueueMiddleware:$r,createUserAgentMiddleware:Bt,createConcurrentModificationMiddleware:Kr}=We,re=class{projectKey;authMiddleware;httpMiddleware;userAgentMiddleware;correlationIdMiddleware;loggerMiddleware;queueMiddleware;concurrentMiddleware;telemetryMiddleware;beforeMiddleware;afterMiddleware;middlewares=[];constructor(){this.userAgentMiddleware=Bt({})}withProjectKey(e){return this.projectKey=e,this}defaultClient(e,t,i,n,o,s){return this.withClientCredentialsFlow({host:i,projectKey:n||this.projectKey,credentials:t,httpClient:s||fetch,scopes:o}).withHttpMiddleware({host:e,httpClient:s||fetch})}withAuthMiddleware(e){return this.authMiddleware=e,this}withMiddleware(e){return this.middlewares.push(e),this}withClientCredentialsFlow(e){return this.withAuthMiddleware(_r({host:e.host||B.CTP_AUTH_URL,projectKey:e.projectKey||this.projectKey,credentials:{clientId:e.credentials.clientId||null,clientSecret:e.credentials.clientSecret||null},oauthUri:e.oauthUri||null,scopes:e.scopes,httpClient:e.httpClient||fetch,...e}))}withPasswordFlow(e){return this.withAuthMiddleware(Pr({host:e.host||B.CTP_AUTH_URL,projectKey:e.projectKey||this.projectKey,credentials:{clientId:e.credentials.clientId||null,clientSecret:e.credentials.clientSecret||null,user:{username:e.credentials.user.username||null,password:e.credentials.user.password||null}},httpClient:e.httpClient||fetch,...e}))}withAnonymousSessionFlow(e){return this.withAuthMiddleware(Nr({host:e.host||B.CTP_AUTH_URL,projectKey:this.projectKey||e.projectKey,credentials:{clientId:e.credentials.clientId||null,clientSecret:e.credentials.clientSecret||null,anonymousId:e.credentials.anonymousId||null},httpClient:e.httpClient||fetch,...e}))}withRefreshTokenFlow(e){return this.withAuthMiddleware(jr({host:e.host||B.CTP_AUTH_URL,projectKey:this.projectKey||e.projectKey,credentials:{clientId:e.credentials.clientId||null,clientSecret:e.credentials.clientSecret||null},httpClient:e.httpClient||fetch,refreshToken:e.refreshToken||null,...e}))}withExistingTokenFlow(e,t){return this.withAuthMiddleware(qr(e,{force:t.force||!0,...t}))}withHttpMiddleware(e){return this.httpMiddleware=Hr({host:e.host||B.CTP_API_URL,httpClient:e.httpClient||fetch,...e}),this}withUserAgentMiddleware(e){return this.userAgentMiddleware=Bt(e),this}withQueueMiddleware(e){return this.queueMiddleware=$r({concurrency:e.concurrency||B.CONCURRENCT_REQUEST,...e}),this}withLoggerMiddleware(e){return this.loggerMiddleware=Dr(e),this}withCorrelationIdMiddleware(e){return this.correlationIdMiddleware=Lr({generate:e?.generate,...e}),this}withConcurrentModificationMiddleware(e){return this.concurrentMiddleware=Kr(e?.concurrentModificationHandlerFn),this}withTelemetryMiddleware(e){let{createTelemetryMiddleware:t,...i}=e;return this.withUserAgentMiddleware({customAgent:i?.userAgent||"typescript-sdk-apm-middleware"}),this.telemetryMiddleware=t(i),this}withBeforeExecutionMiddleware(e){let{middleware:t,...i}=e||{};return this.beforeMiddleware=e.middleware(i),this}withAfterExecutionMiddleware(e){let{middleware:t,...i}=e||{};return this.afterMiddleware=e.middleware(i),this}build(){let e=this.middlewares.slice();return this.telemetryMiddleware&&e.push(this.telemetryMiddleware),this.correlationIdMiddleware&&e.push(this.correlationIdMiddleware),this.userAgentMiddleware&&e.push(this.userAgentMiddleware),this.authMiddleware&&e.push(this.authMiddleware),this.beforeMiddleware&&e.push(this.beforeMiddleware),this.queueMiddleware&&e.push(this.queueMiddleware),this.loggerMiddleware&&e.push(this.loggerMiddleware),this.concurrentMiddleware&&e.push(this.concurrentMiddleware),this.httpMiddleware&&e.push(this.httpMiddleware),this.afterMiddleware&&e.push(this.afterMiddleware),D({middlewares:e})}};return kt(zr);})();
|
|
2
|
-
/*! Bundled license information:
|
|
3
|
-
|
|
4
|
-
ieee754/index.js:
|
|
5
|
-
(*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
6
|
-
|
|
7
|
-
buffer/index.js:
|
|
8
|
-
(*!
|
|
9
|
-
* The buffer module from node.js, for the browser.
|
|
10
|
-
*
|
|
11
|
-
* @author Feross Aboukhadijeh <https://feross.org>
|
|
12
|
-
* @license MIT
|
|
13
|
-
*)
|
|
14
|
-
*/
|
|
1
|
+
var window;(window||={})["@commercetools/ts-client"]=(()=>{var ue=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ie=Object.getOwnPropertyNames;var je=Object.prototype.hasOwnProperty;var ce=(e,t)=>{for(var r in t)ue(e,r,{get:t[r],enumerable:!0})},Ne=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ie(t))!je.call(e,i)&&i!==r&&ue(e,i,{get:()=>t[i],enumerable:!(o=Fe(t,i))||o.enumerable});return e};var Ue=e=>Ne(ue({},"__esModule",{value:!0}),e);var ft={};ce(ft,{ClientBuilder:()=>L,Process:()=>de,createAuthMiddlewareForAnonymousSessionFlow:()=>H,createAuthMiddlewareForClientCredentialsFlow:()=>v,createAuthMiddlewareForExistingTokenFlow:()=>_,createAuthMiddlewareForPasswordFlow:()=>K,createAuthMiddlewareForRefreshTokenFlow:()=>B,createClient:()=>S,createConcurrentModificationMiddleware:()=>Q,createCorrelationIdMiddleware:()=>J,createHttpMiddleware:()=>V,createLoggerMiddleware:()=>G,createQueueMiddleware:()=>Y,createUserAgentMiddleware:()=>W});var Re={};ce(Re,{createAuthMiddlewareForAnonymousSessionFlow:()=>H,createAuthMiddlewareForClientCredentialsFlow:()=>v,createAuthMiddlewareForExistingTokenFlow:()=>_,createAuthMiddlewareForPasswordFlow:()=>K,createAuthMiddlewareForRefreshTokenFlow:()=>B,createConcurrentModificationMiddleware:()=>Q,createCorrelationIdMiddleware:()=>J,createErrorMiddleware:()=>Ce,createHttpMiddleware:()=>V,createLoggerMiddleware:()=>G,createQueueMiddleware:()=>Y,createUserAgentMiddleware:()=>W});function N(e){return e&&typeof e=="string"?e.normalize("NFD").length.toString():e&&e instanceof Uint8Array?new TextDecoder().decode(e).length.toString():e&&typeof e=="object"?new TextEncoder().encode(JSON.stringify(e)).length.toString():"0"}var C={};ce(C,{CONCURRENCT_REQUEST:()=>He,CTP_API_URL:()=>ve,CTP_AUTH_URL:()=>_e,DEFAULT_HEADERS:()=>he,HEADERS_CONTENT_TYPES:()=>qe});var qe=["application/json","application/graphql"],He=20,ve="https://api.europe-west1.gcp.commercetools.com",_e="https://auth.europe-west1.gcp.commercetools.com",he=["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 x(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 Ae(...e){x.call(this,0,...e)}function be(...e){x.call(this,...e)}function Ke(...e){x.call(this,400,...e)}function Be(...e){x.call(this,401,...e)}function Le(...e){x.call(this,403,...e)}function De(...e){x.call(this,404,...e)}function $e(...e){x.call(this,409,...e)}function ze(...e){x.call(this,500,...e)}function Qe(...e){x.call(this,503,...e)}function pe(e){switch(e){case 0:return Ae;case 400:return Ke;case 401:return Be;case 403:return Le;case 404:return De;case 409:return $e;case 500:return ze;case 503:return Qe;default:return}}function Je({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=pe(e);return i?new i(o,r):new be(e,o,r)}var U=Je;function Ve(e,t){return[503,...e].includes(t?.status||t?.statusCode)}async function Ge(e,t){async function r(){return await e({...t,headers:{...t.headers}})}return r().catch(o=>Promise.reject(o))}async function q(e){let{url:t,httpClient:r,...o}=e;return await Ge(async n=>{let{enableRetry:a,retryConfig:s,timeout:u,getAbortController:l}=o,{retryCodes:d=[],maxDelay:p=1/0,maxRetries:g=3,backoff:R=!0,retryDelay:c=200,retryOnAbort:F=!0}=s||{},w,f,m=0,I;we(d);async function O(){return r(t,{...n,...o,headers:{...o.headers,"Accept-Encoding":"application/json"},...o.body?{data:o.body}:{},withCredentials:n.credentialsMode==="include"})}function X(){let M=(l?l():null)||new AbortController;return o.abortController=M,o.signal=M.signal,M}async function j(){let M=async(ee,Se)=>{let $={};if(u){let E=X();I=setTimeout(()=>{E.abort(),E=X()},u)}try{if($=await O(),$.status>399&&Ve(ee,$))return{_response:$,shouldRetry:!0}}catch(E){if((E.name.includes("AbortError")||E.name.includes("TimeoutError"))&&Se)return{_response:E,shouldRetry:!0};throw E}finally{clearTimeout(I)}return{_response:$,shouldRetry:!1}},{_response:D,shouldRetry:Z}=await M(d,F);for(;a&&Z&&m<g;){m++,await re(te({retryCount:m,retryDelay:c,maxRetries:g,backoff:R,maxDelay:p}));let ee=await M(d,F);D=ee._response,Z=ee.shouldRetry}return D}let y=await j();try{y.text&&typeof y.text=="function"?(w=await y.text()||JSON.stringify(y[Object.getOwnPropertySymbols(y)[1]]),f=JSON.parse(w)):f=y.data||y}catch(M){throw M}return{data:f,retryCount:m,statusCode:y.status||y.statusCode||f.statusCode,headers:y.headers}},{validateStatus:n=>!0})}function oe(){return("1000000-1000-4000-8000"+-1e11).replace(/[018]/g,e=>(parseInt(e)^Math.floor(Math.random()*256)&15>>parseInt(e)/4).toString(16))}function Ye(e){return he.reduce((t,r)=>{let o=e[r]?e[r]:typeof e.get=="function"?e.get(r):null;return o&&(t[r]=o),t},{})}function A(e){if(!e)return null;if(e.raw&&typeof e.raw=="function")return e.raw();if(!e.forEach)return Ye(e);let t={};return e.forEach((r,o)=>t[o]=r),t}function z(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function P(e){let t=JSON.parse(JSON.stringify(e));return t?.headers&&(t.headers.Authorization&&(t.headers.Authorization="Bearer ********"),t.headers.authorization&&(t.headers.authorization="Bearer ********")),t}function h(e,t){return{...t,headers:{...t.headers,Authorization:`Bearer ${e}`}}}var fe=["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 te({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 re(e){return new Promise(t=>{setTimeout(t,e)})}function b(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 ie(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 Te(e){return typeof e<"u"&&e!==null}function We(e){return Te(e)?typeof e=="string"?e:Object.fromEntries(Object.entries(e).filter(([t,r])=>![null,void 0,""].includes(r))):""}function Xe(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 Ze(e){if(e=We(e),!e)return"";let t=new URLSearchParams(e);for(let[r,o]of Object.entries(e))Array.isArray(o)&&(t.delete(r),o.filter(Te).forEach(i=>t.append(r,i)));return t.toString()}function me(e,t=Xe){return t(e)}function ne(e,t=Ze){return t(e)}var et=()=>typeof window<"u"&&window.document&&window.document.nodeType===9;function tt(){if(et())return window.navigator.userAgent;let e=process?.version.slice(1)||"unknow",t=`(${process.platform}; ${process.arch})`;return`node.js/${e} ${t}`}function ae(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=tt(),n=e.customAgent||"";return[o,i,t,r,n].filter(Boolean).join(" ")}function ye(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.");if(e.httpClientOptions&&Object.prototype.toString.call(e.httpClientOptions)!=="[object Object]")throw new Error("`httpClientOptions` must be an object type")}function we(e){if(!Array.isArray(e))throw new Error("`retryCodes` option must be an array of retry status (error) codes and/or messages.")}function Me(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 se(e,t,r={allowedMethods:fe}){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 ge(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,s=`grant_type=client_credentials${o?`&scope=${o}`:""}`;return{url:a,body:s,basicAuth:i}}function xe(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=ge(e);return e.credentials.anonymousId&&(r.body+=`&anonymous_id=${e.credentials.anonymousId}`),{...r}}function le(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 Oe(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 s=(e.scopes||[]).join(" "),u=s?`&scope=${s}`:"",l=btoa(`${t}:${r}`),d=e.oauthUri||`/oauth/${i}/customers/token`,p=e.host.replace(/\/$/,"")+d,g=`grant_type=password&username=${encodeURIComponent(n)}&password=${encodeURIComponent(a)}${u}`;return{basicAuth:l,url:p,body:g}}async function k(e){let{httpClient:t,httpClientOptions:r,tokenCache:o,userOption:i,tokenCacheObject:n}=e,a=e.url,s=e.body,u=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(n&&n.refreshToken&&(!n.token||n.token&&Date.now()>n.expirationTime)){if(!i)throw new Error("Missing required options.");let d={...le({...i,refreshToken:n.refreshToken})};a=d.url,s=d.body,u=d.basicAuth}let l;try{if(l=await q({url:a,method:"POST",headers:{Authorization:`Basic ${u}`,"Content-Type":"application/x-www-form-urlencoded","Content-Length":N(s)},httpClient:t,httpClientOptions:r,body:s}),l.statusCode>=200&&l.statusCode<300){let{access_token:d,expires_in:p,refresh_token:g}=l?.data,R=ie(p);return o.set({token:d,expirationTime:R,refreshToken:g}),Promise.resolve(!0)}throw U({code:l.data.error,statusCode:l.data.statusCode,message:l.data.message,error:l.data.errors})}catch(d){throw d}}function H(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=b(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(h(r.token,a));let s={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||fetch,httpClientOptions:e.httpClientOptions,...xe(e),userOption:e,next:n};return o?await o:(o=k(s),await o,o=null),r=t.get(i),n(h(r.token,a))}}function v(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=b(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(h(r.token,a));let s={request:a,tokenCache:t,tokenCacheKey:i,tokenCacheObject:r,httpClient:e.httpClient||fetch,httpClientOptions:e.httpClientOptions,...ge(e),next:n};return o?await o:(o=k(s),await o,o=null),r=t.get(i),n(h(r.token,a))}}function _(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)}}function K(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=b(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(h(r.token,a));let s={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||fetch,httpClientOptions:e.httpClientOptions,...Oe(e),userOption:e,next:n};return o?await o:(o=k(s),await o,o=null),r=t.get(i),n(h(r.token,a))}}function B(e){let t=e.tokenCache||T({token:"",tokenCacheKey:null}),r,o=null,i=b(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(h(r.token,a));let s={request:a,tokenCache:t,httpClient:e.httpClient||fetch,httpClientOptions:e.httpClientOptions,...le(e),next:n};return o?await o:(o=k(s),await o,o=null),r=t.get(i),n(h(r.token,a))}}function Q(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 J(e){return t=>r=>{let o={...r,headers:{...r.headers,"X-Correlation-ID":e.generate&&typeof e.generate=="function"?e.generate():oe()}};return t(o)}}function Ce(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||A({}),error:{...i,body:i.data||i}}}return o}}async function rt({url:e,httpClient:t,clientOptions:r}){let{request:o,maskSensitiveHeaderData:i,includeRequestInErrorResponse:n,includeResponseHeaders:a}=r;try{let s=await q({url:e,...r,httpClient:t,method:r.method,...r.body?{body:r.body}:{}});if(a||(s.headers=null),s.statusCode>=200&&s.statusCode<300)return r.method=="HEAD"?{body:null,statusCode:s.statusCode,retryCount:s.retryCount,headers:A(s.headers)}:{body:s.data,statusCode:s.statusCode,retryCount:s.retryCount,headers:A(s.headers)};let u=U({message:s?.data?.message||s?.message,statusCode:s.statusCode||s?.data?.statusCode,headers:A(s.headers),method:r.method,body:s.data,retryCount:s.retryCount,...n?{originalRequest:i?P(o):o}:{uri:o.uri}});return{body:s.data,code:s.statusCode,statusCode:s.statusCode,headers:A(s.headers),error:u}}catch(s){let u=a?A(s.response?.headers):null,l=s.response?.status||s.response?.data0||0,d=s.response?.data?.message;throw{body:null,error:U({statusCode:l,code:l,status:l,message:d||s.message,headers:u,body:s.response?.data||s,error:s.response?.data,...n?{originalRequest:i?P(o):o}:{uri:o.uri}})}}}function V(e){ye(e);let{host:t,credentialsMode:r,httpClient:o,timeout:i,enableRetry:n,retryConfig:a,getAbortController:s,includeOriginalRequest:u,includeRequestInErrorResponse:l=!0,includeResponseHeaders:d=!0,maskSensitiveHeaderData:p,httpClientOptions:g}=e;return R=>async c=>{let F=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 f=C.HEADERS_CONTENT_TYPES.indexOf(w["Content-Type"])>-1&&typeof c.body=="string"||z(c.body)?c.body:JSON.stringify(c.body||void 0);f&&(typeof f=="string"||z(f))&&(w["Content-Length"]=N(f));let m={enableRetry:n,retryConfig:a,request:c,method:c.method,headers:w,includeRequestInErrorResponse:l,maskSensitiveHeaderData:p,includeResponseHeaders:d,...g};r&&(m.credentialsMode=r),i&&(m.timeout=i,m.getAbortController=s),f&&(m.body=f);let I=await rt({url:F,clientOptions:m,httpClient:o}),O={...c,includeOriginalRequest:u,maskSensitiveHeaderData:p,response:I};return R(O)}}function G(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 Y({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 s={...a,resolve(u){a.resolve(u),i()},reject(u){a.reject(u),i()}};return n(s).finally(()=>{i()})})}var ke={name:"@commercetools/ts-client",version:"3.0.2",engines:{node:">=18"},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:{buffer:"^6.0.3"},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.7",jest:"29.7.0",nock:"^14.0.0-beta.19","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 W(e){return t=>async r=>{let o=ae({...e,name:`${e.name?e.name+"/":""}commercetools-sdk-javascript-v3/${ke.version}`}),i={...r,headers:{...r.headers,"User-Agent":o}};return t(i)}}function it({middlewares:e}){return e.length===1?e[0]:e.slice().reduce((r,o)=>(...i)=>r(o.apply(null,i)))}var Ee;function de(e,t,r){if(se("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,s="";if(e&&e.uri){let[R,c]=e.uri.split("?");a=R,s=c}let l={limit:20,...{...me(s)}},d=o.total,p=!1,g=async(R,c=[])=>{let F=l.limit<d?l.limit:d,w=ne({...l,limit:F}),f={sort:"id asc",withTotal:!1,...R?{where:`id > "${R}"`}:{}},m=ne(f),I={...e,uri:`${a}?${m}&${w}`};try{let O=await S(Ee).execute(I),{results:X,count:j}=O?.body||{};if(!j&&p)return i(c||[]);let y=await Promise.resolve(t(O)),M;if(p=!0,o.accumulate&&(M=c.concat(y||[])),d-=j,j<l.limit||!d)return i(M||[]);let D=X[j-1],Z=D&&D.id;g(Z,M)}catch(O){n(O)}};g()})}function S(e){Ee=e,Me(e);let t=!1,r={async resolve(i){let{response:n,includeOriginalRequest:a,maskSensitiveHeaderData:s,...u}=i,{retryCount:l,...d}=n;return t=s,{body:null,error:null,reject:i.reject,resolve:i.resolve,...d,...a?{originalRequest:u}:{},...n?.retryCount?{retryCount:n.retryCount}:{}}}},o=it(e)(r.resolve);return{process:de,execute(i){return se("exec",i),new Promise(async(n,a)=>{try{let s=await o({reject:a,resolve:n,...i});if(s.error)return a(s.error);s.originalRequest&&t&&(s.originalRequest=P(s.originalRequest)),n(s)}catch(s){a(s)}})}}}var{createAuthMiddlewareForPasswordFlow:nt,createAuthMiddlewareForAnonymousSessionFlow:at,createAuthMiddlewareForClientCredentialsFlow:st,createAuthMiddlewareForRefreshTokenFlow:lt,createAuthMiddlewareForExistingTokenFlow:dt,createCorrelationIdMiddleware:ut,createHttpMiddleware:ct,createLoggerMiddleware:ht,createQueueMiddleware:pt,createUserAgentMiddleware:Pe,createConcurrentModificationMiddleware:wt}=Re,L=class{projectKey;authMiddleware;httpMiddleware;userAgentMiddleware;correlationIdMiddleware;loggerMiddleware;queueMiddleware;concurrentMiddleware;telemetryMiddleware;beforeMiddleware;afterMiddleware;middlewares=[];constructor(){this.userAgentMiddleware=Pe({})}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,httpClient:a||fetch,scopes:n}).withHttpMiddleware({host:t,httpClient:a||fetch})}withAuthMiddleware(t){return this.authMiddleware=t,this}withMiddleware(t){return this.middlewares.push(t),this}withClientCredentialsFlow(t){return this.withAuthMiddleware(st({host:t.host||C.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||fetch,...t}))}withPasswordFlow(t){return this.withAuthMiddleware(nt({host:t.host||C.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||fetch,...t}))}withAnonymousSessionFlow(t){return this.withAuthMiddleware(at({host:t.host||C.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||fetch,...t}))}withRefreshTokenFlow(t){return this.withAuthMiddleware(lt({host:t.host||C.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},httpClient:t.httpClient||fetch,refreshToken:t.refreshToken||null,...t}))}withExistingTokenFlow(t,r){return this.withAuthMiddleware(dt(t,{force:r.force||!0,...r}))}withHttpMiddleware(t){return this.httpMiddleware=ct({host:t.host||C.CTP_API_URL,httpClient:t.httpClient||fetch,...t}),this}withUserAgentMiddleware(t){return this.userAgentMiddleware=Pe(t),this}withQueueMiddleware(t){return this.queueMiddleware=pt({concurrency:t.concurrency||C.CONCURRENCT_REQUEST,...t}),this}withLoggerMiddleware(t){return this.loggerMiddleware=ht(t),this}withCorrelationIdMiddleware(t){return this.correlationIdMiddleware=ut({generate:t?.generate,...t}),this}withConcurrentModificationMiddleware(t){return this.concurrentMiddleware=wt(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),S({middlewares:t})}};return Ue(ft);})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools/ts-client",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=18"
|
|
6
6
|
},
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"common-tags": "1.8.2",
|
|
48
|
-
"dotenv": "16.4.
|
|
48
|
+
"dotenv": "16.4.7",
|
|
49
49
|
"jest": "29.7.0",
|
|
50
50
|
"nock": "^14.0.0-beta.19",
|
|
51
51
|
"organize-imports-cli": "0.10.0"
|