New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@commercetools/ts-client

Package Overview
Dependencies
Maintainers
12
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@commercetools/ts-client - npm Package Compare versions

Comparing version 2.1.0-alpha.1 to 2.1.0

6

CHANGELOG.md
# @commercetools/ts-client
## 2.1.0
### Minor Changes
- [#814](https://github.com/commercetools/commercetools-sdk-typescript/pull/814) [`57a16d7`](https://github.com/commercetools/commercetools-sdk-typescript/commit/57a16d75ded60923bf080ef2270c3396fe8bc0e5) Thanks [@ajimae](https://github.com/ajimae)! - Restructure middleware logic
## 2.0.5

@@ -4,0 +10,0 @@

91

dist/commercetools-ts-client.browser.cjs.js

@@ -262,12 +262,5 @@ 'use strict';

// import { v4 as uuidv4 } from 'uuid'
// export default function generateID() {
// return uuidv4()
// }
function generateID() {
// @ts-ignore
const str = ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
}

@@ -755,7 +748,5 @@

// Now the token is present in the tokenCache
// Now the token is present in the tokenCache and can be accessed
tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -813,5 +804,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -892,5 +881,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -944,5 +931,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -966,3 +951,3 @@ };

if (version) {
if (modifierFunction) {
if (modifierFunction && typeof modifierFunction == 'function') {
request.body = await modifierFunction(version, request, response);

@@ -1221,4 +1206,4 @@ } else {

let runningCount = 0;
const queue = [];
const waitForSlot = () => {
// dont allow negative or 0 value for concurrency
if (0 >= concurrency) return Promise.resolve();

@@ -1231,33 +1216,38 @@ return new Promise(resolve => {

} else {
// Retry until a slot becomes available
setTimeout(tryNext, 10);
queue.push(tryNext);
}
};
// start
tryNext();
});
};
return next => {
return async request => {
return waitForSlot().then(async () => {
// Patch the request to override resolve and reject
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
runningCount--;
},
reject(error) {
request.reject(error);
runningCount--;
}
};
try {
return next(patchedRequest);
} finally {
runningCount--;
// Function to free up a slot after a request is completed
const freeSlot = () => {
runningCount--;
if (queue.length > 0) {
const nextInQueue = queue.shift();
if (nextInQueue) {
nextInQueue();
}
}
};
return next => request => {
return waitForSlot().then(() => {
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
freeSlot();
},
reject(error) {
request.reject(error);
freeSlot();
}
};
// Process the next middleware
return next(patchedRequest).finally(() => {
freeSlot();
});
};
});
};

@@ -1268,3 +1258,3 @@ }

name: "@commercetools/ts-client",
version: "2.1.0-alpha.1",
version: "2.1.0",
engines: {

@@ -1307,6 +1297,3 @@ node: ">=14"

"dist",
"CHANGELOG.md",
"LICENSE",
"README.md",
"package.json"
"CHANGELOG.md"
],

@@ -1313,0 +1300,0 @@ author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",

@@ -253,12 +253,5 @@ import fetch$1 from 'node-fetch';

// import { v4 as uuidv4 } from 'uuid'
// export default function generateID() {
// return uuidv4()
// }
function generateID() {
// @ts-ignore
const str = ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
}

@@ -746,7 +739,5 @@

// Now the token is present in the tokenCache
// Now the token is present in the tokenCache and can be accessed
tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -804,5 +795,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -883,5 +872,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -935,5 +922,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -957,3 +942,3 @@ };

if (version) {
if (modifierFunction) {
if (modifierFunction && typeof modifierFunction == 'function') {
request.body = await modifierFunction(version, request, response);

@@ -1212,4 +1197,4 @@ } else {

let runningCount = 0;
const queue = [];
const waitForSlot = () => {
// dont allow negative or 0 value for concurrency
if (0 >= concurrency) return Promise.resolve();

@@ -1222,33 +1207,38 @@ return new Promise(resolve => {

} else {
// Retry until a slot becomes available
setTimeout(tryNext, 10);
queue.push(tryNext);
}
};
// start
tryNext();
});
};
return next => {
return async request => {
return waitForSlot().then(async () => {
// Patch the request to override resolve and reject
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
runningCount--;
},
reject(error) {
request.reject(error);
runningCount--;
}
};
try {
return next(patchedRequest);
} finally {
runningCount--;
// Function to free up a slot after a request is completed
const freeSlot = () => {
runningCount--;
if (queue.length > 0) {
const nextInQueue = queue.shift();
if (nextInQueue) {
nextInQueue();
}
}
};
return next => request => {
return waitForSlot().then(() => {
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
freeSlot();
},
reject(error) {
request.reject(error);
freeSlot();
}
};
// Process the next middleware
return next(patchedRequest).finally(() => {
freeSlot();
});
};
});
};

@@ -1259,3 +1249,3 @@ }

name: "@commercetools/ts-client",
version: "2.1.0-alpha.1",
version: "2.1.0",
engines: {

@@ -1298,6 +1288,3 @@ node: ">=14"

"dist",
"CHANGELOG.md",
"LICENSE",
"README.md",
"package.json"
"CHANGELOG.md"
],

@@ -1304,0 +1291,0 @@ author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",

@@ -262,12 +262,5 @@ 'use strict';

// import { v4 as uuidv4 } from 'uuid'
// export default function generateID() {
// return uuidv4()
// }
function generateID() {
// @ts-ignore
const str = ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
}

@@ -755,7 +748,5 @@

// Now the token is present in the tokenCache
// Now the token is present in the tokenCache and can be accessed
tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -813,5 +804,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -892,5 +881,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -944,5 +931,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -966,3 +951,3 @@ };

if (version) {
if (modifierFunction) {
if (modifierFunction && typeof modifierFunction == 'function') {
request.body = await modifierFunction(version, request, response);

@@ -1221,4 +1206,4 @@ } else {

let runningCount = 0;
const queue = [];
const waitForSlot = () => {
// dont allow negative or 0 value for concurrency
if (0 >= concurrency) return Promise.resolve();

@@ -1231,33 +1216,38 @@ return new Promise(resolve => {

} else {
// Retry until a slot becomes available
setTimeout(tryNext, 10);
queue.push(tryNext);
}
};
// start
tryNext();
});
};
return next => {
return async request => {
return waitForSlot().then(async () => {
// Patch the request to override resolve and reject
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
runningCount--;
},
reject(error) {
request.reject(error);
runningCount--;
}
};
try {
return next(patchedRequest);
} finally {
runningCount--;
// Function to free up a slot after a request is completed
const freeSlot = () => {
runningCount--;
if (queue.length > 0) {
const nextInQueue = queue.shift();
if (nextInQueue) {
nextInQueue();
}
}
};
return next => request => {
return waitForSlot().then(() => {
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
freeSlot();
},
reject(error) {
request.reject(error);
freeSlot();
}
};
// Process the next middleware
return next(patchedRequest).finally(() => {
freeSlot();
});
};
});
};

@@ -1268,3 +1258,3 @@ }

name: "@commercetools/ts-client",
version: "2.1.0-alpha.1",
version: "2.1.0",
engines: {

@@ -1307,6 +1297,3 @@ node: ">=14"

"dist",
"CHANGELOG.md",
"LICENSE",
"README.md",
"package.json"
"CHANGELOG.md"
],

@@ -1313,0 +1300,0 @@ author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",

@@ -262,12 +262,5 @@ 'use strict';

// import { v4 as uuidv4 } from 'uuid'
// export default function generateID() {
// return uuidv4()
// }
function generateID() {
// @ts-ignore
const str = ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
}

@@ -755,7 +748,5 @@

// Now the token is present in the tokenCache
// Now the token is present in the tokenCache and can be accessed
tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -813,5 +804,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -892,5 +881,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -944,5 +931,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -966,3 +951,3 @@ };

