@swishapp/api-client 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +6 -4
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -1
- package/dist/openapi/sdk.gen.d.ts +1 -1
- package/dist/openapi/types.gen.d.ts +39 -44
- package/dist/types.d.ts +12 -3
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { SwishClientConfig, SwishClientOptions, ApiResponse } from "./types";
|
|
1
|
+
import type { SwishClientConfig, SwishClientOptions, ApiResponse, PaginatedApiResponse } from "./types";
|
|
2
2
|
import type * as types from "./openapi/types.gen";
|
|
3
|
+
export declare const baseUrl = "https://swish.app/api/2025-10";
|
|
3
4
|
export declare const createApiClient: (options: SwishClientOptions) => SwishClient;
|
|
4
5
|
export type { SwishClient };
|
|
5
6
|
declare class SwishClient {
|
|
@@ -13,7 +14,7 @@ declare class SwishClient {
|
|
|
13
14
|
setConfig(config: SwishClientConfig): void;
|
|
14
15
|
requestInterceptor(request: Request): Request;
|
|
15
16
|
readonly items: {
|
|
16
|
-
list: (query?: types.ItemControllerFindData["query"]) => Promise<
|
|
17
|
+
list: (query?: types.ItemControllerFindData["query"]) => Promise<PaginatedApiResponse<types.Item>>;
|
|
17
18
|
create: (items: types.CreateItemInput) => Promise<ApiResponse<types.Item>>;
|
|
18
19
|
delete: (itemIds: types.DeleteItemsInput["itemIds"]) => Promise<ApiResponse<unknown>>;
|
|
19
20
|
findById: (itemId: string) => Promise<ApiResponse<types.ItemDetail>>;
|
|
@@ -22,9 +23,9 @@ declare class SwishClient {
|
|
|
22
23
|
setListsById: (itemId: string, listIds: types.SetItemListsInput["listIds"]) => Promise<ApiResponse<types.ItemDetail>>;
|
|
23
24
|
};
|
|
24
25
|
readonly lists: {
|
|
25
|
-
list: (query?: types.ListControllerFindData["query"]) => Promise<
|
|
26
|
+
list: (query?: types.ListControllerFindData["query"]) => Promise<PaginatedApiResponse<types.ListDetail>>;
|
|
26
27
|
create: (list: types.CreateListInput) => Promise<ApiResponse<types.List>>;
|
|
27
|
-
findById: (listId: string
|
|
28
|
+
findById: (listId: string) => Promise<ApiResponse<types.ListDetail>>;
|
|
28
29
|
updateById: (listId: string, body: types.UpdateListInput) => Promise<ApiResponse<types.List>>;
|
|
29
30
|
deleteById: (listId: string) => Promise<ApiResponse<unknown>>;
|
|
30
31
|
orderItems: (listId: string, itemIds: types.SetListItemsOrderInput["itemIds"]) => Promise<ApiResponse<types.List>>;
|
|
@@ -36,4 +37,5 @@ declare class SwishClient {
|
|
|
36
37
|
identify: (body: types.IdentifyProfileInput) => Promise<ApiResponse<types.IdentifyProfileResult>>;
|
|
37
38
|
};
|
|
38
39
|
private readonly handleRequest;
|
|
40
|
+
private readonly handlePaginatedRequest;
|
|
39
41
|
}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var M=Object.defineProperty;var o=(e,r)=>M(e,"name",{value:r,configurable:!0});var X=o(async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t},"A");var Y={bodySerializer:o(e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t),"bodySerializer")};var Z=o(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},"U"),ee=o(e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},"_"),re=o(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},"D"),g=o(({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let l=(e?i:i.map(d=>encodeURIComponent(d))).join(ee(s));switch(s){case"label":return`.${l}`;case"matrix":return`;${t}=${l}`;case"simple":return l;default:return`${t}=${l}`}}let a=Z(s),n=i.map(l=>s==="label"||s==="simple"?e?l:encodeURIComponent(l):w({allowReserved:e,name:t,value:l})).join(a);return s==="label"||s==="matrix"?a+n:n},"O"),w=o(({allowReserved:e,name:r,value:t})=>{if(t==null)return"";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${r}=${e?t:encodeURIComponent(t)}`},"y"),B=o(({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(i instanceof Date)return`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let l=[];Object.entries(i).forEach(([y,h])=>{l=[...l,y,e?h:encodeURIComponent(h)]});let d=l.join(",");switch(s){case"form":return`${t}=${d}`;case"label":return`.${d}`;case"matrix":return`;${t}=${d}`;default:return d}}let a=re(s),n=Object.entries(i).map(([l,d])=>w({allowReserved:e,name:s==="deepObject"?`${t}[${l}]`:l,value:d})).join(a);return s==="label"||s==="matrix"?a+n:n},"q"),te=/\{[^{}]+\}/g,oe=o(({path:e,url:r})=>{let t=r,s=r.match(te);if(s)for(let i of s){let a=!1,n=i.substring(1,i.length-1),l="simple";n.endsWith("*")&&(a=!0,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),l="label"):n.startsWith(";")&&(n=n.substring(1),l="matrix");let d=e[n];if(d==null)continue;if(Array.isArray(d)){t=t.replace(i,g({explode:a,name:n,style:l,value:d}));continue}if(typeof d=="object"){t=t.replace(i,B({explode:a,name:n,style:l,value:d}));continue}if(l==="matrix"){t=t.replace(i,`;${w({name:n,value:d})}`);continue}let y=encodeURIComponent(l==="label"?`.${d}`:d);t=t.replace(i,y)}return t},"B"),S=o(({allowReserved:e,array:r,object:t}={})=>s=>{let i=[];if(s&&typeof s=="object")for(let a in s){let n=s[a];if(n!=null){if(Array.isArray(n)){i=[...i,g({allowReserved:e,explode:!0,name:a,style:"form",value:n,...r})];continue}if(typeof n=="object"){i=[...i,B({allowReserved:e,explode:!0,name:a,style:"deepObject",value:n,...t})];continue}i=[...i,w({allowReserved:e,name:a,value:n})]}}return i.join("&")},"E"),ne=o(e=>{var t;if(!e)return"stream";let r=(t=e.split(";")[0])==null?void 0:t.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return"json";if(r==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(s=>r.startsWith(s)))return"blob";if(r.startsWith("text/"))return"text"}},"P"),le=o(async({security:e,...r})=>{for(let t of e){let s=await X(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case"query":r.query||(r.query={}),r.query[i]=s;break;case"header":default:r.headers.set(i,s);break}return}},"I"),R=o(e=>se({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:S(e.querySerializer),url:e.url}),"S"),se=o(({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=oe({path:r,url:n}));let l=t?s(t):"";return l.startsWith("?")&&(l=l.substring(1)),l&&(n+=`?${l}`),n},"W"),x=o((e,r)=>{var s;let t={...e,...r};return(s=t.baseUrl)!=null&&s.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=A(e.headers,r.headers),t},"C"),A=o((...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a)}return r},"x"),C,L=(C=class{_fns;constructor(){this._fns=[]}clear(){this._fns=[]}exists(r){return this._fns.indexOf(r)!==-1}eject(r){let t=this._fns.indexOf(r);t!==-1&&(this._fns=[...this._fns.slice(0,t),...this._fns.slice(t+1)])}use(r){this._fns=[...this._fns,r]}},o(C,"m"),C),ie=o(()=>({error:new L,request:new L,response:new L}),"T"),ae=S({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),de={"Content-Type":"application/json"},m=o((e={})=>({...Y,headers:de,parseAs:"auto",querySerializer:ae,...e}),"w"),E=o((e={})=>{let r=x(m(),e),t=o(()=>({...r}),"e"),s=o(n=>(r=x(r,n),t()),"a"),i=ie(),a=o(async n=>{let l={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:A(r.headers,n.headers)};l.security&&await le({...l,security:l.security}),l.body&&l.bodySerializer&&(l.body=l.bodySerializer(l.body)),(l.body===void 0||l.body==="")&&l.headers.delete("Content-Type");let d=R(l),y={redirect:"follow",...l},h=new Request(d,y);for(let u of i.request._fns)h=await u(h,l);let K=l.fetch,c=await K(h);for(let u of i.response._fns)c=await u(c,h,l);let I={request:h,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return{data:{},...I};let u=(l.parseAs==="auto"?ne(c.headers.get("Content-Type")):l.parseAs)??"json";if(u==="stream")return{data:c.body,...I};let T=await c[u]();return u==="json"&&(l.responseValidator&&await l.responseValidator(T),l.responseTransformer&&(T=await l.responseTransformer(T))),{data:T,...I}}let O=await c.text();try{O=JSON.parse(O)}catch{}let f=O;for(let u of i.error._fns)f=await u(O,c,h,l);if(f=f||{},l.throwOnError)throw f;return{error:f,...I}},"o");return{buildUrl:R,connect:o(n=>a({...n,method:"CONNECT"}),"connect"),delete:o(n=>a({...n,method:"DELETE"}),"delete"),get:o(n=>a({...n,method:"GET"}),"get"),getConfig:t,head:o(n=>a({...n,method:"HEAD"}),"head"),interceptors:i,options:o(n=>a({...n,method:"OPTIONS"}),"options"),patch:o(n=>a({...n,method:"PATCH"}),"patch"),post:o(n=>a({...n,method:"POST"}),"post"),put:o(n=>a({...n,method:"PUT"}),"put"),request:a,setConfig:s,trace:o(n=>a({...n,method:"TRACE"}),"trace")}},"J");var p=E(m({baseUrl:"https://swish.app/api/2025-07"}));var q=o(e=>((e==null?void 0:e.client)??p).get({url:"/lists",...e}),"listControllerFind"),j=o(e=>(e.client??p).post({url:"/lists",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"listControllerCreate"),k=o(e=>(e.client??p).delete({url:"/lists/{listId}",...e}),"listControllerDeleteById"),v=o(e=>(e.client??p).get({url:"/lists/{listId}",...e}),"listControllerFindById"),U=o(e=>(e.client??p).patch({url:"/lists/{listId}",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"listControllerUpdateById"),F=o(e=>(e.client??p).put({url:"/lists/{listId}/items/order",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"listControllerSetListItemsOrder"),P=o(e=>(e.client??p).post({url:"/lists/{listId}/items",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"listControllerAddItemsToList"),$=o(e=>(e.client??p).delete({url:"/items",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"itemControllerDelete"),z=o(e=>((e==null?void 0:e.client)??p).get({url:"/items",...e}),"itemControllerFind"),N=o(e=>(e.client??p).post({url:"/items",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"itemControllerCreate"),_=o(e=>(e.client??p).delete({url:"/items/{itemId}",...e}),"itemControllerDeleteById"),V=o(e=>(e.client??p).get({url:"/items/{itemId}",...e}),"itemControllerFindById"),W=o(e=>(e.client??p).patch({url:"/items/{itemId}",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"itemControllerUpdateById"),J=o(e=>(e.client??p).put({url:"/items/{itemId}/lists",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"itemControllerSetListsById"),H=o(e=>((e==null?void 0:e.client)??p).get({url:"/profiles/accounts-version",...e}),"profileControllerCustomerAccountsVersion"),G=o(e=>(e.client??p).post({url:"/profiles/identify",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"profileControllerIdentify"),Q=o(e=>(e.client??p).post({url:"/profiles/token",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"profileControllerCreateToken");var Ee=o(e=>new b(e),"createApiClient"),D=class D{constructor(r){this.client=E(m({baseUrl:"https://swish.app/api/2025-07"}));this.items={list:o(r=>this.handleRequest(z({query:r,client:this.client})),"list"),create:o(r=>this.handleRequest(N({body:r,client:this.client})),"create"),delete:o(r=>this.handleRequest($({body:{itemIds:r},client:this.client})),"delete"),findById:o(r=>this.handleRequest(V({path:{itemId:r},client:this.client})),"findById"),updateById:o((r,t)=>this.handleRequest(W({body:t,path:{itemId:r},client:this.client})),"updateById"),deleteById:o(r=>this.handleRequest(_({path:{itemId:r},client:this.client})),"deleteById"),setListsById:o((r,t)=>this.handleRequest(J({body:{listIds:t},path:{itemId:r},client:this.client})),"setListsById")};this.lists={list:o(r=>this.handleRequest(q({query:r,client:this.client})),"list"),create:o(r=>this.handleRequest(j({body:r,client:this.client})),"create"),findById:o((r,t)=>this.handleRequest(v({path:{listId:r},query:t??{sort:"recently_saved"},client:this.client})),"findById"),updateById:o((r,t)=>this.handleRequest(U({body:t,path:{listId:r},client:this.client})),"updateById"),deleteById:o(r=>this.handleRequest(k({path:{listId:r},client:this.client})),"deleteById"),orderItems:o((r,t)=>this.handleRequest(F({body:{itemIds:t},path:{listId:r},client:this.client})),"orderItems"),addItemsToList:o((r,t)=>this.handleRequest(P({body:{itemIds:t},path:{listId:r},client:this.client})),"addItemsToList")};this.profiles={customerAccountsVersion:o(()=>this.handleRequest(H({client:this.client})),"customerAccountsVersion"),createToken:o((r={})=>this.handleRequest(Q({body:r,client:this.client})),"createToken"),identify:o(r=>this.handleRequest(G({body:r,client:this.client})),"identify")};this.handleRequest=o(async r=>{let{data:t,error:s}=await r;if(s!=null&&s.error)return{data:null,error:s==null?void 0:s.error};if(t!=null&&t.data){let i={data:t.data,error:null};return t.pageInfo&&(i.pageInfo=t.pageInfo),i}return{data:null,error:null}},"handleRequest");this.profile=r.profile,r.authToken&&(this.authToken=r.authToken),r.config&&this.client.setConfig(r.config),this.client.interceptors.request.use(this.requestInterceptor.bind(this)),r.requestInterceptor&&this.client.interceptors.request.use(r.requestInterceptor),r.responseInterceptor&&this.client.interceptors.response.use(r.responseInterceptor)}setProfile(r){this.profile=r}getProfile(){return this.profile}setAuthToken(r){this.authToken=r}setConfig(r){this.client.setConfig(r)}requestInterceptor(r){return this.authToken&&r.headers.set("Authorization",`Bearer ${this.authToken}`),this.profile&&r.headers.set("Profile",this.profile),r}};o(D,"SwishClient");var b=D;var De="https://swish.app/api/2025-07";export{De as baseUrl,Ee as createApiClient};
|
|
1
|
+
var M=Object.defineProperty;var o=(e,r)=>M(e,"name",{value:r,configurable:!0});var X=o(async(e,r)=>{let t=typeof r=="function"?await r(e):r;if(t)return e.scheme==="bearer"?`Bearer ${t}`:e.scheme==="basic"?`Basic ${btoa(t)}`:t},"A");var Y={bodySerializer:o(e=>JSON.stringify(e,(r,t)=>typeof t=="bigint"?t.toString():t),"bodySerializer")};var Z=o(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},"U"),ee=o(e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},"_"),re=o(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},"D"),x=o(({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(!r){let l=(e?i:i.map(d=>encodeURIComponent(d))).join(ee(s));switch(s){case"label":return`.${l}`;case"matrix":return`;${t}=${l}`;case"simple":return l;default:return`${t}=${l}`}}let a=Z(s),n=i.map(l=>s==="label"||s==="simple"?e?l:encodeURIComponent(l):w({allowReserved:e,name:t,value:l})).join(a);return s==="label"||s==="matrix"?a+n:n},"O"),w=o(({allowReserved:e,name:r,value:t})=>{if(t==null)return"";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${r}=${e?t:encodeURIComponent(t)}`},"y"),B=o(({allowReserved:e,explode:r,name:t,style:s,value:i})=>{if(i instanceof Date)return`${t}=${i.toISOString()}`;if(s!=="deepObject"&&!r){let l=[];Object.entries(i).forEach(([y,h])=>{l=[...l,y,e?h:encodeURIComponent(h)]});let d=l.join(",");switch(s){case"form":return`${t}=${d}`;case"label":return`.${d}`;case"matrix":return`;${t}=${d}`;default:return d}}let a=re(s),n=Object.entries(i).map(([l,d])=>w({allowReserved:e,name:s==="deepObject"?`${t}[${l}]`:l,value:d})).join(a);return s==="label"||s==="matrix"?a+n:n},"q"),te=/\{[^{}]+\}/g,oe=o(({path:e,url:r})=>{let t=r,s=r.match(te);if(s)for(let i of s){let a=!1,n=i.substring(1,i.length-1),l="simple";n.endsWith("*")&&(a=!0,n=n.substring(0,n.length-1)),n.startsWith(".")?(n=n.substring(1),l="label"):n.startsWith(";")&&(n=n.substring(1),l="matrix");let d=e[n];if(d==null)continue;if(Array.isArray(d)){t=t.replace(i,x({explode:a,name:n,style:l,value:d}));continue}if(typeof d=="object"){t=t.replace(i,B({explode:a,name:n,style:l,value:d}));continue}if(l==="matrix"){t=t.replace(i,`;${w({name:n,value:d})}`);continue}let y=encodeURIComponent(l==="label"?`.${d}`:d);t=t.replace(i,y)}return t},"B"),S=o(({allowReserved:e,array:r,object:t}={})=>s=>{let i=[];if(s&&typeof s=="object")for(let a in s){let n=s[a];if(n!=null){if(Array.isArray(n)){i=[...i,x({allowReserved:e,explode:!0,name:a,style:"form",value:n,...r})];continue}if(typeof n=="object"){i=[...i,B({allowReserved:e,explode:!0,name:a,style:"deepObject",value:n,...t})];continue}i=[...i,w({allowReserved:e,name:a,value:n})]}}return i.join("&")},"E"),ne=o(e=>{var t;if(!e)return"stream";let r=(t=e.split(";")[0])==null?void 0:t.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return"json";if(r==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(s=>r.startsWith(s)))return"blob";if(r.startsWith("text/"))return"text"}},"P"),le=o(async({security:e,...r})=>{for(let t of e){let s=await X(t,r.auth);if(!s)continue;let i=t.name??"Authorization";switch(t.in){case"query":r.query||(r.query={}),r.query[i]=s;break;case"header":default:r.headers.set(i,s);break}return}},"I"),R=o(e=>se({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:S(e.querySerializer),url:e.url}),"S"),se=o(({baseUrl:e,path:r,query:t,querySerializer:s,url:i})=>{let a=i.startsWith("/")?i:`/${i}`,n=(e??"")+a;r&&(n=oe({path:r,url:n}));let l=t?s(t):"";return l.startsWith("?")&&(l=l.substring(1)),l&&(n+=`?${l}`),n},"W"),g=o((e,r)=>{var s;let t={...e,...r};return(s=t.baseUrl)!=null&&s.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=A(e.headers,r.headers),t},"C"),A=o((...e)=>{let r=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let s=t instanceof Headers?t.entries():Object.entries(t);for(let[i,a]of s)if(a===null)r.delete(i);else if(Array.isArray(a))for(let n of a)r.append(i,n);else a!==void 0&&r.set(i,typeof a=="object"?JSON.stringify(a):a)}return r},"x"),C,L=(C=class{_fns;constructor(){this._fns=[]}clear(){this._fns=[]}exists(r){return this._fns.indexOf(r)!==-1}eject(r){let t=this._fns.indexOf(r);t!==-1&&(this._fns=[...this._fns.slice(0,t),...this._fns.slice(t+1)])}use(r){this._fns=[...this._fns,r]}},o(C,"m"),C),ie=o(()=>({error:new L,request:new L,response:new L}),"T"),ae=S({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),de={"Content-Type":"application/json"},m=o((e={})=>({...Y,headers:de,parseAs:"auto",querySerializer:ae,...e}),"w"),E=o((e={})=>{let r=g(m(),e),t=o(()=>({...r}),"e"),s=o(n=>(r=g(r,n),t()),"a"),i=ie(),a=o(async n=>{let l={...r,...n,fetch:n.fetch??r.fetch??globalThis.fetch,headers:A(r.headers,n.headers)};l.security&&await le({...l,security:l.security}),l.body&&l.bodySerializer&&(l.body=l.bodySerializer(l.body)),(l.body===void 0||l.body==="")&&l.headers.delete("Content-Type");let d=R(l),y={redirect:"follow",...l},h=new Request(d,y);for(let u of i.request._fns)h=await u(h,l);let K=l.fetch,c=await K(h);for(let u of i.response._fns)c=await u(c,h,l);let I={request:h,response:c};if(c.ok){if(c.status===204||c.headers.get("Content-Length")==="0")return{data:{},...I};let u=(l.parseAs==="auto"?ne(c.headers.get("Content-Type")):l.parseAs)??"json";if(u==="stream")return{data:c.body,...I};let T=await c[u]();return u==="json"&&(l.responseValidator&&await l.responseValidator(T),l.responseTransformer&&(T=await l.responseTransformer(T))),{data:T,...I}}let O=await c.text();try{O=JSON.parse(O)}catch{}let f=O;for(let u of i.error._fns)f=await u(O,c,h,l);if(f=f||{},l.throwOnError)throw f;return{error:f,...I}},"o");return{buildUrl:R,connect:o(n=>a({...n,method:"CONNECT"}),"connect"),delete:o(n=>a({...n,method:"DELETE"}),"delete"),get:o(n=>a({...n,method:"GET"}),"get"),getConfig:t,head:o(n=>a({...n,method:"HEAD"}),"head"),interceptors:i,options:o(n=>a({...n,method:"OPTIONS"}),"options"),patch:o(n=>a({...n,method:"PATCH"}),"patch"),post:o(n=>a({...n,method:"POST"}),"post"),put:o(n=>a({...n,method:"PUT"}),"put"),request:a,setConfig:s,trace:o(n=>a({...n,method:"TRACE"}),"trace")}},"J");var p=E(m({baseUrl:"https://swish.app/api/2025-10"}));var q=o(e=>((e==null?void 0:e.client)??p).get({url:"/lists",...e}),"listControllerFind"),v=o(e=>(e.client??p).post({url:"/lists",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"listControllerCreate"),j=o(e=>(e.client??p).delete({url:"/lists/{listId}",...e}),"listControllerDeleteById"),k=o(e=>(e.client??p).get({url:"/lists/{listId}",...e}),"listControllerFindById"),P=o(e=>(e.client??p).patch({url:"/lists/{listId}",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"listControllerUpdateById"),U=o(e=>(e.client??p).put({url:"/lists/{listId}/items/order",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"listControllerSetListItemsOrder"),F=o(e=>(e.client??p).post({url:"/lists/{listId}/items",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"listControllerAddItemsToList"),$=o(e=>(e.client??p).delete({url:"/items",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"itemControllerDelete"),z=o(e=>((e==null?void 0:e.client)??p).get({url:"/items",...e}),"itemControllerFind"),N=o(e=>(e.client??p).post({url:"/items",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"itemControllerCreate"),_=o(e=>(e.client??p).delete({url:"/items/{itemId}",...e}),"itemControllerDeleteById"),V=o(e=>(e.client??p).get({url:"/items/{itemId}",...e}),"itemControllerFindById"),W=o(e=>(e.client??p).patch({url:"/items/{itemId}",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"itemControllerUpdateById"),J=o(e=>(e.client??p).put({url:"/items/{itemId}/lists",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"itemControllerSetListsById"),H=o(e=>((e==null?void 0:e.client)??p).get({url:"/profiles/accounts-version",...e}),"profileControllerCustomerAccountsVersion"),G=o(e=>(e.client??p).post({url:"/profiles/identify",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"profileControllerIdentify"),Q=o(e=>(e.client??p).post({url:"/profiles/token",...e,headers:{"Content-Type":"application/json",...e==null?void 0:e.headers}}),"profileControllerCreateToken");var ce="https://swish.app/api/2025-10",Le=o(e=>new b(e),"createApiClient"),D=class D{constructor(r){this.client=E(m({baseUrl:ce}));this.items={list:o(r=>this.handlePaginatedRequest(z({query:r,client:this.client})),"list"),create:o(r=>this.handleRequest(N({body:r,client:this.client})),"create"),delete:o(r=>this.handleRequest($({body:{itemIds:r},client:this.client})),"delete"),findById:o(r=>this.handleRequest(V({path:{itemId:r},client:this.client})),"findById"),updateById:o((r,t)=>this.handleRequest(W({body:t,path:{itemId:r},client:this.client})),"updateById"),deleteById:o(r=>this.handleRequest(_({path:{itemId:r},client:this.client})),"deleteById"),setListsById:o((r,t)=>this.handleRequest(J({body:{listIds:t},path:{itemId:r},client:this.client})),"setListsById")};this.lists={list:o(r=>this.handlePaginatedRequest(q({query:r,client:this.client})),"list"),create:o(r=>this.handleRequest(v({body:r,client:this.client})),"create"),findById:o(r=>this.handleRequest(k({path:{listId:r},client:this.client})),"findById"),updateById:o((r,t)=>this.handleRequest(P({body:t,path:{listId:r},client:this.client})),"updateById"),deleteById:o(r=>this.handleRequest(j({path:{listId:r},client:this.client})),"deleteById"),orderItems:o((r,t)=>this.handleRequest(U({body:{itemIds:t},path:{listId:r},client:this.client})),"orderItems"),addItemsToList:o((r,t)=>this.handleRequest(F({body:{itemIds:t},path:{listId:r},client:this.client})),"addItemsToList")};this.profiles={customerAccountsVersion:o(()=>this.handleRequest(H({client:this.client})),"customerAccountsVersion"),createToken:o((r={})=>this.handleRequest(Q({body:r,client:this.client})),"createToken"),identify:o(r=>this.handleRequest(G({body:r,client:this.client})),"identify")};this.handleRequest=o(async r=>{let{data:t,error:s}=await r;return s!=null&&s.error?{error:s.error}:{data:t==null?void 0:t.data}},"handleRequest");this.handlePaginatedRequest=o(async r=>{var i;let{data:t,error:s}=await r;return s!=null&&s.error?{error:s.error}:{data:(t==null?void 0:t.data)??[],pageInfo:(t==null?void 0:t.pageInfo)??{next:null,previous:null,totalCount:((i=t==null?void 0:t.data)==null?void 0:i.length)??0}}},"handlePaginatedRequest");this.profile=r.profile,r.authToken&&(this.authToken=r.authToken),r.config&&this.client.setConfig(r.config),this.client.interceptors.request.use(this.requestInterceptor.bind(this)),r.requestInterceptor&&this.client.interceptors.request.use(r.requestInterceptor),r.responseInterceptor&&this.client.interceptors.response.use(r.responseInterceptor)}setProfile(r){this.profile=r}getProfile(){return this.profile}setAuthToken(r){this.authToken=r}setConfig(r){this.client.setConfig(r)}requestInterceptor(r){return this.authToken&&r.headers.set("Authorization",`Bearer ${this.authToken}`),this.profile&&r.headers.set("Profile",this.profile),r}};o(D,"SwishClient");var b=D;export{ce as baseUrl,Le as createApiClient};
|
|
@@ -14,7 +14,7 @@ export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends
|
|
|
14
14
|
meta?: Record<string, unknown>;
|
|
15
15
|
};
|
|
16
16
|
export declare const listControllerFind: <ThrowOnError extends boolean = false>(options?: Options<ListControllerFindData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").Response & {
|
|
17
|
-
data?: Array<import("./types.gen").
|
|
17
|
+
data?: Array<import("./types.gen").ListDetail>;
|
|
18
18
|
}, ListControllerFindError, ThrowOnError>;
|
|
19
19
|
export declare const listControllerCreate: <ThrowOnError extends boolean = false>(options: Options<ListControllerCreateData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").Response & {
|
|
20
20
|
data?: import("./types.gen").List;
|
|
@@ -1,29 +1,3 @@
|
|
|
1
|
-
export type Item = {
|
|
2
|
-
/**
|
|
3
|
-
* The ID of the item
|
|
4
|
-
*/
|
|
5
|
-
id: string;
|
|
6
|
-
/**
|
|
7
|
-
* The Shopify ID of the product
|
|
8
|
-
*/
|
|
9
|
-
productId: number;
|
|
10
|
-
/**
|
|
11
|
-
* The Shopify ID of the variant
|
|
12
|
-
*/
|
|
13
|
-
variantId: number | null;
|
|
14
|
-
/**
|
|
15
|
-
* The quantity of the item in the list
|
|
16
|
-
*/
|
|
17
|
-
quantity: number;
|
|
18
|
-
/**
|
|
19
|
-
* The date and time the item was created
|
|
20
|
-
*/
|
|
21
|
-
createdAt: string;
|
|
22
|
-
/**
|
|
23
|
-
* The date and time the item was updated
|
|
24
|
-
*/
|
|
25
|
-
updatedAt: string;
|
|
26
|
-
};
|
|
27
1
|
export type ListDetail = {
|
|
28
2
|
/**
|
|
29
3
|
* The ID of the list
|
|
@@ -42,9 +16,13 @@ export type ListDetail = {
|
|
|
42
16
|
*/
|
|
43
17
|
updatedAt: string;
|
|
44
18
|
/**
|
|
45
|
-
* The items in the list
|
|
19
|
+
* The number of items in the list
|
|
20
|
+
*/
|
|
21
|
+
itemCount: number;
|
|
22
|
+
/**
|
|
23
|
+
* Array of image URLs for the first 4 items in the list
|
|
46
24
|
*/
|
|
47
|
-
|
|
25
|
+
imageUrls: Array<string>;
|
|
48
26
|
};
|
|
49
27
|
export type List = {
|
|
50
28
|
/**
|
|
@@ -63,14 +41,6 @@ export type List = {
|
|
|
63
41
|
* The date and time the list was updated
|
|
64
42
|
*/
|
|
65
43
|
updatedAt: string;
|
|
66
|
-
/**
|
|
67
|
-
* The number of items in the list
|
|
68
|
-
*/
|
|
69
|
-
itemCount: number;
|
|
70
|
-
/**
|
|
71
|
-
* Array of image URLs for the first 4 items in the list
|
|
72
|
-
*/
|
|
73
|
-
imageUrls: Array<string>;
|
|
74
44
|
};
|
|
75
45
|
export type _Error = {
|
|
76
46
|
/**
|
|
@@ -170,6 +140,32 @@ export type ItemDetail = {
|
|
|
170
140
|
*/
|
|
171
141
|
listIds: Array<string>;
|
|
172
142
|
};
|
|
143
|
+
export type Item = {
|
|
144
|
+
/**
|
|
145
|
+
* The ID of the item
|
|
146
|
+
*/
|
|
147
|
+
id: string;
|
|
148
|
+
/**
|
|
149
|
+
* The Shopify ID of the product
|
|
150
|
+
*/
|
|
151
|
+
productId: number;
|
|
152
|
+
/**
|
|
153
|
+
* The Shopify ID of the variant
|
|
154
|
+
*/
|
|
155
|
+
variantId: number | null;
|
|
156
|
+
/**
|
|
157
|
+
* The quantity of the item in the list
|
|
158
|
+
*/
|
|
159
|
+
quantity: number;
|
|
160
|
+
/**
|
|
161
|
+
* The date and time the item was created
|
|
162
|
+
*/
|
|
163
|
+
createdAt: string;
|
|
164
|
+
/**
|
|
165
|
+
* The date and time the item was updated
|
|
166
|
+
*/
|
|
167
|
+
updatedAt: string;
|
|
168
|
+
};
|
|
173
169
|
export type CreateItemInput = {
|
|
174
170
|
/**
|
|
175
171
|
* The Shopify ID of the product
|
|
@@ -312,7 +308,7 @@ export type ListControllerFindResponses = {
|
|
|
312
308
|
* Returns all lists as paginated response
|
|
313
309
|
*/
|
|
314
310
|
200: Response & {
|
|
315
|
-
data?: Array<
|
|
311
|
+
data?: Array<ListDetail>;
|
|
316
312
|
};
|
|
317
313
|
};
|
|
318
314
|
export type ListControllerFindResponse = ListControllerFindResponses[keyof ListControllerFindResponses];
|
|
@@ -435,12 +431,7 @@ export type ListControllerFindByIdData = {
|
|
|
435
431
|
*/
|
|
436
432
|
listId: string;
|
|
437
433
|
};
|
|
438
|
-
query
|
|
439
|
-
/**
|
|
440
|
-
* The sort order of the items in the list
|
|
441
|
-
*/
|
|
442
|
-
sort: 'recently_saved' | 'custom';
|
|
443
|
-
};
|
|
434
|
+
query?: never;
|
|
444
435
|
url: '/lists/{listId}';
|
|
445
436
|
};
|
|
446
437
|
export type ListControllerFindByIdErrors = {
|
|
@@ -733,6 +724,10 @@ export type ItemControllerFindData = {
|
|
|
733
724
|
* Item search query
|
|
734
725
|
*/
|
|
735
726
|
query?: string;
|
|
727
|
+
/**
|
|
728
|
+
* List ID to filter items by specific list
|
|
729
|
+
*/
|
|
730
|
+
listId?: string;
|
|
736
731
|
};
|
|
737
732
|
url: '/items';
|
|
738
733
|
};
|
|
@@ -1448,5 +1443,5 @@ export type AnalyticsControllerLoadNewListsResponses = {
|
|
|
1448
1443
|
};
|
|
1449
1444
|
export type AnalyticsControllerLoadNewListsResponse = AnalyticsControllerLoadNewListsResponses[keyof AnalyticsControllerLoadNewListsResponses];
|
|
1450
1445
|
export type ClientOptions = {
|
|
1451
|
-
baseUrl: 'https://swish.app/api/2025-
|
|
1446
|
+
baseUrl: 'https://swish.app/api/2025-10' | (string & {});
|
|
1452
1447
|
};
|
package/dist/types.d.ts
CHANGED
|
@@ -33,10 +33,19 @@ export interface ApiError {
|
|
|
33
33
|
requestId: string;
|
|
34
34
|
statusCode: number;
|
|
35
35
|
}
|
|
36
|
+
export interface ApiErrorResponse {
|
|
37
|
+
error: ApiError;
|
|
38
|
+
}
|
|
36
39
|
export type ApiResponse<TData> = {
|
|
37
40
|
data: TData | null;
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
} | {
|
|
42
|
+
error: ApiError;
|
|
43
|
+
};
|
|
44
|
+
export type PaginatedApiResponse<TData> = {
|
|
45
|
+
data: TData[];
|
|
46
|
+
pageInfo: PageInfo;
|
|
47
|
+
} | {
|
|
48
|
+
error: ApiError;
|
|
40
49
|
};
|
|
41
50
|
export type ApiRequestResponse<TData> = Promise<{
|
|
42
51
|
data?: {
|
|
@@ -44,6 +53,6 @@ export type ApiRequestResponse<TData> = Promise<{
|
|
|
44
53
|
pageInfo?: PageInfo;
|
|
45
54
|
} | void;
|
|
46
55
|
error?: {
|
|
47
|
-
error:
|
|
56
|
+
error: ApiError;
|
|
48
57
|
};
|
|
49
58
|
}>;
|