@commercelayer/provisioning-sdk 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -5
- package/lib/index.d.mts +6 -6
- package/lib/index.d.ts +6 -6
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -488,11 +488,9 @@ In this case you can define a special function that takes care of refreshing the
|
|
|
488
488
|
|
|
489
489
|
## Need help?
|
|
490
490
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
3. Ping us [on Twitter](https://twitter.com/commercelayer).
|
|
491
|
+
- Join [Commerce Layer's Discord community](https://discord.gg/commercelayer).
|
|
492
|
+
- Ping us on [Bluesky](https://bsky.app/profile/commercelayer.io), [X (formerly Twitter)](https://x.com/commercelayer), or [LinkedIn](https://www.linkedin.com/company/commerce-layer).
|
|
493
|
+
- Is there a bug? Create an [issue](https://github.com/commercelayer/provisioning-sdk/issues) on this repository.
|
|
496
494
|
|
|
497
495
|
## License
|
|
498
496
|
|
package/lib/index.d.mts
CHANGED
|
@@ -173,7 +173,7 @@ declare class ResourceAdapter {
|
|
|
173
173
|
retrieve<R extends Resource>(resource: ResourceId | ResourceType, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig, path?: string): Promise<R>;
|
|
174
174
|
list<R extends Resource>(resource: ResourceType, params?: QueryParamsList<R>, options?: ResourcesConfig): Promise<ListResponse<R>>;
|
|
175
175
|
create<C extends ResourceCreate, R extends Resource>(resource: C & ResourceType, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R>;
|
|
176
|
-
update<U extends ResourceUpdate, R extends Resource>(resource: U & ResourceId, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R>;
|
|
176
|
+
update<U extends ResourceUpdate, R extends Resource>(resource: U & ResourceId, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig, path?: string): Promise<R>;
|
|
177
177
|
delete(resource: ResourceId, options?: ResourcesConfig): Promise<void>;
|
|
178
178
|
fetch<R extends Resource>(resource: string | ResourceType, path: string, params?: QueryParams<R>, options?: ResourcesConfig): Promise<R | ListResponse<R>>;
|
|
179
179
|
action(cmd: Extract<Method, 'POST' | 'PATCH'>, path: string, payload?: any, options?: ResourcesConfig): Promise<void>;
|
|
@@ -967,7 +967,7 @@ declare class ApiCredentials extends ApiResource<ApiCredential> {
|
|
|
967
967
|
type(): ApiCredentialType;
|
|
968
968
|
}
|
|
969
969
|
|
|
970
|
-
type UserType = '
|
|
970
|
+
type UserType = 'user';
|
|
971
971
|
type UserRel = ResourceRel & {
|
|
972
972
|
type: UserType;
|
|
973
973
|
};
|
|
@@ -1031,14 +1031,14 @@ declare class Users extends ApiSingleton<User> {
|
|
|
1031
1031
|
path(): string;
|
|
1032
1032
|
}
|
|
1033
1033
|
|
|
1034
|
-
type ResourceTypeLock = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles' | '
|
|
1034
|
+
type ResourceTypeLock = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles' | 'user' | 'versions';
|
|
1035
1035
|
declare const resourceList: ResourceTypeLock[];
|
|
1036
1036
|
declare const singletonList: ResourceTypeLock[];
|
|
1037
1037
|
type RetrievableResourceType = ResourceTypeLock;
|
|
1038
1038
|
type RetrievableResource = Resource & {
|
|
1039
1039
|
type: RetrievableResourceType;
|
|
1040
1040
|
};
|
|
1041
|
-
type ListableResourceType = Exclude<ResourceTypeLock, '
|
|
1041
|
+
type ListableResourceType = Exclude<ResourceTypeLock, 'user'>;
|
|
1042
1042
|
type ListableResource = Resource & {
|
|
1043
1043
|
type: ListableResourceType;
|
|
1044
1044
|
};
|
|
@@ -1068,7 +1068,7 @@ type ResourceFields = {
|
|
|
1068
1068
|
organizations: Organization;
|
|
1069
1069
|
permissions: Permission;
|
|
1070
1070
|
roles: Role;
|
|
1071
|
-
|
|
1071
|
+
user: User;
|
|
1072
1072
|
versions: Version;
|
|
1073
1073
|
};
|
|
1074
1074
|
type ResourceSortFields = {
|
|
@@ -1078,7 +1078,7 @@ type ResourceSortFields = {
|
|
|
1078
1078
|
organizations: OrganizationSort;
|
|
1079
1079
|
permissions: PermissionSort;
|
|
1080
1080
|
roles: RoleSort;
|
|
1081
|
-
|
|
1081
|
+
user: UserSort;
|
|
1082
1082
|
versions: VersionSort;
|
|
1083
1083
|
};
|
|
1084
1084
|
|
package/lib/index.d.ts
CHANGED
|
@@ -173,7 +173,7 @@ declare class ResourceAdapter {
|
|
|
173
173
|
retrieve<R extends Resource>(resource: ResourceId | ResourceType, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig, path?: string): Promise<R>;
|
|
174
174
|
list<R extends Resource>(resource: ResourceType, params?: QueryParamsList<R>, options?: ResourcesConfig): Promise<ListResponse<R>>;
|
|
175
175
|
create<C extends ResourceCreate, R extends Resource>(resource: C & ResourceType, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R>;
|
|
176
|
-
update<U extends ResourceUpdate, R extends Resource>(resource: U & ResourceId, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R>;
|
|
176
|
+
update<U extends ResourceUpdate, R extends Resource>(resource: U & ResourceId, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig, path?: string): Promise<R>;
|
|
177
177
|
delete(resource: ResourceId, options?: ResourcesConfig): Promise<void>;
|
|
178
178
|
fetch<R extends Resource>(resource: string | ResourceType, path: string, params?: QueryParams<R>, options?: ResourcesConfig): Promise<R | ListResponse<R>>;
|
|
179
179
|
action(cmd: Extract<Method, 'POST' | 'PATCH'>, path: string, payload?: any, options?: ResourcesConfig): Promise<void>;
|
|
@@ -967,7 +967,7 @@ declare class ApiCredentials extends ApiResource<ApiCredential> {
|
|
|
967
967
|
type(): ApiCredentialType;
|
|
968
968
|
}
|
|
969
969
|
|
|
970
|
-
type UserType = '
|
|
970
|
+
type UserType = 'user';
|
|
971
971
|
type UserRel = ResourceRel & {
|
|
972
972
|
type: UserType;
|
|
973
973
|
};
|
|
@@ -1031,14 +1031,14 @@ declare class Users extends ApiSingleton<User> {
|
|
|
1031
1031
|
path(): string;
|
|
1032
1032
|
}
|
|
1033
1033
|
|
|
1034
|
-
type ResourceTypeLock = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles' | '
|
|
1034
|
+
type ResourceTypeLock = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles' | 'user' | 'versions';
|
|
1035
1035
|
declare const resourceList: ResourceTypeLock[];
|
|
1036
1036
|
declare const singletonList: ResourceTypeLock[];
|
|
1037
1037
|
type RetrievableResourceType = ResourceTypeLock;
|
|
1038
1038
|
type RetrievableResource = Resource & {
|
|
1039
1039
|
type: RetrievableResourceType;
|
|
1040
1040
|
};
|
|
1041
|
-
type ListableResourceType = Exclude<ResourceTypeLock, '
|
|
1041
|
+
type ListableResourceType = Exclude<ResourceTypeLock, 'user'>;
|
|
1042
1042
|
type ListableResource = Resource & {
|
|
1043
1043
|
type: ListableResourceType;
|
|
1044
1044
|
};
|
|
@@ -1068,7 +1068,7 @@ type ResourceFields = {
|
|
|
1068
1068
|
organizations: Organization;
|
|
1069
1069
|
permissions: Permission;
|
|
1070
1070
|
roles: Role;
|
|
1071
|
-
|
|
1071
|
+
user: User;
|
|
1072
1072
|
versions: Version;
|
|
1073
1073
|
};
|
|
1074
1074
|
type ResourceSortFields = {
|
|
@@ -1078,7 +1078,7 @@ type ResourceSortFields = {
|
|
|
1078
1078
|
organizations: OrganizationSort;
|
|
1079
1079
|
permissions: PermissionSort;
|
|
1080
1080
|
roles: RoleSort;
|
|
1081
|
-
|
|
1081
|
+
user: UserSort;
|
|
1082
1082
|
versions: VersionSort;
|
|
1083
1083
|
};
|
|
1084
1084
|
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var de=Object.defineProperty;var or=Object.getOwnPropertyDescriptor;var nr=Object.getOwnPropertyNames;var ar=Object.prototype.hasOwnProperty;var Je=t=>{throw TypeError(t)};var pr=(t,e)=>{for(var r in e)de(t,r,{get:e[r],enumerable:!0})},cr=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of nr(e))!ar.call(t,i)&&i!==r&&de(t,i,{get:()=>e[i],enumerable:!(s=or(e,i))||s.enumerable});return t};var ur=t=>cr(de({},"__esModule",{value:!0}),t);var We=(t,e,r)=>e.has(t)||Je("Cannot "+r);var n=(t,e,r)=>(We(t,e,"read from private field"),r?r.call(t):e.get(t)),u=(t,e,r)=>e.has(t)?Je("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),c=(t,e,r,s)=>(We(t,e,"write to private field"),s?s.call(t,r):e.set(t,r),r);var Cr={};pr(Cr,{CommerceLayerProvisioning:()=>De,CommerceLayerProvisioningStatic:()=>P,default:()=>ue});module.exports=ur(Cr);var lr=(t,...e)=>{},Be=t=>lr;try{let t=require("debug");t&&typeof t=="function"&&(Be=t)}catch{}var mr="clsdk",yr=t=>Be(`${mr}:${t}`),h=yr;var ge=h("fetch"),V,D,Y,oe=class oe extends Error{constructor(r,s,i){super(s);u(this,V);u(this,D);u(this,Y);c(this,D,r),c(this,Y,s),i&&c(this,V,i.errors)}get errors(){return n(this,V)}get status(){return n(this,D)}get statusText(){return n(this,Y)}};V=new WeakMap,D=new WeakMap,Y=new WeakMap,oe.isFetchError=r=>r instanceof oe;var $=oe,he=async(t,e,r)=>{ge("fetch: %s, %O, native[%s]",t,e||{},r?.fetch?"no":"yes");let s=r?.interceptors;s?.request?.onSuccess&&({url:t,options:e}=await s.request.onSuccess({url:t,options:e}));let o=await(r?.fetch||fetch)(t,e);o.ok?(s?.rawReader?.onSuccess&&await s.rawReader.onSuccess(o),s?.response?.onSuccess&&(o=await s.response.onSuccess(o))):s?.rawReader?.onFailure&&await s.rawReader.onFailure(o);let p=o.body&&o.status!==204?await o.text().then(a=>(ge("response: %O",a),a?.trim()?JSON.parse(a):a)).catch(a=>{if(ge("error: %s",a.message),o.ok)throw new m({message:"Error parsing API response body",type:"parse"})}):void 0;if(!o.ok){let a=new $(o.status,o.statusText,p);if(s?.response?.onFailure&&(a=await s.response.onFailure(a)),a)throw a}return p};var k=(a=>(a.CLIENT="client",a.REQUEST="request",a.RESPONSE="response",a.CANCEL="cancel",a.PARSE="parse",a.TIMEOUT="timeout",a.TOKEN_REFRESH="token-refresh",a))(k||{}),H=class H extends Error{static isSdkError(e){return e&&[H.NAME,O.NAME].includes(e.name)&&Object.values(k).includes(e.type)}constructor(e){super(e.message),this.name=H.NAME,this.type=e.type||"client"}};H.NAME="SdkError";var m=H,J=class J extends m{constructor(r){super({...r,type:"response"});this.errors=[];this.name=J.NAME}static isApiError(r){return m.isSdkError(r)&&r.name===J.NAME&&r.type==="response"}first(){return this.errors?.length>0?this.errors[0]:void 0}};J.NAME="ApiError";var O=J,Rr=t=>t instanceof TypeError,dr=t=>t instanceof DOMException&&t.name==="AbortError",gr=t=>t instanceof DOMException&&t.name==="TimeoutError",Ke=t=>O.isApiError(t)&&t.status===401&&(["INVALID_TOKEN","UNAUTHORIZED"].includes(t.code||"")||t.errors&&t.errors.length>0&&["INVALID_TOKEN","UNAUTHORIZED"].includes(t.errors[0].code)),fe=t=>{if(m.isSdkError(t)||O.isApiError(t))throw t;let e=new m({message:t.message});if($.isFetchError(t)){let r=new O(e);r.type="response",r.status=t.status,r.statusText=t.statusText,r.code=String(r.status),r.errors=t.errors||[],!r.message&&r.statusText&&(r.message=r.statusText),e=r}else Rr(t)?e.type="request":dr(t)?e.type="cancel":gr(t)?e.type="timeout":(e.type="client",e.source=t);throw e};var hr={default:{domain:"commercelayer.io",pageNumber:1,pageSize:10},client:{timeout:15e3,requiredAttributes:["accessToken"]},jsonapi:{maxResourceIncluded:2}},f=hr;var Ge=t=>{try{return JSON.parse(atob(t.split(".")[1])).exp*1e3-Date.now()<0}catch{return!1}};var T=h("client"),be=t=>`https://provisioning.${t||f.default.domain}/api`,w,b,d,W,Ce=class Ce{constructor(e){u(this,w);u(this,b);u(this,d);u(this,W);T("new client instance %O",e),c(this,w,be(e.domain)),c(this,b,e.accessToken);let r={timeout:e.timeout||f.client.timeout,fetch:e.fetch,refreshToken:e.refreshToken},i={...this.customHeaders(e.headers),Accept:"application/vnd.api+json","Content-Type":"application/vnd.api+json",Authorization:"Bearer "+n(this,b)};e.userAgent&&(i["User-Agent"]=e.userAgent),r.headers=i,c(this,d,r),T("fetch config: %O",r),c(this,W,{})}static create(e){for(let r of f.client.requiredAttributes)if(!e||!e[r])throw new m({message:`Undefined '${r}' parameter`});return new Ce(e)}get interceptors(){return n(this,W)}get requestHeaders(){return n(this,d).headers||(n(this,d).headers={}),n(this,d).headers}config(e){T("config %o",e);let r=n(this,d);return r.headers||(r.headers={}),e.timeout&&(r.timeout=e.timeout),e.userAgent&&this.userAgent(e.userAgent),e.fetch&&(n(this,d).fetch=e.fetch),e.refreshToken&&(n(this,d).refreshToken=e.refreshToken),e.domain&&c(this,w,be(e.domain)),e.accessToken&&(c(this,b,e.accessToken),r.headers.Authorization="Bearer "+n(this,b)),e.headers&&(r.headers={...r.headers,...this.customHeaders(e.headers)}),this}userAgent(e){return e&&(this.requestHeaders["User-Agent"]=e),this}async request(e,r,s,i){T("request %s %s, %O, %O",e,r,s||{},i||{}),i?.userAgent&&T("User-Agent header ignored in request config");let o=i?.domain?be(i.domain):n(this,w),p=new URL(`${o}/${r}`),a=s?JSON.stringify({data:s}):void 0,C={...this.requestHeaders,...this.customHeaders(i?.headers)},v=i?.accessToken||n(this,b);v&&(C.Authorization="Bearer "+v);let q={method:e,body:a,headers:C},Ye=i?.timeout||n(this,d).timeout;Ye&&(AbortSignal?.timeout?q.signal=AbortSignal.timeout(Ye):T("Timeout not set. Undefined function: %s","AbortSignal.timeout")),i?.params&&Object.entries(i?.params).forEach(([L,F])=>{p.searchParams.append(L,String(F))});let He={interceptors:this.interceptors,fetch:i?.fetch||n(this,d).fetch};try{return await he(p,q,He).catch(L=>fe(L))}catch(L){if(Ke(L)&&n(this,d).refreshToken&&Ge(n(this,b))){T("Access token has expired");let F=await n(this,d).refreshToken(n(this,b)).catch(Re=>{T("Refresh token error: %s",Re.message);let ie=new m({message:"Error refreshing access token",type:"token-refresh"});throw ie.source=Re,ie});if(F)return T("Access token refreshed"),this.config({accessToken:F}),q.headers&&(q.headers.Authorization=`Bearer ${F}`),await he(p,q,He).catch(ie=>fe(ie))}else throw L}}customHeaders(e){let r={};if(e)for(let[s,i]of Object.entries(e))["accept","content-type","authorization","user-agent"].includes(s.toLowerCase())||(r[s]=i);return r}get currentAccessToken(){return n(this,b)}};w=new WeakMap,b=new WeakMap,d=new WeakMap,W=new WeakMap;var Pe=Ce,Ze=Pe;var I=t=>t?.type&&t.id&&Q.includes(t.type),Te=t=>t&&typeof t.type<"u"&&t.type&&Q.includes(t.type);var ne=h("jsonapi"),M=t=>{let e;t.links&&delete t.links;let r=t.data,s=t.included;return r?Array.isArray(r)?e=r.map(i=>ae(i,s)):e=ae(r,s):e=r,e},Xe=(t,e=[])=>e.find(s=>t.id===s.id&&t.type===s.type)||t,ae=(t,e,r=[])=>{if(ne("denormalize resource: %O, %o",t,e||{}),!t)return t;let s={id:t.id,type:t.type,...t.attributes};return t.relationships&&Object.keys(t.relationships).forEach(i=>{let o=t.relationships[i].data;o?r.filter(p=>p.id===o.id&&p.type===o.type).length>=f.jsonapi.maxResourceIncluded?s[i]=o:Array.isArray(o)?s[i]=o.map(p=>ae(Xe(p,e),e,[...r,p])):s[i]=ae(Xe(o,e),e,[...r,o]):o===null&&(s[i]=null)}),ne("denormalized resource: %O",s),s},pe=t=>{ne("normalize resource: %O",t);let e={},r={};for(let i in t){if(["type","id"].includes(i))continue;let o=t[i];Array.isArray(o)&&o.length===1&&Te(o[0])&&o[0].id===null?r[i]={data:[]}:o&&Te(o)&&o.id===null?r[i]={data:null}:o&&(I(o)||Array.isArray(o)&&I(o[0]))?r[i]={data:o}:e[i]=o}let s={type:t.type,attributes:e,relationships:r};return I(t)&&(s.id=t.id),ne("normalized resource: %O",s),s};var er=h("query"),rr=["_any","_all","_in","_not_in_or_null"],fr=t=>rr.some(e=>t.endsWith(e)),sr=["_jcont"],br=t=>sr.some(e=>t.endsWith(e)),Ae=t=>t&&(t.filters||t.pageNumber||t.pageSize||t.sort),U=(t,e)=>{er("generate query string params: %O, %O",t,e);let r={};return t&&(t.include&&(r.include=t.include.join(",")),t.fields&&(Array.isArray(t.fields)&&(t.fields={[e.type||e]:t.fields}),Object.entries(t.fields).forEach(([s,i])=>{r[`fields[${s}]`]=i.join(",")})),Ae(t)&&(t.sort&&(Array.isArray(t.sort)?r.sort=t.sort.join(","):r.sort=Object.entries(t.sort).map(([s,i])=>`${i==="desc"?"-":""}${s}`).join(",")),t.pageNumber&&(r["page[number]"]=String(t.pageNumber)),t.pageSize&&(r["page[size]"]=String(t.pageSize)),t.filters&&Object.entries(t.filters).forEach(([s,i])=>{let o;if(Array.isArray(i)){if(!fr(s))throw new m({message:`Incorrect filter [${s}]: Array value is supported only for the following filters: ${rr.join(", ")}`,type:"request"});o=i.join(",")}else if(typeof i=="object"){if(!br(s))throw new m({message:`Incorrect filter [${s}]: Object value is supported only for the following filters: ${sr.join(", ")}`,type:"request"});o=JSON.stringify(i)}else o=String(i);r[`filter[q][${s}]`]=o})),er("query string params: %O",r)),r};var P={resources:t=>t?[...Q].sort():Q,singletons:t=>t?[...ce].sort():ce,isSingleton:t=>ce.includes(t),isSdkError:t=>m.isSdkError(t),isApiError:t=>O.isApiError(t),init:t=>ue(t),get schemaVersion(){return Oe}};var A=h("resource"),le=class extends Array{constructor(e,r){super(...r||[]),this.meta=e}first(){return this.length?this[0]:void 0}last(){return this.length?this[this.length-1]:void 0}get(e){return this.length&&e>=0?this[e]:void 0}hasNextPage(){return this.meta.currentPage<this.meta.pageCount}hasPrevPage(){return this.meta.currentPage>1}getRecordCount(){return this.meta.recordCount}getPageCount(){return this.meta.pageCount}get recordCount(){return this.meta.recordCount}get pageCount(){return this.meta.pageCount}};var g,_e,xe=class{constructor(e){u(this,g);u(this,_e,{});c(this,g,Ze.create(e)),this.localConfig(e)}localConfig(e){}config(e){return A("config %o",e),this.localConfig(e),n(this,g).config(e),this}get client(){return n(this,g)}async retrieve(e,r,s,i){let o=!("id"in e)||P.isSingleton(e.type);A("retrieve:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=U(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,C=await n(this,g).request("GET",a,void 0,{...s,params:p});return M(C)}async list(e,r,s){A("list: %o, %O, %O",e,r||{},s||{});let i=U(r,e);s?.params&&Object.assign(i,s?.params);let o=await n(this,g).request("GET",`${e.type}`,void 0,{...s,params:i}),p=M(o),a={pageCount:Number(o.meta?.page_count),recordCount:Number(o.meta?.record_count),currentPage:r?.pageNumber||f.default.pageNumber,recordsPerPage:r?.pageSize||f.default.pageSize};return new le(a,p)}async create(e,r,s){A("create: %o, %O, %O",e,r||{},s||{});let i=U(r,e);s?.params&&Object.assign(i,s?.params);let o=pe(e),p=await n(this,g).request("POST",e.type,o,{...s,params:i});return M(p)}async update(e,r,s){let i=!("id"in e)||P.isSingleton(e.type);A("update:%s %o, %O, %O",i?" singleton,":"",e,r||{},s||{});let o=U(r,e);s?.params&&Object.assign(o,s?.params);let p=`${e.type}${i?"":`/${e.id}`}`,a=pe(e),C=await n(this,g).request("PATCH",p,a,{...s,params:o});return M(C)}async delete(e,r){A("delete: %o, %O",e,r||{}),await n(this,g).request("DELETE",`${e.type}/${e.id}`,void 0,r)}async fetch(e,r,s,i){A("fetch: %o, %O, %O",r,s||{},i||{});let o=U(s,e);i?.params&&Object.assign(o,i?.params);let p=await n(this,g).request("GET",r,void 0,{...i,params:o}),a=M(p);if(Array.isArray(a)){let C=s,v={pageCount:Number(p.meta?.page_count),recordCount:Number(p.meta?.record_count),currentPage:C?.pageNumber||f.default.pageNumber,recordsPerPage:C?.pageSize||f.default.pageSize};return new le(v,a)}else return a}async action(e,r,s,i){A("action: %o %o, %O",e,r,i||{});let o={};i?.params&&Object.assign(o,i?.params);let p=s&&I(s)?pe(s):s;await n(this,g).request(e,r,p,{...i,params:o})}};g=new WeakMap,_e=new WeakMap;var me=class{constructor(e){A("new resource instance: %s",this.type()),this.resources=e}relationshipOneToOne(e){return e===null||typeof e=="string"?{id:e,type:this.type()}:{id:e.id,type:this.type()}}relationshipOneToMany(...e){return e===null||e.length===0||e[0]===null?[{id:null,type:this.type()}]:e.map(r=>({id:r,type:this.type()}))}path(){return this.type()}parse(e){try{let r=JSON.parse(e);if(r.data?.type!==this.type())throw new m({message:`Invalid resource type [${r.data?.type}]`,type:"parse"});return M(r)}catch(r){throw m.isSdkError(r)?r:new m({message:`Payload parse error [${r.message}]`,type:"parse"})}}async update(e,r,s){return this.resources.update({...e,type:this.type()},r,s)}},y=class extends me{async retrieve(e,r,s){return this.resources.retrieve(typeof e=="string"?{type:this.type(),id:e}:e,r,s)}async list(e,r){return this.resources.list({type:this.type()},e,r)}async count(e,r){let s={filters:Ae(e)?e.filters:e,pageNumber:1,pageSize:1},i=await this.list(s,r);return Promise.resolve(i.meta.recordCount)}},ye=class extends me{async retrieve(e,r){return this.resources.retrieve({type:this.type()},e,r,this.path())}},tr=xe;var x=class x extends y{async create(e,r,s){return this.resources.create({...e,type:x.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:x.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:x.TYPE}:e,r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`api_credentials/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`api_credentials/${i}/role`,r,s)}isApiCredential(e){return e.type&&e.type===x.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return x.TYPE}};x.TYPE="api_credentials";var Ee=x,Me=Ee;var _=class _ extends y{async create(e,r,s){return this.resources.create({...e,type:_.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:_.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:_.TYPE}:e,r)}async api_credential(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`application_memberships/${i}/api_credential`,r,s)}async membership(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`application_memberships/${i}/membership`,r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`application_memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`application_memberships/${i}/role`,r,s)}isApplicationMembership(e){return e.type&&e.type===_.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return _.TYPE}};_.TYPE="application_memberships";var ze=_,Ne=ze;var E=class E extends y{async create(e,r,s){return this.resources.create({...e,type:E.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:E.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:E.TYPE}:e,r)}async resend(e,r){let s=e.id||e;await this.resources.action("POST",`memberships/${s}/resend`,{},r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`memberships/${i}/role`,r,s)}async application_memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`memberships/${i}/application_memberships`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`memberships/${i}/versions`,r,s)}isMembership(e){return e.type&&e.type===E.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return E.TYPE}};E.TYPE="memberships";var Se=E,ve=Se;var z=class z extends y{async create(e,r,s){return this.resources.create({...e,type:z.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:z.TYPE},r,s)}async transfer_ownership(e,r,s){let i=e.id||e;await this.resources.action("PATCH",`organizations/${i}/transfer_ownership`,{...r},s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`organizations/${i}/memberships`,r,s)}async roles(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`organizations/${i}/roles`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`organizations/${i}/permissions`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`organizations/${i}/api_credentials`,r,s)}isOrganization(e){return e.type&&e.type===z.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return z.TYPE}};z.TYPE="organizations";var Le=z,ke=Le;var N=class N extends y{async create(e,r,s){return this.resources.create({...e,type:N.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:N.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`permissions/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`permissions/${i}/role`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`permissions/${i}/versions`,r,s)}isPermission(e){return e.type&&e.type===N.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return N.TYPE}};N.TYPE="permissions";var we=N,Ie=we;var S=class S extends y{async create(e,r,s){return this.resources.create({...e,type:S.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:S.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`roles/${i}/organization`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`roles/${i}/permissions`,r,s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`roles/${i}/memberships`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`roles/${i}/api_credentials`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`roles/${i}/versions`,r,s)}isRole(e){return e.type&&e.type===S.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return S.TYPE}};S.TYPE="roles";var Qe=S,Ue=Qe;var j=class j extends ye{async update(e,r,s){let i=await this.retrieve(r,s);return this.resources.update({...e,id:i.id,type:j.TYPE},r,s)}isUser(e){return e.type&&e.type===j.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return j.TYPE}path(){return"user"}};j.TYPE="users";var je=j,qe=je;var B=class B extends y{isVersion(e){return e.type&&e.type===B.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return B.TYPE}};B.TYPE="versions";var Fe=B,$e=Fe;var Q=["api_credentials","application_memberships","memberships","organizations","permissions","roles","users","versions"],ce=["users"];var ir=h("commercelayer"),Oe="1.0.5";var R,K,G,Z,X,ee,re,se,te,Ve=class{constructor(e){this.openApiSchemaVersion=Oe;u(this,R);u(this,K);u(this,G);u(this,Z);u(this,X);u(this,ee);u(this,re);u(this,se);u(this,te);ir("new commercelayer provisioning instance %O",e),c(this,R,new tr(e))}get api_credentials(){return n(this,K)||c(this,K,new Me(n(this,R)))}get application_memberships(){return n(this,G)||c(this,G,new Ne(n(this,R)))}get memberships(){return n(this,Z)||c(this,Z,new ve(n(this,R)))}get organizations(){return n(this,X)||c(this,X,new ke(n(this,R)))}get permissions(){return n(this,ee)||c(this,ee,new Ie(n(this,R)))}get roles(){return n(this,re)||c(this,re,new Ue(n(this,R)))}get user(){return n(this,se)||c(this,se,new qe(n(this,R)))}get versions(){return n(this,te)||c(this,te,new $e(n(this,R)))}get currentAccessToken(){return n(this,R)?.client?.currentAccessToken}get interceptors(){return n(this,R).client.interceptors}localConfig(e){}config(e){return ir("config %o",e),this.localConfig(e),n(this,R).config(e),this}resources(){return P.resources()}singletons(){return P.singletons()}isSingleton(e){return P.isSingleton(e)}isApiError(e){return P.isApiError(e)}addRequestInterceptor(e,r){return this.interceptors.request={onSuccess:e,onFailure:r},1}addResponseInterceptor(e,r){return this.interceptors.response={onSuccess:e,onFailure:r},1}removeInterceptor(e,r=1){this.interceptors[e]=void 0}removeInterceptors(){this.removeInterceptor("request"),this.removeInterceptor("response"),this.removeRawResponseReader()}addRawResponseReader(e){let r={id:0,rawResponse:void 0,headers:void 0,ok:!0};async function s(i){if(r.rawResponse=await i?.clone().json().catch(()=>{}),r.ok=i.ok,e?.headers){let o={};i.headers.forEach((p,a)=>{o[a]=p}),r.headers=o}return i}return this.interceptors.rawReader={onSuccess:s,onFailure:s},r.id=1,r}removeRawResponseReader(){this.interceptors.rawReader=void 0}};R=new WeakMap,K=new WeakMap,G=new WeakMap,Z=new WeakMap,X=new WeakMap,ee=new WeakMap,re=new WeakMap,se=new WeakMap,te=new WeakMap;var De=t=>new Ve(t),ue=De;0&&(module.exports={CommerceLayerProvisioning,CommerceLayerProvisioningStatic});
|
|
1
|
+
"use strict";var de=Object.defineProperty;var or=Object.getOwnPropertyDescriptor;var nr=Object.getOwnPropertyNames;var ar=Object.prototype.hasOwnProperty;var Je=t=>{throw TypeError(t)};var pr=(t,e)=>{for(var r in e)de(t,r,{get:e[r],enumerable:!0})},cr=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of nr(e))!ar.call(t,i)&&i!==r&&de(t,i,{get:()=>e[i],enumerable:!(s=or(e,i))||s.enumerable});return t};var ur=t=>cr(de({},"__esModule",{value:!0}),t);var We=(t,e,r)=>e.has(t)||Je("Cannot "+r);var n=(t,e,r)=>(We(t,e,"read from private field"),r?r.call(t):e.get(t)),u=(t,e,r)=>e.has(t)?Je("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),c=(t,e,r,s)=>(We(t,e,"write to private field"),s?s.call(t,r):e.set(t,r),r);var Cr={};pr(Cr,{CommerceLayerProvisioning:()=>De,CommerceLayerProvisioningStatic:()=>P,default:()=>ue});module.exports=ur(Cr);var lr=(t,...e)=>{},Be=t=>lr;try{let t=require("debug");t&&typeof t=="function"&&(Be=t)}catch{}var mr="clsdk",yr=t=>Be(`${mr}:${t}`),h=yr;var ge=h("fetch"),V,D,Y,oe=class oe extends Error{constructor(r,s,i){super(s);u(this,V);u(this,D);u(this,Y);c(this,D,r),c(this,Y,s),i&&c(this,V,i.errors)}get errors(){return n(this,V)}get status(){return n(this,D)}get statusText(){return n(this,Y)}};V=new WeakMap,D=new WeakMap,Y=new WeakMap,oe.isFetchError=r=>r instanceof oe;var $=oe,he=async(t,e,r)=>{ge("fetch: %s, %O, native[%s]",t,e||{},r?.fetch?"no":"yes");let s=r?.interceptors;s?.request?.onSuccess&&({url:t,options:e}=await s.request.onSuccess({url:t,options:e}));let o=await(r?.fetch||fetch)(t,e);o.ok?(s?.rawReader?.onSuccess&&await s.rawReader.onSuccess(o),s?.response?.onSuccess&&(o=await s.response.onSuccess(o))):s?.rawReader?.onFailure&&await s.rawReader.onFailure(o);let p=o.body&&o.status!==204?await o.text().then(a=>(ge("response: %O",a),a?.trim()?JSON.parse(a):a)).catch(a=>{if(ge("error: %s",a.message),o.ok)throw new m({message:"Error parsing API response body",type:"parse"})}):void 0;if(!o.ok){let a=new $(o.status,o.statusText,p);if(s?.response?.onFailure&&(a=await s.response.onFailure(a)),a)throw a}return p};var w=(a=>(a.CLIENT="client",a.REQUEST="request",a.RESPONSE="response",a.CANCEL="cancel",a.PARSE="parse",a.TIMEOUT="timeout",a.TOKEN_REFRESH="token-refresh",a))(w||{}),H=class H extends Error{static isSdkError(e){return e&&[H.NAME,O.NAME].includes(e.name)&&Object.values(w).includes(e.type)}constructor(e){super(e.message),this.name=H.NAME,this.type=e.type||"client"}};H.NAME="SdkError";var m=H,J=class J extends m{constructor(r){super({...r,type:"response"});this.errors=[];this.name=J.NAME}static isApiError(r){return m.isSdkError(r)&&r.name===J.NAME&&r.type==="response"}first(){return this.errors?.length>0?this.errors[0]:void 0}};J.NAME="ApiError";var O=J,Rr=t=>t instanceof TypeError,dr=t=>t instanceof DOMException&&t.name==="AbortError",gr=t=>t instanceof DOMException&&t.name==="TimeoutError",Ke=t=>O.isApiError(t)&&t.status===401&&(["INVALID_TOKEN","UNAUTHORIZED"].includes(t.code||"")||t.errors&&t.errors.length>0&&["INVALID_TOKEN","UNAUTHORIZED"].includes(t.errors[0].code)),fe=t=>{if(m.isSdkError(t)||O.isApiError(t))throw t;let e=new m({message:t.message});if($.isFetchError(t)){let r=new O(e);r.type="response",r.status=t.status,r.statusText=t.statusText,r.code=String(r.status),r.errors=t.errors||[],!r.message&&r.statusText&&(r.message=r.statusText),e=r}else Rr(t)?e.type="request":dr(t)?e.type="cancel":gr(t)?e.type="timeout":(e.type="client",e.source=t);throw e};var hr={default:{domain:"commercelayer.io",pageNumber:1,pageSize:10},client:{timeout:15e3,requiredAttributes:["accessToken"]},jsonapi:{maxResourceIncluded:2}},f=hr;var Ge=t=>{try{return JSON.parse(atob(t.split(".")[1])).exp*1e3-Date.now()<0}catch{return!1}};var T=h("client"),be=t=>`https://provisioning.${t||f.default.domain}/api`,I,b,d,W,Ce=class Ce{constructor(e){u(this,I);u(this,b);u(this,d);u(this,W);T("new client instance %O",e),c(this,I,be(e.domain)),c(this,b,e.accessToken);let r={timeout:e.timeout||f.client.timeout,fetch:e.fetch,refreshToken:e.refreshToken},i={...this.customHeaders(e.headers),Accept:"application/vnd.api+json","Content-Type":"application/vnd.api+json",Authorization:"Bearer "+n(this,b)};e.userAgent&&(i["User-Agent"]=e.userAgent),r.headers=i,c(this,d,r),T("fetch config: %O",r),c(this,W,{})}static create(e){for(let r of f.client.requiredAttributes)if(!e||!e[r])throw new m({message:`Undefined '${r}' parameter`});return new Ce(e)}get interceptors(){return n(this,W)}get requestHeaders(){return n(this,d).headers||(n(this,d).headers={}),n(this,d).headers}config(e){T("config %o",e);let r=n(this,d);return r.headers||(r.headers={}),e.timeout&&(r.timeout=e.timeout),e.userAgent&&this.userAgent(e.userAgent),e.fetch&&(n(this,d).fetch=e.fetch),e.refreshToken&&(n(this,d).refreshToken=e.refreshToken),e.domain&&c(this,I,be(e.domain)),e.accessToken&&(c(this,b,e.accessToken),r.headers.Authorization="Bearer "+n(this,b)),e.headers&&(r.headers={...r.headers,...this.customHeaders(e.headers)}),this}userAgent(e){return e&&(this.requestHeaders["User-Agent"]=e),this}async request(e,r,s,i){T("request %s %s, %O, %O",e,r,s||{},i||{}),i?.userAgent&&T("User-Agent header ignored in request config");let o=i?.domain?be(i.domain):n(this,I),p=new URL(`${o}/${r}`),a=s?JSON.stringify({data:s}):void 0,C={...this.requestHeaders,...this.customHeaders(i?.headers)},M=i?.accessToken||n(this,b);M&&(C.Authorization="Bearer "+M);let L={method:e,body:a,headers:C},Ye=i?.timeout||n(this,d).timeout;Ye&&(AbortSignal?.timeout?L.signal=AbortSignal.timeout(Ye):T("Timeout not set. Undefined function: %s","AbortSignal.timeout")),i?.params&&Object.entries(i?.params).forEach(([k,F])=>{p.searchParams.append(k,String(F))});let He={interceptors:this.interceptors,fetch:i?.fetch||n(this,d).fetch};try{return await he(p,L,He).catch(k=>fe(k))}catch(k){if(Ke(k)&&n(this,d).refreshToken&&Ge(n(this,b))){T("Access token has expired");let F=await n(this,d).refreshToken(n(this,b)).catch(Re=>{T("Refresh token error: %s",Re.message);let ie=new m({message:"Error refreshing access token",type:"token-refresh"});throw ie.source=Re,ie});if(F)return T("Access token refreshed"),this.config({accessToken:F}),L.headers&&(L.headers.Authorization=`Bearer ${F}`),await he(p,L,He).catch(ie=>fe(ie))}else throw k}}customHeaders(e){let r={};if(e)for(let[s,i]of Object.entries(e))["accept","content-type","authorization","user-agent"].includes(s.toLowerCase())||(r[s]=i);return r}get currentAccessToken(){return n(this,b)}};I=new WeakMap,b=new WeakMap,d=new WeakMap,W=new WeakMap;var Pe=Ce,Ze=Pe;var Q=t=>t?.type&&t.id&&U.includes(t.type),Te=t=>t&&typeof t.type<"u"&&t.type&&U.includes(t.type);var ne=h("jsonapi"),z=t=>{let e;t.links&&delete t.links;let r=t.data,s=t.included;return r?Array.isArray(r)?e=r.map(i=>ae(i,s)):e=ae(r,s):e=r,e},Xe=(t,e=[])=>e.find(s=>t.id===s.id&&t.type===s.type)||t,ae=(t,e,r=[])=>{if(ne("denormalize resource: %O, %o",t,e||{}),!t)return t;let s={id:t.id,type:t.type,...t.attributes};return t.relationships&&Object.keys(t.relationships).forEach(i=>{let o=t.relationships[i].data;o?r.filter(p=>p.id===o.id&&p.type===o.type).length>=f.jsonapi.maxResourceIncluded?s[i]=o:Array.isArray(o)?s[i]=o.map(p=>ae(Xe(p,e),e,[...r,p])):s[i]=ae(Xe(o,e),e,[...r,o]):o===null&&(s[i]=null)}),ne("denormalized resource: %O",s),s},pe=t=>{ne("normalize resource: %O",t);let e={},r={};for(let i in t){if(["type","id"].includes(i))continue;let o=t[i];Array.isArray(o)&&o.length===1&&Te(o[0])&&o[0].id===null?r[i]={data:[]}:o&&Te(o)&&o.id===null?r[i]={data:null}:o&&(Q(o)||Array.isArray(o)&&Q(o[0]))?r[i]={data:o}:e[i]=o}let s={type:t.type,attributes:e,relationships:r};return Q(t)&&(s.id=t.id),ne("normalized resource: %O",s),s};var er=h("query"),rr=["_any","_all","_in","_not_in_or_null"],fr=t=>rr.some(e=>t.endsWith(e)),sr=["_jcont"],br=t=>sr.some(e=>t.endsWith(e)),Ae=t=>t&&(t.filters||t.pageNumber||t.pageSize||t.sort),j=(t,e)=>{er("generate query string params: %O, %O",t,e);let r={};return t&&(t.include&&(r.include=t.include.join(",")),t.fields&&(Array.isArray(t.fields)&&(t.fields={[e.type||e]:t.fields}),Object.entries(t.fields).forEach(([s,i])=>{r[`fields[${s}]`]=i.join(",")})),Ae(t)&&(t.sort&&(Array.isArray(t.sort)?r.sort=t.sort.join(","):r.sort=Object.entries(t.sort).map(([s,i])=>`${i==="desc"?"-":""}${s}`).join(",")),t.pageNumber&&(r["page[number]"]=String(t.pageNumber)),t.pageSize&&(r["page[size]"]=String(t.pageSize)),t.filters&&Object.entries(t.filters).forEach(([s,i])=>{let o;if(Array.isArray(i)){if(!fr(s))throw new m({message:`Incorrect filter [${s}]: Array value is supported only for the following filters: ${rr.join(", ")}`,type:"request"});o=i.join(",")}else if(typeof i=="object"){if(!br(s))throw new m({message:`Incorrect filter [${s}]: Object value is supported only for the following filters: ${sr.join(", ")}`,type:"request"});o=JSON.stringify(i)}else o=String(i);r[`filter[q][${s}]`]=o})),er("query string params: %O",r)),r};var P={resources:t=>t?[...U].sort():U,singletons:t=>t?[...ce].sort():ce,isSingleton:t=>ce.includes(t),isSdkError:t=>m.isSdkError(t),isApiError:t=>O.isApiError(t),init:t=>ue(t),get schemaVersion(){return Oe}};var A=h("resource"),le=class extends Array{constructor(e,r){super(...r||[]),this.meta=e}first(){return this.length?this[0]:void 0}last(){return this.length?this[this.length-1]:void 0}get(e){return this.length&&e>=0?this[e]:void 0}hasNextPage(){return this.meta.currentPage<this.meta.pageCount}hasPrevPage(){return this.meta.currentPage>1}getRecordCount(){return this.meta.recordCount}getPageCount(){return this.meta.pageCount}get recordCount(){return this.meta.recordCount}get pageCount(){return this.meta.pageCount}};var g,_e,xe=class{constructor(e){u(this,g);u(this,_e,{});c(this,g,Ze.create(e)),this.localConfig(e)}localConfig(e){}config(e){return A("config %o",e),this.localConfig(e),n(this,g).config(e),this}get client(){return n(this,g)}async retrieve(e,r,s,i){let o=!("id"in e)||P.isSingleton(e.type);A("retrieve:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=j(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,C=await n(this,g).request("GET",a,void 0,{...s,params:p});return z(C)}async list(e,r,s){A("list: %o, %O, %O",e,r||{},s||{});let i=j(r,e);s?.params&&Object.assign(i,s?.params);let o=await n(this,g).request("GET",`${e.type}`,void 0,{...s,params:i}),p=z(o),a={pageCount:Number(o.meta?.page_count),recordCount:Number(o.meta?.record_count),currentPage:r?.pageNumber||f.default.pageNumber,recordsPerPage:r?.pageSize||f.default.pageSize};return new le(a,p)}async create(e,r,s){A("create: %o, %O, %O",e,r||{},s||{});let i=j(r,e);s?.params&&Object.assign(i,s?.params);let o=pe(e),p=await n(this,g).request("POST",e.type,o,{...s,params:i});return z(p)}async update(e,r,s,i){let o=!("id"in e)||P.isSingleton(e.type);A("update:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=j(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,C=pe(e),M=await n(this,g).request("PATCH",a,C,{...s,params:p});return z(M)}async delete(e,r){A("delete: %o, %O",e,r||{}),await n(this,g).request("DELETE",`${e.type}/${e.id}`,void 0,r)}async fetch(e,r,s,i){A("fetch: %o, %O, %O",r,s||{},i||{});let o=j(s,e);i?.params&&Object.assign(o,i?.params);let p=await n(this,g).request("GET",r,void 0,{...i,params:o}),a=z(p);if(Array.isArray(a)){let C=s,M={pageCount:Number(p.meta?.page_count),recordCount:Number(p.meta?.record_count),currentPage:C?.pageNumber||f.default.pageNumber,recordsPerPage:C?.pageSize||f.default.pageSize};return new le(M,a)}else return a}async action(e,r,s,i){A("action: %o %o, %O",e,r,i||{});let o={};i?.params&&Object.assign(o,i?.params);let p=s&&Q(s)?pe(s):s;await n(this,g).request(e,r,p,{...i,params:o})}};g=new WeakMap,_e=new WeakMap;var me=class{constructor(e){A("new resource instance: %s",this.type()),this.resources=e}relationshipOneToOne(e){return e===null||typeof e=="string"?{id:e,type:this.type()}:{id:e.id,type:this.type()}}relationshipOneToMany(...e){return e===null||e.length===0||e[0]===null?[{id:null,type:this.type()}]:e.map(r=>({id:r,type:this.type()}))}path(){return this.type()}parse(e){try{let r=JSON.parse(e);if(r.data?.type!==this.type())throw new m({message:`Invalid resource type [${r.data?.type}]`,type:"parse"});return z(r)}catch(r){throw m.isSdkError(r)?r:new m({message:`Payload parse error [${r.message}]`,type:"parse"})}}async update(e,r,s){return this.resources.update({...e,type:this.type()},r,s,this.path())}},y=class extends me{async retrieve(e,r,s){return this.resources.retrieve(typeof e=="string"?{type:this.type(),id:e}:e,r,s)}async list(e,r){return this.resources.list({type:this.type()},e,r)}async count(e,r){let s={filters:Ae(e)?e.filters:e,pageNumber:1,pageSize:1},i=await this.list(s,r);return Promise.resolve(i.meta.recordCount)}},ye=class extends me{async retrieve(e,r){return this.resources.retrieve({type:this.type()},e,r,this.path())}},tr=xe;var x=class x extends y{async create(e,r,s){return this.resources.create({...e,type:x.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:x.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:x.TYPE}:e,r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`api_credentials/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`api_credentials/${i}/role`,r,s)}isApiCredential(e){return e.type&&e.type===x.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return x.TYPE}};x.TYPE="api_credentials";var Ee=x,Me=Ee;var _=class _ extends y{async create(e,r,s){return this.resources.create({...e,type:_.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:_.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:_.TYPE}:e,r)}async api_credential(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`application_memberships/${i}/api_credential`,r,s)}async membership(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`application_memberships/${i}/membership`,r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`application_memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`application_memberships/${i}/role`,r,s)}isApplicationMembership(e){return e.type&&e.type===_.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return _.TYPE}};_.TYPE="application_memberships";var ze=_,Ne=ze;var E=class E extends y{async create(e,r,s){return this.resources.create({...e,type:E.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:E.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:E.TYPE}:e,r)}async resend(e,r){let s=e.id||e;await this.resources.action("POST",`memberships/${s}/resend`,{},r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`memberships/${i}/role`,r,s)}async application_memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`memberships/${i}/application_memberships`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`memberships/${i}/versions`,r,s)}isMembership(e){return e.type&&e.type===E.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return E.TYPE}};E.TYPE="memberships";var Se=E,ve=Se;var N=class N extends y{async create(e,r,s){return this.resources.create({...e,type:N.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:N.TYPE},r,s)}async transfer_ownership(e,r,s){let i=e.id||e;await this.resources.action("PATCH",`organizations/${i}/transfer_ownership`,{...r},s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`organizations/${i}/memberships`,r,s)}async roles(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`organizations/${i}/roles`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`organizations/${i}/permissions`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`organizations/${i}/api_credentials`,r,s)}isOrganization(e){return e.type&&e.type===N.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return N.TYPE}};N.TYPE="organizations";var Le=N,ke=Le;var S=class S extends y{async create(e,r,s){return this.resources.create({...e,type:S.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:S.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`permissions/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`permissions/${i}/role`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`permissions/${i}/versions`,r,s)}isPermission(e){return e.type&&e.type===S.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return S.TYPE}};S.TYPE="permissions";var we=S,Ie=we;var v=class v extends y{async create(e,r,s){return this.resources.create({...e,type:v.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:v.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`roles/${i}/organization`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`roles/${i}/permissions`,r,s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`roles/${i}/memberships`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`roles/${i}/api_credentials`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`roles/${i}/versions`,r,s)}isRole(e){return e.type&&e.type===v.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return v.TYPE}};v.TYPE="roles";var Qe=v,Ue=Qe;var q=class q extends ye{async update(e,r,s){let i=e.id||(await this.retrieve()).id;return this.resources.update({...e,id:i,type:q.TYPE},r,s)}isUser(e){return e.type&&e.type===q.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return q.TYPE}path(){return"user"}};q.TYPE="user";var je=q,qe=je;var B=class B extends y{isVersion(e){return e.type&&e.type===B.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return B.TYPE}};B.TYPE="versions";var Fe=B,$e=Fe;var U=["api_credentials","application_memberships","memberships","organizations","permissions","roles","user","versions"],ce=["user"];var ir=h("commercelayer"),Oe="1.0.5";var R,K,G,Z,X,ee,re,se,te,Ve=class{constructor(e){this.openApiSchemaVersion=Oe;u(this,R);u(this,K);u(this,G);u(this,Z);u(this,X);u(this,ee);u(this,re);u(this,se);u(this,te);ir("new commercelayer provisioning instance %O",e),c(this,R,new tr(e))}get api_credentials(){return n(this,K)||c(this,K,new Me(n(this,R)))}get application_memberships(){return n(this,G)||c(this,G,new Ne(n(this,R)))}get memberships(){return n(this,Z)||c(this,Z,new ve(n(this,R)))}get organizations(){return n(this,X)||c(this,X,new ke(n(this,R)))}get permissions(){return n(this,ee)||c(this,ee,new Ie(n(this,R)))}get roles(){return n(this,re)||c(this,re,new Ue(n(this,R)))}get user(){return n(this,se)||c(this,se,new qe(n(this,R)))}get versions(){return n(this,te)||c(this,te,new $e(n(this,R)))}get currentAccessToken(){return n(this,R)?.client?.currentAccessToken}get interceptors(){return n(this,R).client.interceptors}localConfig(e){}config(e){return ir("config %o",e),this.localConfig(e),n(this,R).config(e),this}resources(){return P.resources()}singletons(){return P.singletons()}isSingleton(e){return P.isSingleton(e)}isApiError(e){return P.isApiError(e)}addRequestInterceptor(e,r){return this.interceptors.request={onSuccess:e,onFailure:r},1}addResponseInterceptor(e,r){return this.interceptors.response={onSuccess:e,onFailure:r},1}removeInterceptor(e,r=1){this.interceptors[e]=void 0}removeInterceptors(){this.removeInterceptor("request"),this.removeInterceptor("response"),this.removeRawResponseReader()}addRawResponseReader(e){let r={id:0,rawResponse:void 0,headers:void 0,ok:!0};async function s(i){if(r.rawResponse=await i?.clone().json().catch(()=>{}),r.ok=i.ok,e?.headers){let o={};i.headers.forEach((p,a)=>{o[a]=p}),r.headers=o}return i}return this.interceptors.rawReader={onSuccess:s,onFailure:s},r.id=1,r}removeRawResponseReader(){this.interceptors.rawReader=void 0}};R=new WeakMap,K=new WeakMap,G=new WeakMap,Z=new WeakMap,X=new WeakMap,ee=new WeakMap,re=new WeakMap,se=new WeakMap,te=new WeakMap;var De=t=>new Ve(t),ue=De;0&&(module.exports={CommerceLayerProvisioning,CommerceLayerProvisioningStatic});
|
package/lib/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var He=t=>{throw TypeError(t)};var or=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Je=(t,e,r)=>e.has(t)||He("Cannot "+r);var n=(t,e,r)=>(Je(t,e,"read from private field"),r?r.call(t):e.get(t)),u=(t,e,r)=>e.has(t)?He("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),c=(t,e,r,s)=>(Je(t,e,"write to private field"),s?s.call(t,r):e.set(t,r),r);var nr=(t,...e)=>{},We=t=>nr;try{let t=or("debug");t&&typeof t=="function"&&(We=t)}catch{}var ar="clsdk",pr=t=>We(`${ar}:${t}`),f=pr;var de=f("fetch"),D,Y,H,ne=class ne extends Error{constructor(r,s,i){super(s);u(this,D);u(this,Y);u(this,H);c(this,Y,r),c(this,H,s),i&&c(this,D,i.errors)}get errors(){return n(this,D)}get status(){return n(this,Y)}get statusText(){return n(this,H)}};D=new WeakMap,Y=new WeakMap,H=new WeakMap,ne.isFetchError=r=>r instanceof ne;var V=ne,ge=async(t,e,r)=>{de("fetch: %s, %O, native[%s]",t,e||{},r?.fetch?"no":"yes");let s=r?.interceptors;s?.request?.onSuccess&&({url:t,options:e}=await s.request.onSuccess({url:t,options:e}));let o=await(r?.fetch||fetch)(t,e);o.ok?(s?.rawReader?.onSuccess&&await s.rawReader.onSuccess(o),s?.response?.onSuccess&&(o=await s.response.onSuccess(o))):s?.rawReader?.onFailure&&await s.rawReader.onFailure(o);let p=o.body&&o.status!==204?await o.text().then(a=>(de("response: %O",a),a?.trim()?JSON.parse(a):a)).catch(a=>{if(de("error: %s",a.message),o.ok)throw new y({message:"Error parsing API response body",type:"parse"})}):void 0;if(!o.ok){let a=new V(o.status,o.statusText,p);if(s?.response?.onFailure&&(a=await s.response.onFailure(a)),a)throw a}return p};var w=(a=>(a.CLIENT="client",a.REQUEST="request",a.RESPONSE="response",a.CANCEL="cancel",a.PARSE="parse",a.TIMEOUT="timeout",a.TOKEN_REFRESH="token-refresh",a))(w||{}),J=class J extends Error{static isSdkError(e){return e&&[J.NAME,x.NAME].includes(e.name)&&Object.values(w).includes(e.type)}constructor(e){super(e.message),this.name=J.NAME,this.type=e.type||"client"}};J.NAME="SdkError";var y=J,W=class W extends y{constructor(r){super({...r,type:"response"});this.errors=[];this.name=W.NAME}static isApiError(r){return y.isSdkError(r)&&r.name===W.NAME&&r.type==="response"}first(){return this.errors?.length>0?this.errors[0]:void 0}};W.NAME="ApiError";var x=W,cr=t=>t instanceof TypeError,ur=t=>t instanceof DOMException&&t.name==="AbortError",lr=t=>t instanceof DOMException&&t.name==="TimeoutError",Be=t=>x.isApiError(t)&&t.status===401&&(["INVALID_TOKEN","UNAUTHORIZED"].includes(t.code||"")||t.errors&&t.errors.length>0&&["INVALID_TOKEN","UNAUTHORIZED"].includes(t.errors[0].code)),he=t=>{if(y.isSdkError(t)||x.isApiError(t))throw t;let e=new y({message:t.message});if(V.isFetchError(t)){let r=new x(e);r.type="response",r.status=t.status,r.statusText=t.statusText,r.code=String(r.status),r.errors=t.errors||[],!r.message&&r.statusText&&(r.message=r.statusText),e=r}else cr(t)?e.type="request":ur(t)?e.type="cancel":lr(t)?e.type="timeout":(e.type="client",e.source=t);throw e};var mr={default:{domain:"commercelayer.io",pageNumber:1,pageSize:10},client:{timeout:15e3,requiredAttributes:["accessToken"]},jsonapi:{maxResourceIncluded:2}},b=mr;var Ke=t=>{try{return JSON.parse(atob(t.split(".")[1])).exp*1e3-Date.now()<0}catch{return!1}};var T=f("client"),fe=t=>`https://provisioning.${t||b.default.domain}/api`,I,P,g,B,Pe=class Pe{constructor(e){u(this,I);u(this,P);u(this,g);u(this,B);T("new client instance %O",e),c(this,I,fe(e.domain)),c(this,P,e.accessToken);let r={timeout:e.timeout||b.client.timeout,fetch:e.fetch,refreshToken:e.refreshToken},i={...this.customHeaders(e.headers),Accept:"application/vnd.api+json","Content-Type":"application/vnd.api+json",Authorization:"Bearer "+n(this,P)};e.userAgent&&(i["User-Agent"]=e.userAgent),r.headers=i,c(this,g,r),T("fetch config: %O",r),c(this,B,{})}static create(e){for(let r of b.client.requiredAttributes)if(!e||!e[r])throw new y({message:`Undefined '${r}' parameter`});return new Pe(e)}get interceptors(){return n(this,B)}get requestHeaders(){return n(this,g).headers||(n(this,g).headers={}),n(this,g).headers}config(e){T("config %o",e);let r=n(this,g);return r.headers||(r.headers={}),e.timeout&&(r.timeout=e.timeout),e.userAgent&&this.userAgent(e.userAgent),e.fetch&&(n(this,g).fetch=e.fetch),e.refreshToken&&(n(this,g).refreshToken=e.refreshToken),e.domain&&c(this,I,fe(e.domain)),e.accessToken&&(c(this,P,e.accessToken),r.headers.Authorization="Bearer "+n(this,P)),e.headers&&(r.headers={...r.headers,...this.customHeaders(e.headers)}),this}userAgent(e){return e&&(this.requestHeaders["User-Agent"]=e),this}async request(e,r,s,i){T("request %s %s, %O, %O",e,r,s||{},i||{}),i?.userAgent&&T("User-Agent header ignored in request config");let o=i?.domain?fe(i.domain):n(this,I),p=new URL(`${o}/${r}`),a=s?JSON.stringify({data:s}):void 0,C={...this.requestHeaders,...this.customHeaders(i?.headers)},L=i?.accessToken||n(this,P);L&&(C.Authorization="Bearer "+L);let F={method:e,body:a,headers:C},De=i?.timeout||n(this,g).timeout;De&&(AbortSignal?.timeout?F.signal=AbortSignal.timeout(De):T("Timeout not set. Undefined function: %s","AbortSignal.timeout")),i?.params&&Object.entries(i?.params).forEach(([k,$])=>{p.searchParams.append(k,String($))});let Ye={interceptors:this.interceptors,fetch:i?.fetch||n(this,g).fetch};try{return await ge(p,F,Ye).catch(k=>he(k))}catch(k){if(Be(k)&&n(this,g).refreshToken&&Ke(n(this,P))){T("Access token has expired");let $=await n(this,g).refreshToken(n(this,P)).catch(Re=>{T("Refresh token error: %s",Re.message);let oe=new y({message:"Error refreshing access token",type:"token-refresh"});throw oe.source=Re,oe});if($)return T("Access token refreshed"),this.config({accessToken:$}),F.headers&&(F.headers.Authorization=`Bearer ${$}`),await ge(p,F,Ye).catch(oe=>he(oe))}else throw k}}customHeaders(e){let r={};if(e)for(let[s,i]of Object.entries(e))["accept","content-type","authorization","user-agent"].includes(s.toLowerCase())||(r[s]=i);return r}get currentAccessToken(){return n(this,P)}};I=new WeakMap,P=new WeakMap,g=new WeakMap,B=new WeakMap;var be=Pe,Ge=be;var Q=t=>t?.type&&t.id&&U.includes(t.type),Ce=t=>t&&typeof t.type<"u"&&t.type&&U.includes(t.type);var ae=f("jsonapi"),z=t=>{let e;t.links&&delete t.links;let r=t.data,s=t.included;return r?Array.isArray(r)?e=r.map(i=>pe(i,s)):e=pe(r,s):e=r,e},Ze=(t,e=[])=>e.find(s=>t.id===s.id&&t.type===s.type)||t,pe=(t,e,r=[])=>{if(ae("denormalize resource: %O, %o",t,e||{}),!t)return t;let s={id:t.id,type:t.type,...t.attributes};return t.relationships&&Object.keys(t.relationships).forEach(i=>{let o=t.relationships[i].data;o?r.filter(p=>p.id===o.id&&p.type===o.type).length>=b.jsonapi.maxResourceIncluded?s[i]=o:Array.isArray(o)?s[i]=o.map(p=>pe(Ze(p,e),e,[...r,p])):s[i]=pe(Ze(o,e),e,[...r,o]):o===null&&(s[i]=null)}),ae("denormalized resource: %O",s),s},ce=t=>{ae("normalize resource: %O",t);let e={},r={};for(let i in t){if(["type","id"].includes(i))continue;let o=t[i];Array.isArray(o)&&o.length===1&&Ce(o[0])&&o[0].id===null?r[i]={data:[]}:o&&Ce(o)&&o.id===null?r[i]={data:null}:o&&(Q(o)||Array.isArray(o)&&Q(o[0]))?r[i]={data:o}:e[i]=o}let s={type:t.type,attributes:e,relationships:r};return Q(t)&&(s.id=t.id),ae("normalized resource: %O",s),s};var Xe=f("query"),er=["_any","_all","_in","_not_in_or_null"],yr=t=>er.some(e=>t.endsWith(e)),rr=["_jcont"],Rr=t=>rr.some(e=>t.endsWith(e)),Te=t=>t&&(t.filters||t.pageNumber||t.pageSize||t.sort),j=(t,e)=>{Xe("generate query string params: %O, %O",t,e);let r={};return t&&(t.include&&(r.include=t.include.join(",")),t.fields&&(Array.isArray(t.fields)&&(t.fields={[e.type||e]:t.fields}),Object.entries(t.fields).forEach(([s,i])=>{r[`fields[${s}]`]=i.join(",")})),Te(t)&&(t.sort&&(Array.isArray(t.sort)?r.sort=t.sort.join(","):r.sort=Object.entries(t.sort).map(([s,i])=>`${i==="desc"?"-":""}${s}`).join(",")),t.pageNumber&&(r["page[number]"]=String(t.pageNumber)),t.pageSize&&(r["page[size]"]=String(t.pageSize)),t.filters&&Object.entries(t.filters).forEach(([s,i])=>{let o;if(Array.isArray(i)){if(!yr(s))throw new y({message:`Incorrect filter [${s}]: Array value is supported only for the following filters: ${er.join(", ")}`,type:"request"});o=i.join(",")}else if(typeof i=="object"){if(!Rr(s))throw new y({message:`Incorrect filter [${s}]: Object value is supported only for the following filters: ${rr.join(", ")}`,type:"request"});o=JSON.stringify(i)}else o=String(i);r[`filter[q][${s}]`]=o})),Xe("query string params: %O",r)),r};var A={resources:t=>t?[...U].sort():U,singletons:t=>t?[...ue].sort():ue,isSingleton:t=>ue.includes(t),isSdkError:t=>y.isSdkError(t),isApiError:t=>x.isApiError(t),init:t=>Oe(t),get schemaVersion(){return Ae}};var O=f("resource"),le=class extends Array{constructor(e,r){super(...r||[]),this.meta=e}first(){return this.length?this[0]:void 0}last(){return this.length?this[this.length-1]:void 0}get(e){return this.length&&e>=0?this[e]:void 0}hasNextPage(){return this.meta.currentPage<this.meta.pageCount}hasPrevPage(){return this.meta.currentPage>1}getRecordCount(){return this.meta.recordCount}getPageCount(){return this.meta.pageCount}get recordCount(){return this.meta.recordCount}get pageCount(){return this.meta.pageCount}};var h,_e,xe=class{constructor(e){u(this,h);u(this,_e,{});c(this,h,Ge.create(e)),this.localConfig(e)}localConfig(e){}config(e){return O("config %o",e),this.localConfig(e),n(this,h).config(e),this}get client(){return n(this,h)}async retrieve(e,r,s,i){let o=!("id"in e)||A.isSingleton(e.type);O("retrieve:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=j(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,C=await n(this,h).request("GET",a,void 0,{...s,params:p});return z(C)}async list(e,r,s){O("list: %o, %O, %O",e,r||{},s||{});let i=j(r,e);s?.params&&Object.assign(i,s?.params);let o=await n(this,h).request("GET",`${e.type}`,void 0,{...s,params:i}),p=z(o),a={pageCount:Number(o.meta?.page_count),recordCount:Number(o.meta?.record_count),currentPage:r?.pageNumber||b.default.pageNumber,recordsPerPage:r?.pageSize||b.default.pageSize};return new le(a,p)}async create(e,r,s){O("create: %o, %O, %O",e,r||{},s||{});let i=j(r,e);s?.params&&Object.assign(i,s?.params);let o=ce(e),p=await n(this,h).request("POST",e.type,o,{...s,params:i});return z(p)}async update(e,r,s){let i=!("id"in e)||A.isSingleton(e.type);O("update:%s %o, %O, %O",i?" singleton,":"",e,r||{},s||{});let o=j(r,e);s?.params&&Object.assign(o,s?.params);let p=`${e.type}${i?"":`/${e.id}`}`,a=ce(e),C=await n(this,h).request("PATCH",p,a,{...s,params:o});return z(C)}async delete(e,r){O("delete: %o, %O",e,r||{}),await n(this,h).request("DELETE",`${e.type}/${e.id}`,void 0,r)}async fetch(e,r,s,i){O("fetch: %o, %O, %O",r,s||{},i||{});let o=j(s,e);i?.params&&Object.assign(o,i?.params);let p=await n(this,h).request("GET",r,void 0,{...i,params:o}),a=z(p);if(Array.isArray(a)){let C=s,L={pageCount:Number(p.meta?.page_count),recordCount:Number(p.meta?.record_count),currentPage:C?.pageNumber||b.default.pageNumber,recordsPerPage:C?.pageSize||b.default.pageSize};return new le(L,a)}else return a}async action(e,r,s,i){O("action: %o %o, %O",e,r,i||{});let o={};i?.params&&Object.assign(o,i?.params);let p=s&&Q(s)?ce(s):s;await n(this,h).request(e,r,p,{...i,params:o})}};h=new WeakMap,_e=new WeakMap;var me=class{constructor(e){O("new resource instance: %s",this.type()),this.resources=e}relationshipOneToOne(e){return e===null||typeof e=="string"?{id:e,type:this.type()}:{id:e.id,type:this.type()}}relationshipOneToMany(...e){return e===null||e.length===0||e[0]===null?[{id:null,type:this.type()}]:e.map(r=>({id:r,type:this.type()}))}path(){return this.type()}parse(e){try{let r=JSON.parse(e);if(r.data?.type!==this.type())throw new y({message:`Invalid resource type [${r.data?.type}]`,type:"parse"});return z(r)}catch(r){throw y.isSdkError(r)?r:new y({message:`Payload parse error [${r.message}]`,type:"parse"})}}async update(e,r,s){return this.resources.update({...e,type:this.type()},r,s)}},R=class extends me{async retrieve(e,r,s){return this.resources.retrieve(typeof e=="string"?{type:this.type(),id:e}:e,r,s)}async list(e,r){return this.resources.list({type:this.type()},e,r)}async count(e,r){let s={filters:Te(e)?e.filters:e,pageNumber:1,pageSize:1},i=await this.list(s,r);return Promise.resolve(i.meta.recordCount)}},ye=class extends me{async retrieve(e,r){return this.resources.retrieve({type:this.type()},e,r,this.path())}},sr=xe;var _=class _ extends R{async create(e,r,s){return this.resources.create({...e,type:_.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:_.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:_.TYPE}:e,r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`api_credentials/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`api_credentials/${i}/role`,r,s)}isApiCredential(e){return e.type&&e.type===_.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return _.TYPE}};_.TYPE="api_credentials";var Ee=_,Me=Ee;var E=class E extends R{async create(e,r,s){return this.resources.create({...e,type:E.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:E.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:E.TYPE}:e,r)}async api_credential(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`application_memberships/${i}/api_credential`,r,s)}async membership(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`application_memberships/${i}/membership`,r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`application_memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`application_memberships/${i}/role`,r,s)}isApplicationMembership(e){return e.type&&e.type===E.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return E.TYPE}};E.TYPE="application_memberships";var ze=E,Ne=ze;var M=class M extends R{async create(e,r,s){return this.resources.create({...e,type:M.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:M.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:M.TYPE}:e,r)}async resend(e,r){let s=e.id||e;await this.resources.action("POST",`memberships/${s}/resend`,{},r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`memberships/${i}/role`,r,s)}async application_memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`memberships/${i}/application_memberships`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`memberships/${i}/versions`,r,s)}isMembership(e){return e.type&&e.type===M.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return M.TYPE}};M.TYPE="memberships";var Se=M,ve=Se;var N=class N extends R{async create(e,r,s){return this.resources.create({...e,type:N.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:N.TYPE},r,s)}async transfer_ownership(e,r,s){let i=e.id||e;await this.resources.action("PATCH",`organizations/${i}/transfer_ownership`,{...r},s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`organizations/${i}/memberships`,r,s)}async roles(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`organizations/${i}/roles`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`organizations/${i}/permissions`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`organizations/${i}/api_credentials`,r,s)}isOrganization(e){return e.type&&e.type===N.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return N.TYPE}};N.TYPE="organizations";var Le=N,ke=Le;var S=class S extends R{async create(e,r,s){return this.resources.create({...e,type:S.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:S.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`permissions/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`permissions/${i}/role`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`permissions/${i}/versions`,r,s)}isPermission(e){return e.type&&e.type===S.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return S.TYPE}};S.TYPE="permissions";var we=S,Ie=we;var v=class v extends R{async create(e,r,s){return this.resources.create({...e,type:v.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:v.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`roles/${i}/organization`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`roles/${i}/permissions`,r,s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`roles/${i}/memberships`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`roles/${i}/api_credentials`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`roles/${i}/versions`,r,s)}isRole(e){return e.type&&e.type===v.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return v.TYPE}};v.TYPE="roles";var Qe=v,Ue=Qe;var q=class q extends ye{async update(e,r,s){let i=await this.retrieve(r,s);return this.resources.update({...e,id:i.id,type:q.TYPE},r,s)}isUser(e){return e.type&&e.type===q.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return q.TYPE}path(){return"user"}};q.TYPE="users";var je=q,qe=je;var K=class K extends R{isVersion(e){return e.type&&e.type===K.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return K.TYPE}};K.TYPE="versions";var Fe=K,$e=Fe;var U=["api_credentials","application_memberships","memberships","organizations","permissions","roles","users","versions"],ue=["users"];var tr=f("commercelayer"),Ae="1.0.5";var d,G,Z,X,ee,re,se,te,ie,Ve=class{constructor(e){this.openApiSchemaVersion=Ae;u(this,d);u(this,G);u(this,Z);u(this,X);u(this,ee);u(this,re);u(this,se);u(this,te);u(this,ie);tr("new commercelayer provisioning instance %O",e),c(this,d,new sr(e))}get api_credentials(){return n(this,G)||c(this,G,new Me(n(this,d)))}get application_memberships(){return n(this,Z)||c(this,Z,new Ne(n(this,d)))}get memberships(){return n(this,X)||c(this,X,new ve(n(this,d)))}get organizations(){return n(this,ee)||c(this,ee,new ke(n(this,d)))}get permissions(){return n(this,re)||c(this,re,new Ie(n(this,d)))}get roles(){return n(this,se)||c(this,se,new Ue(n(this,d)))}get user(){return n(this,te)||c(this,te,new qe(n(this,d)))}get versions(){return n(this,ie)||c(this,ie,new $e(n(this,d)))}get currentAccessToken(){return n(this,d)?.client?.currentAccessToken}get interceptors(){return n(this,d).client.interceptors}localConfig(e){}config(e){return tr("config %o",e),this.localConfig(e),n(this,d).config(e),this}resources(){return A.resources()}singletons(){return A.singletons()}isSingleton(e){return A.isSingleton(e)}isApiError(e){return A.isApiError(e)}addRequestInterceptor(e,r){return this.interceptors.request={onSuccess:e,onFailure:r},1}addResponseInterceptor(e,r){return this.interceptors.response={onSuccess:e,onFailure:r},1}removeInterceptor(e,r=1){this.interceptors[e]=void 0}removeInterceptors(){this.removeInterceptor("request"),this.removeInterceptor("response"),this.removeRawResponseReader()}addRawResponseReader(e){let r={id:0,rawResponse:void 0,headers:void 0,ok:!0};async function s(i){if(r.rawResponse=await i?.clone().json().catch(()=>{}),r.ok=i.ok,e?.headers){let o={};i.headers.forEach((p,a)=>{o[a]=p}),r.headers=o}return i}return this.interceptors.rawReader={onSuccess:s,onFailure:s},r.id=1,r}removeRawResponseReader(){this.interceptors.rawReader=void 0}};d=new WeakMap,G=new WeakMap,Z=new WeakMap,X=new WeakMap,ee=new WeakMap,re=new WeakMap,se=new WeakMap,te=new WeakMap,ie=new WeakMap;var ir=t=>new Ve(t),Oe=ir;export{ir as CommerceLayerProvisioning,A as CommerceLayerProvisioningStatic,Oe as default};
|
|
1
|
+
var He=t=>{throw TypeError(t)};var or=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Je=(t,e,r)=>e.has(t)||He("Cannot "+r);var n=(t,e,r)=>(Je(t,e,"read from private field"),r?r.call(t):e.get(t)),u=(t,e,r)=>e.has(t)?He("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),c=(t,e,r,s)=>(Je(t,e,"write to private field"),s?s.call(t,r):e.set(t,r),r);var nr=(t,...e)=>{},We=t=>nr;try{let t=or("debug");t&&typeof t=="function"&&(We=t)}catch{}var ar="clsdk",pr=t=>We(`${ar}:${t}`),f=pr;var de=f("fetch"),D,Y,H,ne=class ne extends Error{constructor(r,s,i){super(s);u(this,D);u(this,Y);u(this,H);c(this,Y,r),c(this,H,s),i&&c(this,D,i.errors)}get errors(){return n(this,D)}get status(){return n(this,Y)}get statusText(){return n(this,H)}};D=new WeakMap,Y=new WeakMap,H=new WeakMap,ne.isFetchError=r=>r instanceof ne;var V=ne,ge=async(t,e,r)=>{de("fetch: %s, %O, native[%s]",t,e||{},r?.fetch?"no":"yes");let s=r?.interceptors;s?.request?.onSuccess&&({url:t,options:e}=await s.request.onSuccess({url:t,options:e}));let o=await(r?.fetch||fetch)(t,e);o.ok?(s?.rawReader?.onSuccess&&await s.rawReader.onSuccess(o),s?.response?.onSuccess&&(o=await s.response.onSuccess(o))):s?.rawReader?.onFailure&&await s.rawReader.onFailure(o);let p=o.body&&o.status!==204?await o.text().then(a=>(de("response: %O",a),a?.trim()?JSON.parse(a):a)).catch(a=>{if(de("error: %s",a.message),o.ok)throw new y({message:"Error parsing API response body",type:"parse"})}):void 0;if(!o.ok){let a=new V(o.status,o.statusText,p);if(s?.response?.onFailure&&(a=await s.response.onFailure(a)),a)throw a}return p};var I=(a=>(a.CLIENT="client",a.REQUEST="request",a.RESPONSE="response",a.CANCEL="cancel",a.PARSE="parse",a.TIMEOUT="timeout",a.TOKEN_REFRESH="token-refresh",a))(I||{}),J=class J extends Error{static isSdkError(e){return e&&[J.NAME,x.NAME].includes(e.name)&&Object.values(I).includes(e.type)}constructor(e){super(e.message),this.name=J.NAME,this.type=e.type||"client"}};J.NAME="SdkError";var y=J,W=class W extends y{constructor(r){super({...r,type:"response"});this.errors=[];this.name=W.NAME}static isApiError(r){return y.isSdkError(r)&&r.name===W.NAME&&r.type==="response"}first(){return this.errors?.length>0?this.errors[0]:void 0}};W.NAME="ApiError";var x=W,cr=t=>t instanceof TypeError,ur=t=>t instanceof DOMException&&t.name==="AbortError",lr=t=>t instanceof DOMException&&t.name==="TimeoutError",Be=t=>x.isApiError(t)&&t.status===401&&(["INVALID_TOKEN","UNAUTHORIZED"].includes(t.code||"")||t.errors&&t.errors.length>0&&["INVALID_TOKEN","UNAUTHORIZED"].includes(t.errors[0].code)),he=t=>{if(y.isSdkError(t)||x.isApiError(t))throw t;let e=new y({message:t.message});if(V.isFetchError(t)){let r=new x(e);r.type="response",r.status=t.status,r.statusText=t.statusText,r.code=String(r.status),r.errors=t.errors||[],!r.message&&r.statusText&&(r.message=r.statusText),e=r}else cr(t)?e.type="request":ur(t)?e.type="cancel":lr(t)?e.type="timeout":(e.type="client",e.source=t);throw e};var mr={default:{domain:"commercelayer.io",pageNumber:1,pageSize:10},client:{timeout:15e3,requiredAttributes:["accessToken"]},jsonapi:{maxResourceIncluded:2}},b=mr;var Ke=t=>{try{return JSON.parse(atob(t.split(".")[1])).exp*1e3-Date.now()<0}catch{return!1}};var T=f("client"),fe=t=>`https://provisioning.${t||b.default.domain}/api`,Q,P,g,B,Pe=class Pe{constructor(e){u(this,Q);u(this,P);u(this,g);u(this,B);T("new client instance %O",e),c(this,Q,fe(e.domain)),c(this,P,e.accessToken);let r={timeout:e.timeout||b.client.timeout,fetch:e.fetch,refreshToken:e.refreshToken},i={...this.customHeaders(e.headers),Accept:"application/vnd.api+json","Content-Type":"application/vnd.api+json",Authorization:"Bearer "+n(this,P)};e.userAgent&&(i["User-Agent"]=e.userAgent),r.headers=i,c(this,g,r),T("fetch config: %O",r),c(this,B,{})}static create(e){for(let r of b.client.requiredAttributes)if(!e||!e[r])throw new y({message:`Undefined '${r}' parameter`});return new Pe(e)}get interceptors(){return n(this,B)}get requestHeaders(){return n(this,g).headers||(n(this,g).headers={}),n(this,g).headers}config(e){T("config %o",e);let r=n(this,g);return r.headers||(r.headers={}),e.timeout&&(r.timeout=e.timeout),e.userAgent&&this.userAgent(e.userAgent),e.fetch&&(n(this,g).fetch=e.fetch),e.refreshToken&&(n(this,g).refreshToken=e.refreshToken),e.domain&&c(this,Q,fe(e.domain)),e.accessToken&&(c(this,P,e.accessToken),r.headers.Authorization="Bearer "+n(this,P)),e.headers&&(r.headers={...r.headers,...this.customHeaders(e.headers)}),this}userAgent(e){return e&&(this.requestHeaders["User-Agent"]=e),this}async request(e,r,s,i){T("request %s %s, %O, %O",e,r,s||{},i||{}),i?.userAgent&&T("User-Agent header ignored in request config");let o=i?.domain?fe(i.domain):n(this,Q),p=new URL(`${o}/${r}`),a=s?JSON.stringify({data:s}):void 0,C={...this.requestHeaders,...this.customHeaders(i?.headers)},z=i?.accessToken||n(this,P);z&&(C.Authorization="Bearer "+z);let k={method:e,body:a,headers:C},De=i?.timeout||n(this,g).timeout;De&&(AbortSignal?.timeout?k.signal=AbortSignal.timeout(De):T("Timeout not set. Undefined function: %s","AbortSignal.timeout")),i?.params&&Object.entries(i?.params).forEach(([w,$])=>{p.searchParams.append(w,String($))});let Ye={interceptors:this.interceptors,fetch:i?.fetch||n(this,g).fetch};try{return await ge(p,k,Ye).catch(w=>he(w))}catch(w){if(Be(w)&&n(this,g).refreshToken&&Ke(n(this,P))){T("Access token has expired");let $=await n(this,g).refreshToken(n(this,P)).catch(Re=>{T("Refresh token error: %s",Re.message);let oe=new y({message:"Error refreshing access token",type:"token-refresh"});throw oe.source=Re,oe});if($)return T("Access token refreshed"),this.config({accessToken:$}),k.headers&&(k.headers.Authorization=`Bearer ${$}`),await ge(p,k,Ye).catch(oe=>he(oe))}else throw w}}customHeaders(e){let r={};if(e)for(let[s,i]of Object.entries(e))["accept","content-type","authorization","user-agent"].includes(s.toLowerCase())||(r[s]=i);return r}get currentAccessToken(){return n(this,P)}};Q=new WeakMap,P=new WeakMap,g=new WeakMap,B=new WeakMap;var be=Pe,Ge=be;var U=t=>t?.type&&t.id&&j.includes(t.type),Ce=t=>t&&typeof t.type<"u"&&t.type&&j.includes(t.type);var ae=f("jsonapi"),N=t=>{let e;t.links&&delete t.links;let r=t.data,s=t.included;return r?Array.isArray(r)?e=r.map(i=>pe(i,s)):e=pe(r,s):e=r,e},Ze=(t,e=[])=>e.find(s=>t.id===s.id&&t.type===s.type)||t,pe=(t,e,r=[])=>{if(ae("denormalize resource: %O, %o",t,e||{}),!t)return t;let s={id:t.id,type:t.type,...t.attributes};return t.relationships&&Object.keys(t.relationships).forEach(i=>{let o=t.relationships[i].data;o?r.filter(p=>p.id===o.id&&p.type===o.type).length>=b.jsonapi.maxResourceIncluded?s[i]=o:Array.isArray(o)?s[i]=o.map(p=>pe(Ze(p,e),e,[...r,p])):s[i]=pe(Ze(o,e),e,[...r,o]):o===null&&(s[i]=null)}),ae("denormalized resource: %O",s),s},ce=t=>{ae("normalize resource: %O",t);let e={},r={};for(let i in t){if(["type","id"].includes(i))continue;let o=t[i];Array.isArray(o)&&o.length===1&&Ce(o[0])&&o[0].id===null?r[i]={data:[]}:o&&Ce(o)&&o.id===null?r[i]={data:null}:o&&(U(o)||Array.isArray(o)&&U(o[0]))?r[i]={data:o}:e[i]=o}let s={type:t.type,attributes:e,relationships:r};return U(t)&&(s.id=t.id),ae("normalized resource: %O",s),s};var Xe=f("query"),er=["_any","_all","_in","_not_in_or_null"],yr=t=>er.some(e=>t.endsWith(e)),rr=["_jcont"],Rr=t=>rr.some(e=>t.endsWith(e)),Te=t=>t&&(t.filters||t.pageNumber||t.pageSize||t.sort),q=(t,e)=>{Xe("generate query string params: %O, %O",t,e);let r={};return t&&(t.include&&(r.include=t.include.join(",")),t.fields&&(Array.isArray(t.fields)&&(t.fields={[e.type||e]:t.fields}),Object.entries(t.fields).forEach(([s,i])=>{r[`fields[${s}]`]=i.join(",")})),Te(t)&&(t.sort&&(Array.isArray(t.sort)?r.sort=t.sort.join(","):r.sort=Object.entries(t.sort).map(([s,i])=>`${i==="desc"?"-":""}${s}`).join(",")),t.pageNumber&&(r["page[number]"]=String(t.pageNumber)),t.pageSize&&(r["page[size]"]=String(t.pageSize)),t.filters&&Object.entries(t.filters).forEach(([s,i])=>{let o;if(Array.isArray(i)){if(!yr(s))throw new y({message:`Incorrect filter [${s}]: Array value is supported only for the following filters: ${er.join(", ")}`,type:"request"});o=i.join(",")}else if(typeof i=="object"){if(!Rr(s))throw new y({message:`Incorrect filter [${s}]: Object value is supported only for the following filters: ${rr.join(", ")}`,type:"request"});o=JSON.stringify(i)}else o=String(i);r[`filter[q][${s}]`]=o})),Xe("query string params: %O",r)),r};var A={resources:t=>t?[...j].sort():j,singletons:t=>t?[...ue].sort():ue,isSingleton:t=>ue.includes(t),isSdkError:t=>y.isSdkError(t),isApiError:t=>x.isApiError(t),init:t=>Oe(t),get schemaVersion(){return Ae}};var O=f("resource"),le=class extends Array{constructor(e,r){super(...r||[]),this.meta=e}first(){return this.length?this[0]:void 0}last(){return this.length?this[this.length-1]:void 0}get(e){return this.length&&e>=0?this[e]:void 0}hasNextPage(){return this.meta.currentPage<this.meta.pageCount}hasPrevPage(){return this.meta.currentPage>1}getRecordCount(){return this.meta.recordCount}getPageCount(){return this.meta.pageCount}get recordCount(){return this.meta.recordCount}get pageCount(){return this.meta.pageCount}};var h,_e,xe=class{constructor(e){u(this,h);u(this,_e,{});c(this,h,Ge.create(e)),this.localConfig(e)}localConfig(e){}config(e){return O("config %o",e),this.localConfig(e),n(this,h).config(e),this}get client(){return n(this,h)}async retrieve(e,r,s,i){let o=!("id"in e)||A.isSingleton(e.type);O("retrieve:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=q(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,C=await n(this,h).request("GET",a,void 0,{...s,params:p});return N(C)}async list(e,r,s){O("list: %o, %O, %O",e,r||{},s||{});let i=q(r,e);s?.params&&Object.assign(i,s?.params);let o=await n(this,h).request("GET",`${e.type}`,void 0,{...s,params:i}),p=N(o),a={pageCount:Number(o.meta?.page_count),recordCount:Number(o.meta?.record_count),currentPage:r?.pageNumber||b.default.pageNumber,recordsPerPage:r?.pageSize||b.default.pageSize};return new le(a,p)}async create(e,r,s){O("create: %o, %O, %O",e,r||{},s||{});let i=q(r,e);s?.params&&Object.assign(i,s?.params);let o=ce(e),p=await n(this,h).request("POST",e.type,o,{...s,params:i});return N(p)}async update(e,r,s,i){let o=!("id"in e)||A.isSingleton(e.type);O("update:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=q(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,C=ce(e),z=await n(this,h).request("PATCH",a,C,{...s,params:p});return N(z)}async delete(e,r){O("delete: %o, %O",e,r||{}),await n(this,h).request("DELETE",`${e.type}/${e.id}`,void 0,r)}async fetch(e,r,s,i){O("fetch: %o, %O, %O",r,s||{},i||{});let o=q(s,e);i?.params&&Object.assign(o,i?.params);let p=await n(this,h).request("GET",r,void 0,{...i,params:o}),a=N(p);if(Array.isArray(a)){let C=s,z={pageCount:Number(p.meta?.page_count),recordCount:Number(p.meta?.record_count),currentPage:C?.pageNumber||b.default.pageNumber,recordsPerPage:C?.pageSize||b.default.pageSize};return new le(z,a)}else return a}async action(e,r,s,i){O("action: %o %o, %O",e,r,i||{});let o={};i?.params&&Object.assign(o,i?.params);let p=s&&U(s)?ce(s):s;await n(this,h).request(e,r,p,{...i,params:o})}};h=new WeakMap,_e=new WeakMap;var me=class{constructor(e){O("new resource instance: %s",this.type()),this.resources=e}relationshipOneToOne(e){return e===null||typeof e=="string"?{id:e,type:this.type()}:{id:e.id,type:this.type()}}relationshipOneToMany(...e){return e===null||e.length===0||e[0]===null?[{id:null,type:this.type()}]:e.map(r=>({id:r,type:this.type()}))}path(){return this.type()}parse(e){try{let r=JSON.parse(e);if(r.data?.type!==this.type())throw new y({message:`Invalid resource type [${r.data?.type}]`,type:"parse"});return N(r)}catch(r){throw y.isSdkError(r)?r:new y({message:`Payload parse error [${r.message}]`,type:"parse"})}}async update(e,r,s){return this.resources.update({...e,type:this.type()},r,s,this.path())}},R=class extends me{async retrieve(e,r,s){return this.resources.retrieve(typeof e=="string"?{type:this.type(),id:e}:e,r,s)}async list(e,r){return this.resources.list({type:this.type()},e,r)}async count(e,r){let s={filters:Te(e)?e.filters:e,pageNumber:1,pageSize:1},i=await this.list(s,r);return Promise.resolve(i.meta.recordCount)}},ye=class extends me{async retrieve(e,r){return this.resources.retrieve({type:this.type()},e,r,this.path())}},sr=xe;var _=class _ extends R{async create(e,r,s){return this.resources.create({...e,type:_.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:_.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:_.TYPE}:e,r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`api_credentials/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`api_credentials/${i}/role`,r,s)}isApiCredential(e){return e.type&&e.type===_.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return _.TYPE}};_.TYPE="api_credentials";var Ee=_,Me=Ee;var E=class E extends R{async create(e,r,s){return this.resources.create({...e,type:E.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:E.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:E.TYPE}:e,r)}async api_credential(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`application_memberships/${i}/api_credential`,r,s)}async membership(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`application_memberships/${i}/membership`,r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`application_memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`application_memberships/${i}/role`,r,s)}isApplicationMembership(e){return e.type&&e.type===E.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return E.TYPE}};E.TYPE="application_memberships";var ze=E,Ne=ze;var M=class M extends R{async create(e,r,s){return this.resources.create({...e,type:M.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:M.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:M.TYPE}:e,r)}async resend(e,r){let s=e.id||e;await this.resources.action("POST",`memberships/${s}/resend`,{},r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`memberships/${i}/role`,r,s)}async application_memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`memberships/${i}/application_memberships`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`memberships/${i}/versions`,r,s)}isMembership(e){return e.type&&e.type===M.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return M.TYPE}};M.TYPE="memberships";var Se=M,ve=Se;var S=class S extends R{async create(e,r,s){return this.resources.create({...e,type:S.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:S.TYPE},r,s)}async transfer_ownership(e,r,s){let i=e.id||e;await this.resources.action("PATCH",`organizations/${i}/transfer_ownership`,{...r},s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`organizations/${i}/memberships`,r,s)}async roles(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`organizations/${i}/roles`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`organizations/${i}/permissions`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`organizations/${i}/api_credentials`,r,s)}isOrganization(e){return e.type&&e.type===S.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return S.TYPE}};S.TYPE="organizations";var Le=S,ke=Le;var v=class v extends R{async create(e,r,s){return this.resources.create({...e,type:v.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:v.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`permissions/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`permissions/${i}/role`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`permissions/${i}/versions`,r,s)}isPermission(e){return e.type&&e.type===v.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return v.TYPE}};v.TYPE="permissions";var we=v,Ie=we;var L=class L extends R{async create(e,r,s){return this.resources.create({...e,type:L.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:L.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`roles/${i}/organization`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`roles/${i}/permissions`,r,s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`roles/${i}/memberships`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`roles/${i}/api_credentials`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`roles/${i}/versions`,r,s)}isRole(e){return e.type&&e.type===L.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return L.TYPE}};L.TYPE="roles";var Qe=L,Ue=Qe;var F=class F extends ye{async update(e,r,s){let i=e.id||(await this.retrieve()).id;return this.resources.update({...e,id:i,type:F.TYPE},r,s)}isUser(e){return e.type&&e.type===F.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return F.TYPE}path(){return"user"}};F.TYPE="user";var je=F,qe=je;var K=class K extends R{isVersion(e){return e.type&&e.type===K.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return K.TYPE}};K.TYPE="versions";var Fe=K,$e=Fe;var j=["api_credentials","application_memberships","memberships","organizations","permissions","roles","user","versions"],ue=["user"];var tr=f("commercelayer"),Ae="1.0.5";var d,G,Z,X,ee,re,se,te,ie,Ve=class{constructor(e){this.openApiSchemaVersion=Ae;u(this,d);u(this,G);u(this,Z);u(this,X);u(this,ee);u(this,re);u(this,se);u(this,te);u(this,ie);tr("new commercelayer provisioning instance %O",e),c(this,d,new sr(e))}get api_credentials(){return n(this,G)||c(this,G,new Me(n(this,d)))}get application_memberships(){return n(this,Z)||c(this,Z,new Ne(n(this,d)))}get memberships(){return n(this,X)||c(this,X,new ve(n(this,d)))}get organizations(){return n(this,ee)||c(this,ee,new ke(n(this,d)))}get permissions(){return n(this,re)||c(this,re,new Ie(n(this,d)))}get roles(){return n(this,se)||c(this,se,new Ue(n(this,d)))}get user(){return n(this,te)||c(this,te,new qe(n(this,d)))}get versions(){return n(this,ie)||c(this,ie,new $e(n(this,d)))}get currentAccessToken(){return n(this,d)?.client?.currentAccessToken}get interceptors(){return n(this,d).client.interceptors}localConfig(e){}config(e){return tr("config %o",e),this.localConfig(e),n(this,d).config(e),this}resources(){return A.resources()}singletons(){return A.singletons()}isSingleton(e){return A.isSingleton(e)}isApiError(e){return A.isApiError(e)}addRequestInterceptor(e,r){return this.interceptors.request={onSuccess:e,onFailure:r},1}addResponseInterceptor(e,r){return this.interceptors.response={onSuccess:e,onFailure:r},1}removeInterceptor(e,r=1){this.interceptors[e]=void 0}removeInterceptors(){this.removeInterceptor("request"),this.removeInterceptor("response"),this.removeRawResponseReader()}addRawResponseReader(e){let r={id:0,rawResponse:void 0,headers:void 0,ok:!0};async function s(i){if(r.rawResponse=await i?.clone().json().catch(()=>{}),r.ok=i.ok,e?.headers){let o={};i.headers.forEach((p,a)=>{o[a]=p}),r.headers=o}return i}return this.interceptors.rawReader={onSuccess:s,onFailure:s},r.id=1,r}removeRawResponseReader(){this.interceptors.rawReader=void 0}};d=new WeakMap,G=new WeakMap,Z=new WeakMap,X=new WeakMap,ee=new WeakMap,re=new WeakMap,se=new WeakMap,te=new WeakMap,ie=new WeakMap;var ir=t=>new Ve(t),Oe=ir;export{ir as CommerceLayerProvisioning,A as CommerceLayerProvisioningStatic,Oe as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercelayer/provisioning-sdk",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"types": "lib/index.d.ts",
|
|
6
6
|
"module": "lib/index.mjs",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"@semantic-release/git": "^10.0.1",
|
|
43
43
|
"@types/debug": "^4.1.12",
|
|
44
44
|
"@types/jest": "^29.5.14",
|
|
45
|
-
"@types/node": "^22.
|
|
46
|
-
"dotenv": "^16.4.
|
|
45
|
+
"@types/node": "^22.10.2",
|
|
46
|
+
"dotenv": "^16.4.7",
|
|
47
47
|
"eslint": "^8.57.1",
|
|
48
48
|
"jest": "^29.7.0",
|
|
49
49
|
"json-typescript": "^1.1.2",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"semantic-release": "^24.2.0",
|
|
53
53
|
"tsup": "^8.3.5",
|
|
54
54
|
"tsx": "^4.19.2",
|
|
55
|
-
"typescript": "^5.
|
|
55
|
+
"typescript": "^5.7.2"
|
|
56
56
|
},
|
|
57
57
|
"repository": "github:commercelayer/provisioning-sdk",
|
|
58
58
|
"bugs": "https://github.com/commercelayer/provisioning-sdk/issues",
|