if (version) {
if (modifierFunction) {
if (modifierFunction && typeof modifierFunction == 'function') {
request.body = await modifierFunction(version, request, response);

@@ -1221,4 +1206,4 @@ } else {

let runningCount = 0;
const queue = [];
const waitForSlot = () => {
// dont allow negative or 0 value for concurrency
if (0 >= concurrency) return Promise.resolve();

@@ -1231,33 +1216,38 @@ return new Promise(resolve => {

} else {
// Retry until a slot becomes available
setTimeout(tryNext, 10);
queue.push(tryNext);
}
};
// start
tryNext();
});
};
return next => {
return async request => {
return waitForSlot().then(async () => {
// Patch the request to override resolve and reject
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
runningCount--;
},
reject(error) {
request.reject(error);
runningCount--;
}
};
try {
return next(patchedRequest);
} finally {
runningCount--;
// Function to free up a slot after a request is completed
const freeSlot = () => {
runningCount--;
if (queue.length > 0) {
const nextInQueue = queue.shift();
if (nextInQueue) {
nextInQueue();
}
}
};
return next => request => {
return waitForSlot().then(() => {
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
freeSlot();
},
reject(error) {
request.reject(error);
freeSlot();
}
};
// Process the next middleware
return next(patchedRequest).finally(() => {
freeSlot();
});
};
});
};

@@ -1268,3 +1258,3 @@ }

name: "@commercetools/ts-client",
version: "2.1.0-alpha.1",
version: "2.1.0",
engines: {

@@ -1307,6 +1297,3 @@ node: ">=14"

"dist",
"CHANGELOG.md",
"LICENSE",
"README.md",
"package.json"
"CHANGELOG.md"
],

@@ -1313,0 +1300,0 @@ author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",

@@ -253,12 +253,5 @@ import fetch$1 from 'node-fetch';

// import { v4 as uuidv4 } from 'uuid'
// export default function generateID() {
// return uuidv4()
// }
function generateID() {
// @ts-ignore
const str = ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));
return 'abcdef'[Math.floor(Math.random() * 'abcdef'.length)] + '' + str;
return ([1e6] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (parseInt(c) ^ Math.floor(Math.random() * 256) & 15 >> parseInt(c) / 4).toString(16));
}

@@ -746,7 +739,5 @@

// Now the token is present in the tokenCache
// Now the token is present in the tokenCache and can be accessed
tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -804,5 +795,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -883,5 +872,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -935,5 +922,3 @@ };

tokenCacheObject = tokenCache.get(tokenCacheKey);
if (tokenCacheObject && tokenCacheObject.token && Date.now() < tokenCacheObject.expirationTime) {
return next(mergeAuthHeader(tokenCacheObject.token, request));
}
return next(mergeAuthHeader(tokenCacheObject.token, request));
};

@@ -957,3 +942,3 @@ };

if (version) {
if (modifierFunction) {
if (modifierFunction && typeof modifierFunction == 'function') {
request.body = await modifierFunction(version, request, response);

@@ -1212,4 +1197,4 @@ } else {

let runningCount = 0;
const queue = [];
const waitForSlot = () => {
// dont allow negative or 0 value for concurrency
if (0 >= concurrency) return Promise.resolve();

@@ -1222,33 +1207,38 @@ return new Promise(resolve => {

} else {
// Retry until a slot becomes available
setTimeout(tryNext, 10);
queue.push(tryNext);
}
};
// start
tryNext();
});
};
return next => {
return async request => {
return waitForSlot().then(async () => {
// Patch the request to override resolve and reject
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
runningCount--;
},
reject(error) {
request.reject(error);
runningCount--;
}
};
try {
return next(patchedRequest);
} finally {
runningCount--;
// Function to free up a slot after a request is completed
const freeSlot = () => {
runningCount--;
if (queue.length > 0) {
const nextInQueue = queue.shift();
if (nextInQueue) {
nextInQueue();
}
}
};
return next => request => {
return waitForSlot().then(() => {
const patchedRequest = {
...request,
resolve(data) {
request.resolve(data);
freeSlot();
},
reject(error) {
request.reject(error);
freeSlot();
}
};
// Process the next middleware
return next(patchedRequest).finally(() => {
freeSlot();
});
};
});
};

@@ -1259,3 +1249,3 @@ }

name: "@commercetools/ts-client",
version: "2.1.0-alpha.1",
version: "2.1.0",
engines: {

@@ -1298,6 +1288,3 @@ node: ">=14"

"dist",
"CHANGELOG.md",
"LICENSE",
"README.md",
"package.json"
"CHANGELOG.md"
],

@@ -1304,0 +1291,0 @@ author: "Chukwuemeka Ajima <meeky.ae@gmail.com>",

@@ -1,1 +0,1 @@

var window;(window||={})["@commercetools/ts-client"]=(()=>{var $e=Object.create;var ie=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty;var Ee=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),me=(e,t)=>{for(var r in t)ie(e,r,{get:t[r],enumerable:!0})},Oe=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Qe(t))!Ve.call(e,i)&&i!==r&&ie(e,i,{get:()=>t[i],enumerable:!(o=ze(t,i))||o.enumerable});return e};var V=(e,t,r)=>(r=e!=null?$e(Je(e)):{},Oe(t||!e||!e.__esModule?ie(r,"default",{value:e,enumerable:!0}):r,e)),Ge=e=>Oe(ie({},"__esModule",{value:!0}),e);var G=Ee((q,Pe)=>{"use strict";var Ye=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},F=Ye();Pe.exports=q=F.fetch;F.fetch&&(q.default=F.fetch.bind(F));q.Headers=F.Headers;q.Request=F.Request;q.Response=F.Response});var _e=Ee((ro,he)=>{"use strict";var{AbortController:Ne,AbortSignal:yt}=typeof self<"u"?self:typeof window<"u"?window:void 0;he.exports=Ne;he.exports.AbortSignal=yt;he.exports.default=Ne});var Ft={};me(Ft,{ClientBuilder:()=>z,Process:()=>we,createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>D,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>B,createAuthMiddlewareForRefreshTokenFlow:()=>$,createClient:()=>j,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var v=V(G());var ke={};me(ke,{createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>D,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>B,createAuthMiddlewareForRefreshTokenFlow:()=>$,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createErrorMiddleware:()=>xe,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var Ie=V(G());var y={};me(y,{CONCURRENCT_REQUEST:()=>Xe,CTP_API_URL:()=>Ze,CTP_AUTH_URL:()=>et,DEFAULT_HEADERS:()=>ye,HEADERS_CONTENT_TYPES:()=>We});var We=["application/json","application/graphql"],Xe=20,Ze="https://api.europe-west1.gcp.commercetools.com",et="https://auth.europe-west1.gcp.commercetools.com",ye=["content-type","access-control-allow-origin","access-control-allow-headers","access-control-allow-methods","access-control-expose-headers","access-control-max-ag","x-correlation-id","server-timing","date","server","transfer-encoding","access-control-max-age","content-encoding","x-envoy-upstream-service-time","via","alt-svc","connection"];function k(e,t,r={}){this.status=this.statusCode=this.code=e,this.message=t,Object.assign(this,r),this.name=this.constructor.name,this.constructor.prototype.__proto__=Error.prototype,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}function Se(...e){k.call(this,0,...e)}function Fe(...e){k.call(this,...e)}function tt(...e){k.call(this,400,...e)}function rt(...e){k.call(this,401,...e)}function ot(...e){k.call(this,403,...e)}function it(...e){k.call(this,404,...e)}function nt(...e){k.call(this,409,...e)}function at(...e){k.call(this,500,...e)}function st(...e){k.call(this,503,...e)}function Me(e){switch(e){case 0:return Se;case 400:return tt;case 401:return rt;case 403:return ot;case 404:return it;case 409:return nt;case 500:return at;case 503:return st;default:return}}function lt({statusCode:e,message:t,...r}){let o=t||"Unexpected non-JSON error response";e===404&&(o=`URI not found: ${r.originalRequest?.uri||r.uri}`);let i=Me(e);return i?new i(o,r):new Fe(e,o,r)}var H=lt;function dt(e,t){return[503,...e].includes(t?.status||t?.statusCode)}async function ut(e,t){async function r(){return await e({...t,headers:{...t.headers}})}return r().catch(o=>Promise.reject(o))}async function N(e){let{url:t,httpClient:r,...o}=e;return await ut(async n=>{let{enableRetry:a,retryConfig:l,abortController:u}=o,{retryCodes:d=[],maxDelay:s=1/0,maxRetries:p=3,backoff:f=!0,retryDelay:M=200,retryOnAbort:c=!0}=l||{},g,x,w=0;ge(d);async function C(){return r(t,{...o,...n,headers:{...o.headers,...n.headers,"Accept-Encoding":"application/json"},...o.body?{data:o.body}:{},withCredentials:n.credentialsMode==="include"})}async function R(){let O=async(S,Q)=>{let J={};try{if(J=await C(),J.status>399&&dt(S,J))return{_response:J,shouldRetry:!0}}catch(fe){if(fe.name.includes("AbortError")&&Q)return{_response:fe,shouldRetry:!0};throw fe}return{_response:J,shouldRetry:!1}},P=c||!u||!u.signal,{_response:oe,shouldRetry:I}=await O(d,P);for(;a&&I&&w<p;){w++;let S=await O(d,P);oe=S._response,I=S.shouldRetry;let Q=ne({retryCount:w,retryDelay:M,maxRetries:p,backoff:f,maxDelay:s});await ae(Q)}return oe}let h=await R();try{h.text&&typeof h.text=="function"?(g=await h.text()||h[Object.getOwnPropertySymbols(h)[1]],x=JSON.parse(g)):x=h.data||h}catch{x=g}return{data:x,retryCount:w,statusCode:h.status||h.statusCode||x.statusCode,headers:h.headers}},{})}function se(){let e=("1000000-1000-4000-8000"+-1e11).replace(/[018]/g,t=>(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16));return"abcdef"[Math.floor(Math.random()*6)]+""+e}function ct(e){return ye.reduce((t,r)=>{let o=e[r]?e[r]:typeof e.get=="function"?e.get(r):null;return o&&(t[r]=o),t},{})}function b(e){if(!e)return null;if(e.raw&&typeof e.raw=="function")return e.raw();if(!e.forEach)return ct(e);let t={};return e.forEach((r,o)=>t[o]=r)}function Y(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function U(e){let t=Object.assign({},e);return t?.headers&&(t.headers.Authorization&&(t.headers.Authorization="Bearer ********"),t.headers.authorization&&(t.headers.authorization="Bearer ********")),t}function m(e,t){return{...t,headers:{...t.headers,Authorization:`Bearer ${e}`}}}var Ce=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];function ne({retryCount:e,retryDelay:t,backoff:r,maxDelay:o}){return r&&e!==0?Math.min(Math.round((Math.random()+1)*t*2**e),o):t}Math.min(Math.round((Math.random()+1)*200*2**10),1/0);function ae(e){return new Promise(t=>{setTimeout(t,e)})}function A(e){if(!e?.credentials?.clientId||!e.projectKey||!e.host)throw new Error("Missing required options.");return{clientId:e.credentials.clientId,host:e.host,projectKey:e.projectKey}}function le(e){return Date.now()+e*1e3-5*60*1e3}function T(e){let t=e;return{get:r=>t,set:(r,o)=>{t=r}}}function Ue(e){return typeof e<"u"&&e!==null}function pt(e){return Ue(e)?typeof e=="string"?e:Object.fromEntries(Object.entries(e).filter(([t,r])=>![null,void 0,""].includes(r))):""}function ht(e){let t={},r=new URLSearchParams(e);for(let o of r.keys())r.getAll(o).length>1?t[o]=r.getAll(o):t[o]=r.get(o);return t}function wt(e){if(e=pt(e),!e)return"";let t=new URLSearchParams(e);for(let[r,o]of Object.entries(e))Array.isArray(o)&&(t.delete(r),o.filter(Ue).forEach(i=>t.append(r,i)));return t.toString()}function Re(e,t=ht){return t(e)}function de(e,t=wt){return t(e)}var ft=()=>typeof window<"u"&&window.document&&window.document.nodeType===9;function mt(){if(ft())return window.navigator.userAgent;let e=process?.version.slice(1)||"unknow",t=`(${process.platform}; ${process.arch})`;return`node.js/${e} ${t}`}function ue(e){let t=null,r=null;if(!e)throw new Error("Missing required option `name`");let o=e.version?`${e.name}/${e.version}`:e.name;e.libraryName&&!e.libraryVersion?t=e.libraryName:e.libraryName&&e.libraryVersion&&(t=`${e.libraryName}/${e.libraryVersion}`),e.contactUrl&&!e.contactEmail?r=`(+${e.contactUrl})`:!e.contactUrl&&e.contactEmail?r=`(+${e.contactEmail})`:e.contactUrl&&e.contactEmail&&(r=`(+${e.contactUrl}; +${e.contactEmail})`);let i=mt(),n=e.customAgent||"";return[o,i,t,r,n].filter(Boolean).join(" ")}function _(e){return typeof e=="string"?e.length.toString():e&&typeof e=="object"?new TextEncoder().encode(JSON.stringify(e)).length.toString():e instanceof Uint8Array?e.length.toString():"0"}function be(e){if(!e.host)throw new Error("Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`");if(!e.httpClient&&typeof e.httpClient!="function")throw new Error("An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.")}function ge(e){if(!Array.isArray(e))throw new Error("`retryCodes` option must be an array of retry status (error) codes and/or messages.")}function Ae(e){if(!e)throw new Error("Missing required options");if(e.middlewares&&!Array.isArray(e.middlewares))throw new Error("Middlewares should be an array");if(!e.middlewares||!Array.isArray(e.middlewares)||!e.middlewares.length)throw new Error("You need to provide at least one middleware")}function ce(e,t,r={allowedMethods:Ce}){if(!t)throw new Error(`The "${e}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(typeof t.uri!="string")throw new Error(`The "${e}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(!r.allowedMethods.includes(t.method))throw new Error(`The "${e}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`)}function Te(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r}=e.credentials||{};if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=e.scopes?e.scopes.join(" "):void 0,i=btoa(`${t}:${r}`),n=e.oauthUri||"/oauth/token",a=e.host.replace(/\/$/,"")+n,l=`grant_type=client_credentials${o?`&scope=${o}`:""}`;return{url:a,body:l,basicAuth:i}}function je(e){if(!e)throw new Error("Missing required options");if(!e.projectKey)throw new Error("Missing required option (projectKey)");let t=e.projectKey;e.oauthUri=e.oauthUri||`/oauth/${t}/anonymous/token`;let r=Te(e);return e.credentials.anonymousId&&(r.body+=`&anonymous_id=${e.credentials.anonymousId}`),{...r}}function pe(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");if(!e.refreshToken)throw new Error("Missing required option (refreshToken)");let{clientId:t,clientSecret:r}=e.credentials;if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=btoa(`${t}:${r}`),i=e.oauthUri||"/oauth/token",n=e.host.replace(/\/$/,"")+i,a=`grant_type=refresh_token&refresh_token=${encodeURIComponent(e.refreshToken)}`;return{basicAuth:o,url:n,body:a}}function ve(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r,user:o}=e.credentials,i=e.projectKey;if(!(t&&r&&o))throw new Error("Missing required credentials (clientId, clientSecret, user)");let{username:n,password:a}=o;if(!(n&&a))throw new Error("Missing required user credentials (username, password)");let l=(e.scopes||[]).join(" "),u=l?`&scope=${l}`:"",d=btoa(`${t}:${r}`),s=e.oauthUri||`/oauth/${i}/customers/token`,p=e.host.replace(/\/$/,"")+s,f=`grant_type=password&username=${encodeURIComponent(n)}&password=${encodeURIComponent(a)}${u}`;return{basicAuth:d,url:p,body:f}}async function E(e){let{httpClient:t,tokenCache:r,userOption:o,tokenCacheObject:i}=e,n=e.url,a=e.body,l=e.basicAuth;if(!t||typeof t!="function")throw new Error("an `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.");if(i&&i.refreshToken&&(!i.token||i.token&&Date.now()>i.expirationTime)){if(!o)throw new Error("Missing required options.");let d={...pe({...o,refreshToken:i.refreshToken})};n=d.url,a=d.body,l=d.basicAuth}let u;try{if(u=await N({url:n,method:"POST",headers:{Authorization:`Basic ${l}`,"Content-Type":"application/x-www-form-urlencoded","Content-Length":_(a)},httpClient:t,body:a}),u.statusCode>=200&&u.statusCode<300){let{access_token:d,expires_in:s,refresh_token:p}=u?.data,f=le(s);return r.set({token:d,expirationTime:f,refreshToken:p}),Promise.resolve(!0)}throw H({code:u.data.error,statusCode:u.data.statusCode,message:u.data.message,error:u.data.errors})}catch(d){throw d}}function K(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||Ie.default,...je(e),userOption:e,next:n};if(o?await o:(o=E(l),await o,o=null),r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a))}}var qe=V(G());function D(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,tokenCacheObject:r,httpClient:e.httpClient||qe.default,...Te(e),next:n};if(o?await o:(o=E(l),await o,o=null),r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a))}}function L(e,t){return r=>async o=>{if(typeof e!="string")throw new Error("authorization must be a string");let i=t?.force===void 0?!0:t.force;if(!e||o.headers&&(o.headers.Authorization||o.headers.authorization)&&i===!1)return r(o);let n={...o,headers:{...o.headers,Authorization:e}};return r(n)}}var He=V(G());function B(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||He.default,...ve(e),userOption:e,next:n};if(o?await o:(o=E(l),await o,o=null),r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a))}}function $(e){let t=e.tokenCache||T({token:"",tokenCacheKey:null}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,httpClient:e.httpClient||fetch,...pe(e),next:n};if(o?await o:(o=E(l),await o,o=null),r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a))}}function W(e){return t=>async r=>{let o=await t(r);if(o.statusCode==409){let i=o.error.body?.errors?.[0]?.currentVersion;if(i)return e?r.body=await e(i,r,o):r.body=typeof r.body=="string"?{...JSON.parse(r.body),version:i}:{...r.body,version:i},t(r)}return o}}function X(e){return t=>r=>{let o={...r,headers:{...r.headers,"X-Correlation-ID":e.generate&&typeof e.generate=="function"?e.generate():se()}};return t(o)}}function xe(e){return t=>async r=>{let o=await t(r);if(o.error){let{error:i}=o;return{...o,statusCode:i.statusCode||0,headers:i.headers||b({}),error:{...i,body:i.data||i}}}return o}}var Ke=V(_e());async function Mt({url:e,httpClient:t,clientOptions:r}){let o,{timeout:i,request:n,abortController:a,maskSensitiveHeaderData:l,includeRequestInErrorResponse:u,includeResponseHeaders:d}=r;try{i&&(o=setTimeout(()=>{a.abort()},i));let s=await N({url:e,...r,httpClient:t,method:r.method,...r.body?{body:r.body}:{}});if(d||(s.headers=null),s.statusCode>=200&&s.statusCode<300)return r.method=="HEAD"?{body:null,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)}:{body:s.data,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)};let p=H({message:s?.data?.message||s?.message,statusCode:s.statusCode||s?.data?.statusCode,headers:b(s.headers),method:r.method,body:s.data,retryCount:s.retryCount,...u?{originalRequest:l?U(n):n}:{uri:n.uri}});return{body:s.data,code:s.statusCode,statusCode:s.statusCode,headers:b(s.headers),error:p}}catch(s){let p=d?b(s.response?.headers):null,f=s.response?.status||s.response?.data0||0,M=s.response?.data?.message,c=H({statusCode:f,code:f,status:f,message:M||s.message,headers:p,body:s.response?.data||s,error:s.response?.data,...u?{originalRequest:l?U(n):n}:{uri:n.uri}});throw{body:c,error:c}}finally{clearTimeout(o)}}function Z(e){be(e);let{host:t,credentialsMode:r,httpClient:o,timeout:i,enableRetry:n,retryConfig:a,getAbortController:l,includeOriginalRequest:u,includeRequestInErrorResponse:d=!0,includeResponseHeaders:s=!0,maskSensitiveHeaderData:p,httpClientOptions:f}=e;return M=>async c=>{let g;(i||l)&&(g=(l?l():null)||new Ke.default);let x=t.replace(/\/$/,"")+c.uri,w={...c.headers};Object.prototype.hasOwnProperty.call(w,"Content-Type")||Object.prototype.hasOwnProperty.call(w,"content-type")||(w["Content-Type"]="application/json"),w["Content-Type"]===null&&delete w["Content-Type"];let C=y.HEADERS_CONTENT_TYPES.indexOf(w["Content-Type"])>-1&&typeof c.body=="string"||Y(c.body)?c.body:JSON.stringify(c.body||void 0);C&&(typeof C=="string"||Y(C))&&(w["Content-Length"]=_(C));let R={enableRetry:n,retryConfig:a,request:c,method:c.method,headers:w,includeRequestInErrorResponse:d,maskSensitiveHeaderData:p,includeResponseHeaders:s,...f};r&&(R.credentialsMode=r),g&&(R.signal=g.signal),i&&(R.timeout=i,R.abortController=g),C&&(R.body=C);let h=await Mt({url:x,clientOptions:R,httpClient:o}),O={...c,includeOriginalRequest:u,maskSensitiveHeaderData:p,response:h};return M(O)}}function ee(e){return t=>async r=>{let o=await t(r),i=Object.assign({},o),{loggerFn:n=console.log}=e||{};return n&&typeof n=="function"&&n(o),i}}function te({concurrency:e=20}){let t=0,r=()=>0>=e?Promise.resolve():new Promise(o=>{let i=()=>{t<e?(t++,o()):setTimeout(i,10)};i()});return o=>async i=>r().then(async()=>{let n={...i,resolve(a){i.resolve(a),t--},reject(a){i.reject(a),t--}};try{return o(n)}finally{t--}})}var De={name:"@commercetools/ts-client",version:"2.1.0-alpha.1",engines:{node:">=14"},description:"commercetools Composable Commerce TypeScript SDK client.",keywords:["commercetools","composable commerce","sdk","typescript","client","middleware","http","oauth","auth"],homepage:"https://github.com/commercetools/commercetools-sdk-typescript",license:"MIT",directories:{lib:"lib",test:"test"},publishConfig:{access:"public"},repository:{type:"git",url:"git+https://github.com/commercetools/commercetools-sdk-typescript.git"},bugs:{url:"https://github.com/commercetools/commercetools-sdk-typescript/issues"},dependencies:{"abort-controller":"3.0.0","node-fetch":"^2.6.1"},files:["dist","CHANGELOG.md","LICENSE","README.md","package.json"],author:"Chukwuemeka Ajima <meeky.ae@gmail.com>",main:"dist/commercetools-ts-client.cjs.js",module:"dist/commercetools-ts-client.esm.js",browser:{"./dist/commercetools-ts-client.cjs.js":"./dist/commercetools-ts-client.browser.cjs.js","./dist/commercetools-ts-client.esm.js":"./dist/commercetools-ts-client.browser.esm.js"},devDependencies:{"common-tags":"1.8.2",dotenv:"16.4.5",jest:"29.7.0",nock:"12.0.3","organize-imports-cli":"0.10.0"},scripts:{organize_imports:"find src -type f -name '*.ts' | xargs organize-imports-cli",postbuild:"yarn organize_imports",post_process_generate:"yarn organize_imports",docs:"typedoc --out docs"}};function re(e){return t=>async r=>{let o=ue({...e,name:`${e.name?e.name+"/":""}commercetools-sdk-javascript-v3/${De.version}`}),i={...r,headers:{...r.headers,"User-Agent":o}};return t(i)}}function Ct({middlewares:e}){return e.length===1?e[0]:e.slice().reduce((r,o)=>(...i)=>r(o.apply(null,i)))}var Le;function we(e,t,r){if(ce("process",e,{allowedMethods:["GET"]}),typeof t!="function")throw new Error('The "process" function accepts a "Function" as a second argument that returns a Promise. See https://commercetools.github.io/nodejs/sdk/api/sdkClient.html#processrequest-processfn-options');let o={total:Number.POSITIVE_INFINITY,accumulate:!0,...r};return new Promise((i,n)=>{let a,l="";if(e&&e.uri){let[M,c]=e.uri.split("?");a=M,l=c}let d={limit:20,...{...Re(l)}},s=o.total,p=!1,f=async(M,c=[])=>{let g=d.limit<s?d.limit:s,x=de({...d,limit:g}),w={sort:"id asc",withTotal:!1,...M?{where:`id > "${M}"`}:{}},C=de(w),R={...e,uri:`${a}?${C}&${x}`};try{let h=await j(Le).execute(R),{results:O,count:P}=h?.body||{};if(!P&&p)return i(c||[]);let oe=await Promise.resolve(t(h)),I;if(p=!0,o.accumulate&&(I=c.concat(oe||[])),s-=P,P<d.limit||!s)return i(I||[]);let S=O[P-1],Q=S&&S.id;f(Q,I)}catch(h){n(h)}};f()})}function j(e){Le=e,Ae(e);let t=!1,r={async resolve(i){let{response:n,includeOriginalRequest:a,maskSensitiveHeaderData:l,...u}=i,{retryCount:d,...s}=n;return t=l,{body:null,error:null,reject:i.reject,resolve:i.resolve,...s,...a?{originalRequest:u}:{},...n?.retryCount?{retryCount:n.retryCount}:{}}}},o=Ct(e)(r.resolve);return{process:we,execute(i){return ce("exec",i),new Promise(async(n,a)=>{try{let l=await o({reject:a,resolve:n,...i});if(l.error)return a(l.error);l.originalRequest&&t&&(l.originalRequest=U(l.originalRequest)),n(l)}catch(l){a(l)}})}}}var{createAuthMiddlewareForPasswordFlow:Rt,createAuthMiddlewareForAnonymousSessionFlow:bt,createAuthMiddlewareForClientCredentialsFlow:At,createAuthMiddlewareForRefreshTokenFlow:Tt,createAuthMiddlewareForExistingTokenFlow:xt,createCorrelationIdMiddleware:kt,createHttpMiddleware:Et,createLoggerMiddleware:Ot,createQueueMiddleware:Pt,createUserAgentMiddleware:Be,createConcurrentModificationMiddleware:St}=ke,z=class{projectKey;authMiddleware;httpMiddleware;userAgentMiddleware;correlationIdMiddleware;loggerMiddleware;queueMiddleware;concurrentMiddleware;telemetryMiddleware;beforeMiddleware;afterMiddleware;middlewares=[];constructor(){this.userAgentMiddleware=Be({})}withProjectKey(t){return this.projectKey=t,this}defaultClient(t,r,o,i,n,a){return this.withClientCredentialsFlow({host:o,projectKey:i||this.projectKey,credentials:r,scopes:n}).withHttpMiddleware({host:t,httpClient:a||v.default})}withAuthMiddleware(t){return this.authMiddleware=t,this}withMiddleware(t){return this.middlewares.push(t),this}withClientCredentialsFlow(t){return this.withAuthMiddleware(At({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},oauthUri:t.oauthUri||null,scopes:t.scopes,httpClient:t.httpClient||v.default,...t}))}withPasswordFlow(t){return this.withAuthMiddleware(Rt({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,user:{username:t.credentials.user.username||null,password:t.credentials.user.password||null}},httpClient:t.httpClient||v.default,...t}))}withAnonymousSessionFlow(t){return this.withAuthMiddleware(bt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,anonymousId:t.credentials.anonymousId||null},httpClient:t.httpClient||v.default,...t}))}withRefreshTokenFlow(t){return this.withAuthMiddleware(Tt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},httpClient:t.httpClient||v.default,refreshToken:t.refreshToken||null,...t}))}withExistingTokenFlow(t,r){return this.withAuthMiddleware(xt(t,{force:r.force||!0,...r}))}withHttpMiddleware(t){return this.httpMiddleware=Et({host:t.host||y.CTP_API_URL,httpClient:t.httpClient||v.default,...t}),this}withUserAgentMiddleware(t){return this.userAgentMiddleware=Be(t),this}withQueueMiddleware(t){return this.queueMiddleware=Pt({concurrency:t.concurrency||y.CONCURRENCT_REQUEST,...t}),this}withLoggerMiddleware(t){return this.loggerMiddleware=Ot(t),this}withCorrelationIdMiddleware(t){return this.correlationIdMiddleware=kt({generate:t?.generate,...t}),this}withConcurrentModificationMiddleware(t){return this.concurrentMiddleware=St(t?.concurrentModificationHandlerFn),this}withTelemetryMiddleware(t){let{createTelemetryMiddleware:r,...o}=t;return this.withUserAgentMiddleware({customAgent:o?.userAgent||"typescript-sdk-apm-middleware"}),this.telemetryMiddleware=r(o),this}withBeforeExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.beforeMiddleware=t.middleware(o),this}withAfterExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.afterMiddleware=t.middleware(o),this}build(){let t=this.middlewares.slice();return this.telemetryMiddleware&&t.push(this.telemetryMiddleware),this.correlationIdMiddleware&&t.push(this.correlationIdMiddleware),this.userAgentMiddleware&&t.push(this.userAgentMiddleware),this.authMiddleware&&t.push(this.authMiddleware),this.beforeMiddleware&&t.push(this.beforeMiddleware),this.queueMiddleware&&t.push(this.queueMiddleware),this.loggerMiddleware&&t.push(this.loggerMiddleware),this.concurrentMiddleware&&t.push(this.concurrentMiddleware),this.httpMiddleware&&t.push(this.httpMiddleware),this.afterMiddleware&&t.push(this.afterMiddleware),j({middlewares:t})}};return Ge(Ft);})();
var window;(window||={})["@commercetools/ts-client"]=(()=>{var $e=Object.create;var ie=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var Ee=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),me=(e,t)=>{for(var r in t)ie(e,r,{get:t[r],enumerable:!0})},Oe=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Qe(t))!Ge.call(e,i)&&i!==r&&ie(e,i,{get:()=>t[i],enumerable:!(o=ze(t,i))||o.enumerable});return e};var G=(e,t,r)=>(r=e!=null?$e(Je(e)):{},Oe(t||!e||!e.__esModule?ie(r,"default",{value:e,enumerable:!0}):r,e)),Ve=e=>Oe(ie({},"__esModule",{value:!0}),e);var V=Ee((H,Pe)=>{"use strict";var Ye=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},F=Ye();Pe.exports=H=F.fetch;F.fetch&&(H.default=F.fetch.bind(F));H.Headers=F.Headers;H.Request=F.Request;H.Response=F.Response});var _e=Ee((Xr,pe)=>{"use strict";var{AbortController:ve,AbortSignal:yt}=typeof self<"u"?self:typeof window<"u"?window:void 0;pe.exports=ve;pe.exports.AbortSignal=yt;pe.exports.default=ve});var Ft={};me(Ft,{ClientBuilder:()=>z,Process:()=>we,createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>B,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>D,createAuthMiddlewareForRefreshTokenFlow:()=>$,createClient:()=>j,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var q=G(V());var ke={};me(ke,{createAuthMiddlewareForAnonymousSessionFlow:()=>K,createAuthMiddlewareForClientCredentialsFlow:()=>B,createAuthMiddlewareForExistingTokenFlow:()=>L,createAuthMiddlewareForPasswordFlow:()=>D,createAuthMiddlewareForRefreshTokenFlow:()=>$,createConcurrentModificationMiddleware:()=>W,createCorrelationIdMiddleware:()=>X,createErrorMiddleware:()=>xe,createHttpMiddleware:()=>Z,createLoggerMiddleware:()=>ee,createQueueMiddleware:()=>te,createUserAgentMiddleware:()=>re});var Ue=G(V());var y={};me(y,{CONCURRENCT_REQUEST:()=>Xe,CTP_API_URL:()=>Ze,CTP_AUTH_URL:()=>et,DEFAULT_HEADERS:()=>ye,HEADERS_CONTENT_TYPES:()=>We});var We=["application/json","application/graphql"],Xe=20,Ze="https://api.europe-west1.gcp.commercetools.com",et="https://auth.europe-west1.gcp.commercetools.com",ye=["content-type","access-control-allow-origin","access-control-allow-headers","access-control-allow-methods","access-control-expose-headers","access-control-max-ag","x-correlation-id","server-timing","date","server","transfer-encoding","access-control-max-age","content-encoding","x-envoy-upstream-service-time","via","alt-svc","connection"];function k(e,t,r={}){this.status=this.statusCode=this.code=e,this.message=t,Object.assign(this,r),this.name=this.constructor.name,this.constructor.prototype.__proto__=Error.prototype,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}function Se(...e){k.call(this,0,...e)}function Fe(...e){k.call(this,...e)}function tt(...e){k.call(this,400,...e)}function rt(...e){k.call(this,401,...e)}function ot(...e){k.call(this,403,...e)}function it(...e){k.call(this,404,...e)}function nt(...e){k.call(this,409,...e)}function at(...e){k.call(this,500,...e)}function st(...e){k.call(this,503,...e)}function Me(e){switch(e){case 0:return Se;case 400:return tt;case 401:return rt;case 403:return ot;case 404:return it;case 409:return nt;case 500:return at;case 503:return st;default:return}}function lt({statusCode:e,message:t,...r}){let o=t||"Unexpected non-JSON error response";e===404&&(o=`URI not found: ${r.originalRequest?.uri||r.uri}`);let i=Me(e);return i?new i(o,r):new Fe(e,o,r)}var N=lt;function dt(e,t){return[503,...e].includes(t?.status||t?.statusCode)}async function ut(e,t){async function r(){return await e({...t,headers:{...t.headers}})}return r().catch(o=>Promise.reject(o))}async function v(e){let{url:t,httpClient:r,...o}=e;return await ut(async n=>{let{enableRetry:a,retryConfig:l,abortController:d}=o,{retryCodes:u=[],maxDelay:s=1/0,maxRetries:h=3,backoff:f=!0,retryDelay:M=200,retryOnAbort:c=!0}=l||{},g,x,w=0;ge(u);async function C(){return r(t,{...o,...n,headers:{...o.headers,...n.headers,"Accept-Encoding":"application/json"},...o.body?{data:o.body}:{},withCredentials:n.credentialsMode==="include"})}async function R(){let O=async(S,Q)=>{let J={};try{if(J=await C(),J.status>399&&dt(S,J))return{_response:J,shouldRetry:!0}}catch(fe){if(fe.name.includes("AbortError")&&Q)return{_response:fe,shouldRetry:!0};throw fe}return{_response:J,shouldRetry:!1}},P=c||!d||!d.signal,{_response:oe,shouldRetry:U}=await O(u,P);for(;a&&U&&w<h;){w++;let S=await O(u,P);oe=S._response,U=S.shouldRetry;let Q=ne({retryCount:w,retryDelay:M,maxRetries:h,backoff:f,maxDelay:s});await ae(Q)}return oe}let p=await R();try{p.text&&typeof p.text=="function"?(g=await p.text()||p[Object.getOwnPropertySymbols(p)[1]],x=JSON.parse(g)):x=p.data||p}catch{x=g}return{data:x,retryCount:w,statusCode:p.status||p.statusCode||x.statusCode,headers:p.headers}},{})}function se(){return("1000000-1000-4000-8000"+-1e11).replace(/[018]/g,e=>(parseInt(e)^Math.floor(Math.random()*256)&15>>parseInt(e)/4).toString(16))}function ct(e){return ye.reduce((t,r)=>{let o=e[r]?e[r]:typeof e.get=="function"?e.get(r):null;return o&&(t[r]=o),t},{})}function b(e){if(!e)return null;if(e.raw&&typeof e.raw=="function")return e.raw();if(!e.forEach)return ct(e);let t={};return e.forEach((r,o)=>t[o]=r)}function Y(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function I(e){let t=Object.assign({},e);return t?.headers&&(t.headers.Authorization&&(t.headers.Authorization="Bearer ********"),t.headers.authorization&&(t.headers.authorization="Bearer ********")),t}function m(e,t){return{...t,headers:{...t.headers,Authorization:`Bearer ${e}`}}}var Ce=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];function ne({retryCount:e,retryDelay:t,backoff:r,maxDelay:o}){return r&&e!==0?Math.min(Math.round((Math.random()+1)*t*2**e),o):t}Math.min(Math.round((Math.random()+1)*200*2**10),1/0);function ae(e){return new Promise(t=>{setTimeout(t,e)})}function A(e){if(!e?.credentials?.clientId||!e.projectKey||!e.host)throw new Error("Missing required options.");return{clientId:e.credentials.clientId,host:e.host,projectKey:e.projectKey}}function le(e){return Date.now()+e*1e3-5*60*1e3}function T(e){let t=e;return{get:r=>t,set:(r,o)=>{t=r}}}function Ie(e){return typeof e<"u"&&e!==null}function ht(e){return Ie(e)?typeof e=="string"?e:Object.fromEntries(Object.entries(e).filter(([t,r])=>![null,void 0,""].includes(r))):""}function pt(e){let t={},r=new URLSearchParams(e);for(let o of r.keys())r.getAll(o).length>1?t[o]=r.getAll(o):t[o]=r.get(o);return t}function wt(e){if(e=ht(e),!e)return"";let t=new URLSearchParams(e);for(let[r,o]of Object.entries(e))Array.isArray(o)&&(t.delete(r),o.filter(Ie).forEach(i=>t.append(r,i)));return t.toString()}function Re(e,t=pt){return t(e)}function de(e,t=wt){return t(e)}var ft=()=>typeof window<"u"&&window.document&&window.document.nodeType===9;function mt(){if(ft())return window.navigator.userAgent;let e=process?.version.slice(1)||"unknow",t=`(${process.platform}; ${process.arch})`;return`node.js/${e} ${t}`}function ue(e){let t=null,r=null;if(!e)throw new Error("Missing required option `name`");let o=e.version?`${e.name}/${e.version}`:e.name;e.libraryName&&!e.libraryVersion?t=e.libraryName:e.libraryName&&e.libraryVersion&&(t=`${e.libraryName}/${e.libraryVersion}`),e.contactUrl&&!e.contactEmail?r=`(+${e.contactUrl})`:!e.contactUrl&&e.contactEmail?r=`(+${e.contactEmail})`:e.contactUrl&&e.contactEmail&&(r=`(+${e.contactUrl}; +${e.contactEmail})`);let i=mt(),n=e.customAgent||"";return[o,i,t,r,n].filter(Boolean).join(" ")}function _(e){return typeof e=="string"?e.length.toString():e&&typeof e=="object"?new TextEncoder().encode(JSON.stringify(e)).length.toString():e instanceof Uint8Array?e.length.toString():"0"}function be(e){if(!e.host)throw new Error("Request `host` or `url` is missing or invalid, please pass in a valid host e.g `host: http://a-valid-host-url`");if(!e.httpClient&&typeof e.httpClient!="function")throw new Error("An `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.")}function ge(e){if(!Array.isArray(e))throw new Error("`retryCodes` option must be an array of retry status (error) codes and/or messages.")}function Ae(e){if(!e)throw new Error("Missing required options");if(e.middlewares&&!Array.isArray(e.middlewares))throw new Error("Middlewares should be an array");if(!e.middlewares||!Array.isArray(e.middlewares)||!e.middlewares.length)throw new Error("You need to provide at least one middleware")}function ce(e,t,r={allowedMethods:Ce}){if(!t)throw new Error(`The "${e}" function requires a "Request" object as an argument. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(typeof t.uri!="string")throw new Error(`The "${e}" Request object requires a valid uri. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`);if(!r.allowedMethods.includes(t.method))throw new Error(`The "${e}" Request object requires a valid method. See https://commercetools.github.io/nodejs/sdk/Glossary.html#clientrequest`)}function Te(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r}=e.credentials||{};if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=e.scopes?e.scopes.join(" "):void 0,i=btoa(`${t}:${r}`),n=e.oauthUri||"/oauth/token",a=e.host.replace(/\/$/,"")+n,l=`grant_type=client_credentials${o?`&scope=${o}`:""}`;return{url:a,body:l,basicAuth:i}}function je(e){if(!e)throw new Error("Missing required options");if(!e.projectKey)throw new Error("Missing required option (projectKey)");let t=e.projectKey;e.oauthUri=e.oauthUri||`/oauth/${t}/anonymous/token`;let r=Te(e);return e.credentials.anonymousId&&(r.body+=`&anonymous_id=${e.credentials.anonymousId}`),{...r}}function he(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");if(!e.refreshToken)throw new Error("Missing required option (refreshToken)");let{clientId:t,clientSecret:r}=e.credentials;if(!(t&&r))throw new Error("Missing required credentials (clientId, clientSecret)");let o=btoa(`${t}:${r}`),i=e.oauthUri||"/oauth/token",n=e.host.replace(/\/$/,"")+i,a=`grant_type=refresh_token&refresh_token=${encodeURIComponent(e.refreshToken)}`;return{basicAuth:o,url:n,body:a}}function qe(e){if(!e)throw new Error("Missing required options");if(!e.host)throw new Error("Missing required option (host)");if(!e.projectKey)throw new Error("Missing required option (projectKey)");if(!e.credentials)throw new Error("Missing required option (credentials)");let{clientId:t,clientSecret:r,user:o}=e.credentials,i=e.projectKey;if(!(t&&r&&o))throw new Error("Missing required credentials (clientId, clientSecret, user)");let{username:n,password:a}=o;if(!(n&&a))throw new Error("Missing required user credentials (username, password)");let l=(e.scopes||[]).join(" "),d=l?`&scope=${l}`:"",u=btoa(`${t}:${r}`),s=e.oauthUri||`/oauth/${i}/customers/token`,h=e.host.replace(/\/$/,"")+s,f=`grant_type=password&username=${encodeURIComponent(n)}&password=${encodeURIComponent(a)}${d}`;return{basicAuth:u,url:h,body:f}}async function E(e){let{httpClient:t,tokenCache:r,userOption:o,tokenCacheObject:i}=e,n=e.url,a=e.body,l=e.basicAuth;if(!t||typeof t!="function")throw new Error("an `httpClient` is not available, please pass in a `fetch` or `axios` instance as an option or have them globally available.");if(i&&i.refreshToken&&(!i.token||i.token&&Date.now()>i.expirationTime)){if(!o)throw new Error("Missing required options.");let u={...he({...o,refreshToken:i.refreshToken})};n=u.url,a=u.body,l=u.basicAuth}let d;try{if(d=await v({url:n,method:"POST",headers:{Authorization:`Basic ${l}`,"Content-Type":"application/x-www-form-urlencoded","Content-Length":_(a)},httpClient:t,body:a}),d.statusCode>=200&&d.statusCode<300){let{access_token:u,expires_in:s,refresh_token:h}=d?.data,f=le(s);return r.set({token:u,expirationTime:f,refreshToken:h}),Promise.resolve(!0)}throw N({code:d.data.error,statusCode:d.data.statusCode,message:d.data.message,error:d.data.errors})}catch(u){throw u}}function K(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||Ue.default,...je(e),userOption:e,next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}var He=G(V());function B(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,tokenCacheObject:r,httpClient:e.httpClient||He.default,...Te(e),next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}function L(e,t){return r=>async o=>{if(typeof e!="string")throw new Error("authorization must be a string");let i=t?.force===void 0?!0:t.force;if(!e||o.headers&&(o.headers.Authorization||o.headers.authorization)&&i===!1)return r(o);let n={...o,headers:{...o.headers,Authorization:e}};return r(n)}}var Ne=G(V());function D(e){let t=e.tokenCache||T({token:"",expirationTime:-1}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,tokenCacheKey:i,httpClient:e.httpClient||Ne.default,...qe(e),userOption:e,next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}function $(e){let t=e.tokenCache||T({token:"",tokenCacheKey:null}),r,o=null,i=A(e);return n=>async a=>{if(a.headers&&(a.headers.Authorization||a.headers.authorization))return n(a);if(r=t.get(i),r&&r.token&&Date.now()<r.expirationTime)return n(m(r.token,a));let l={request:a,tokenCache:t,httpClient:e.httpClient||fetch,...he(e),next:n};return o?await o:(o=E(l),await o,o=null),r=t.get(i),n(m(r.token,a))}}function W(e){return t=>async r=>{let o=await t(r);if(o.statusCode==409){let i=o.error.body?.errors?.[0]?.currentVersion;if(i)return e&&typeof e=="function"?r.body=await e(i,r,o):r.body=typeof r.body=="string"?{...JSON.parse(r.body),version:i}:{...r.body,version:i},t(r)}return o}}function X(e){return t=>r=>{let o={...r,headers:{...r.headers,"X-Correlation-ID":e.generate&&typeof e.generate=="function"?e.generate():se()}};return t(o)}}function xe(e){return t=>async r=>{let o=await t(r);if(o.error){let{error:i}=o;return{...o,statusCode:i.statusCode||0,headers:i.headers||b({}),error:{...i,body:i.data||i}}}return o}}var Ke=G(_e());async function Mt({url:e,httpClient:t,clientOptions:r}){let o,{timeout:i,request:n,abortController:a,maskSensitiveHeaderData:l,includeRequestInErrorResponse:d,includeResponseHeaders:u}=r;try{i&&(o=setTimeout(()=>{a.abort()},i));let s=await v({url:e,...r,httpClient:t,method:r.method,...r.body?{body:r.body}:{}});if(u||(s.headers=null),s.statusCode>=200&&s.statusCode<300)return r.method=="HEAD"?{body:null,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)}:{body:s.data,statusCode:s.statusCode,retryCount:s.retryCount,headers:b(s.headers)};let h=N({message:s?.data?.message||s?.message,statusCode:s.statusCode||s?.data?.statusCode,headers:b(s.headers),method:r.method,body:s.data,retryCount:s.retryCount,...d?{originalRequest:l?I(n):n}:{uri:n.uri}});return{body:s.data,code:s.statusCode,statusCode:s.statusCode,headers:b(s.headers),error:h}}catch(s){let h=u?b(s.response?.headers):null,f=s.response?.status||s.response?.data0||0,M=s.response?.data?.message,c=N({statusCode:f,code:f,status:f,message:M||s.message,headers:h,body:s.response?.data||s,error:s.response?.data,...d?{originalRequest:l?I(n):n}:{uri:n.uri}});throw{body:c,error:c}}finally{clearTimeout(o)}}function Z(e){be(e);let{host:t,credentialsMode:r,httpClient:o,timeout:i,enableRetry:n,retryConfig:a,getAbortController:l,includeOriginalRequest:d,includeRequestInErrorResponse:u=!0,includeResponseHeaders:s=!0,maskSensitiveHeaderData:h,httpClientOptions:f}=e;return M=>async c=>{let g;(i||l)&&(g=(l?l():null)||new Ke.default);let x=t.replace(/\/$/,"")+c.uri,w={...c.headers};Object.prototype.hasOwnProperty.call(w,"Content-Type")||Object.prototype.hasOwnProperty.call(w,"content-type")||(w["Content-Type"]="application/json"),w["Content-Type"]===null&&delete w["Content-Type"];let C=y.HEADERS_CONTENT_TYPES.indexOf(w["Content-Type"])>-1&&typeof c.body=="string"||Y(c.body)?c.body:JSON.stringify(c.body||void 0);C&&(typeof C=="string"||Y(C))&&(w["Content-Length"]=_(C));let R={enableRetry:n,retryConfig:a,request:c,method:c.method,headers:w,includeRequestInErrorResponse:u,maskSensitiveHeaderData:h,includeResponseHeaders:s,...f};r&&(R.credentialsMode=r),g&&(R.signal=g.signal),i&&(R.timeout=i,R.abortController=g),C&&(R.body=C);let p=await Mt({url:x,clientOptions:R,httpClient:o}),O={...c,includeOriginalRequest:d,maskSensitiveHeaderData:h,response:p};return M(O)}}function ee(e){return t=>async r=>{let o=await t(r),i=Object.assign({},o),{loggerFn:n=console.log}=e||{};return n&&typeof n=="function"&&n(o),i}}function te({concurrency:e=20}){let t=0,r=[],o=()=>0>=e?Promise.resolve():new Promise(n=>{let a=()=>{t<e?(t++,n()):r.push(a)};a()}),i=()=>{if(t--,r.length>0){let n=r.shift();n&&n()}};return n=>a=>o().then(()=>{let l={...a,resolve(d){a.resolve(d),i()},reject(d){a.reject(d),i()}};return n(l).finally(()=>{i()})})}var Be={name:"@commercetools/ts-client",version:"2.1.0",engines:{node:">=14"},description:"commercetools Composable Commerce TypeScript SDK client.",keywords:["commercetools","composable commerce","sdk","typescript","client","middleware","http","oauth","auth"],homepage:"https://github.com/commercetools/commercetools-sdk-typescript",license:"MIT",directories:{lib:"lib",test:"test"},publishConfig:{access:"public"},repository:{type:"git",url:"git+https://github.com/commercetools/commercetools-sdk-typescript.git"},bugs:{url:"https://github.com/commercetools/commercetools-sdk-typescript/issues"},dependencies:{"abort-controller":"3.0.0","node-fetch":"^2.6.1"},files:["dist","CHANGELOG.md"],author:"Chukwuemeka Ajima <meeky.ae@gmail.com>",main:"dist/commercetools-ts-client.cjs.js",module:"dist/commercetools-ts-client.esm.js",browser:{"./dist/commercetools-ts-client.cjs.js":"./dist/commercetools-ts-client.browser.cjs.js","./dist/commercetools-ts-client.esm.js":"./dist/commercetools-ts-client.browser.esm.js"},devDependencies:{"common-tags":"1.8.2",dotenv:"16.4.5",jest:"29.7.0",nock:"12.0.3","organize-imports-cli":"0.10.0"},scripts:{organize_imports:"find src -type f -name '*.ts' | xargs organize-imports-cli",postbuild:"yarn organize_imports",post_process_generate:"yarn organize_imports",docs:"typedoc --out docs"}};function re(e){return t=>async r=>{let o=ue({...e,name:`${e.name?e.name+"/":""}commercetools-sdk-javascript-v3/${Be.version}`}),i={...r,headers:{...r.headers,"User-Agent":o}};return t(i)}}function Ct({middlewares:e}){return e.length===1?e[0]:e.slice().reduce((r,o)=>(...i)=>r(o.apply(null,i)))}var Le;function we(e,t,r){if(ce("process",e,{allowedMethods:["GET"]}),typeof t!="function")throw new Error('The "process" function accepts a "Function" as a second argument that returns a Promise. See https://commercetools.github.io/nodejs/sdk/api/sdkClient.html#processrequest-processfn-options');let o={total:Number.POSITIVE_INFINITY,accumulate:!0,...r};return new Promise((i,n)=>{let a,l="";if(e&&e.uri){let[M,c]=e.uri.split("?");a=M,l=c}let u={limit:20,...{...Re(l)}},s=o.total,h=!1,f=async(M,c=[])=>{let g=u.limit<s?u.limit:s,x=de({...u,limit:g}),w={sort:"id asc",withTotal:!1,...M?{where:`id > "${M}"`}:{}},C=de(w),R={...e,uri:`${a}?${C}&${x}`};try{let p=await j(Le).execute(R),{results:O,count:P}=p?.body||{};if(!P&&h)return i(c||[]);let oe=await Promise.resolve(t(p)),U;if(h=!0,o.accumulate&&(U=c.concat(oe||[])),s-=P,P<u.limit||!s)return i(U||[]);let S=O[P-1],Q=S&&S.id;f(Q,U)}catch(p){n(p)}};f()})}function j(e){Le=e,Ae(e);let t=!1,r={async resolve(i){let{response:n,includeOriginalRequest:a,maskSensitiveHeaderData:l,...d}=i,{retryCount:u,...s}=n;return t=l,{body:null,error:null,reject:i.reject,resolve:i.resolve,...s,...a?{originalRequest:d}:{},...n?.retryCount?{retryCount:n.retryCount}:{}}}},o=Ct(e)(r.resolve);return{process:we,execute(i){return ce("exec",i),new Promise(async(n,a)=>{try{let l=await o({reject:a,resolve:n,...i});if(l.error)return a(l.error);l.originalRequest&&t&&(l.originalRequest=I(l.originalRequest)),n(l)}catch(l){a(l)}})}}}var{createAuthMiddlewareForPasswordFlow:Rt,createAuthMiddlewareForAnonymousSessionFlow:bt,createAuthMiddlewareForClientCredentialsFlow:At,createAuthMiddlewareForRefreshTokenFlow:Tt,createAuthMiddlewareForExistingTokenFlow:xt,createCorrelationIdMiddleware:kt,createHttpMiddleware:Et,createLoggerMiddleware:Ot,createQueueMiddleware:Pt,createUserAgentMiddleware:De,createConcurrentModificationMiddleware:St}=ke,z=class{projectKey;authMiddleware;httpMiddleware;userAgentMiddleware;correlationIdMiddleware;loggerMiddleware;queueMiddleware;concurrentMiddleware;telemetryMiddleware;beforeMiddleware;afterMiddleware;middlewares=[];constructor(){this.userAgentMiddleware=De({})}withProjectKey(t){return this.projectKey=t,this}defaultClient(t,r,o,i,n,a){return this.withClientCredentialsFlow({host:o,projectKey:i||this.projectKey,credentials:r,scopes:n}).withHttpMiddleware({host:t,httpClient:a||q.default})}withAuthMiddleware(t){return this.authMiddleware=t,this}withMiddleware(t){return this.middlewares.push(t),this}withClientCredentialsFlow(t){return this.withAuthMiddleware(At({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},oauthUri:t.oauthUri||null,scopes:t.scopes,httpClient:t.httpClient||q.default,...t}))}withPasswordFlow(t){return this.withAuthMiddleware(Rt({host:t.host||y.CTP_AUTH_URL,projectKey:t.projectKey||this.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,user:{username:t.credentials.user.username||null,password:t.credentials.user.password||null}},httpClient:t.httpClient||q.default,...t}))}withAnonymousSessionFlow(t){return this.withAuthMiddleware(bt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null,anonymousId:t.credentials.anonymousId||null},httpClient:t.httpClient||q.default,...t}))}withRefreshTokenFlow(t){return this.withAuthMiddleware(Tt({host:t.host||y.CTP_AUTH_URL,projectKey:this.projectKey||t.projectKey,credentials:{clientId:t.credentials.clientId||null,clientSecret:t.credentials.clientSecret||null},httpClient:t.httpClient||q.default,refreshToken:t.refreshToken||null,...t}))}withExistingTokenFlow(t,r){return this.withAuthMiddleware(xt(t,{force:r.force||!0,...r}))}withHttpMiddleware(t){return this.httpMiddleware=Et({host:t.host||y.CTP_API_URL,httpClient:t.httpClient||q.default,...t}),this}withUserAgentMiddleware(t){return this.userAgentMiddleware=De(t),this}withQueueMiddleware(t){return this.queueMiddleware=Pt({concurrency:t.concurrency||y.CONCURRENCT_REQUEST,...t}),this}withLoggerMiddleware(t){return this.loggerMiddleware=Ot(t),this}withCorrelationIdMiddleware(t){return this.correlationIdMiddleware=kt({generate:t?.generate,...t}),this}withConcurrentModificationMiddleware(t){return this.concurrentMiddleware=St(t?.concurrentModificationHandlerFn),this}withTelemetryMiddleware(t){let{createTelemetryMiddleware:r,...o}=t;return this.withUserAgentMiddleware({customAgent:o?.userAgent||"typescript-sdk-apm-middleware"}),this.telemetryMiddleware=r(o),this}withBeforeExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.beforeMiddleware=t.middleware(o),this}withAfterExecutionMiddleware(t){let{middleware:r,...o}=t||{};return this.afterMiddleware=t.middleware(o),this}build(){let t=this.middlewares.slice();return this.telemetryMiddleware&&t.push(this.telemetryMiddleware),this.correlationIdMiddleware&&t.push(this.correlationIdMiddleware),this.userAgentMiddleware&&t.push(this.userAgentMiddleware),this.authMiddleware&&t.push(this.authMiddleware),this.beforeMiddleware&&t.push(this.beforeMiddleware),this.queueMiddleware&&t.push(this.queueMiddleware),this.loggerMiddleware&&t.push(this.loggerMiddleware),this.concurrentMiddleware&&t.push(this.concurrentMiddleware),this.httpMiddleware&&t.push(this.httpMiddleware),this.afterMiddleware&&t.push(this.afterMiddleware),j({middlewares:t})}};return Ve(Ft);})();

@@ -151,4 +151,2 @@ import AbortController from 'abort-controller'

tokenCache: TokenCache,
// requestState: unknown,
// pendingTasks: Array<Task>,
tokenCacheKey?: TokenCacheOptions,

@@ -155,0 +153,0 @@ tokenCacheObject?: TokenStore

{
"name": "@commercetools/ts-client",
"version": "2.1.0-alpha.1",
"version": "2.1.0",
"engines": {

@@ -39,9 +39,3 @@ "node": ">=14"

},
"files": [
"dist",
"CHANGELOG.md",
"LICENSE",
"README.md",
"package.json"
],
"files": ["dist", "CHANGELOG.md"],
"author": "Chukwuemeka Ajima <meeky.ae@gmail.com>",

@@ -67,2 +61,2 @@ "main": "dist/commercetools-ts-client.cjs.js",

}
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc