@lockerverse/sdk 0.2.138-dev.1 → 0.2.140-dev.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.
@@ -122,9 +122,13 @@ type CreateLockerverseAuctionOptions = LockerverseResourceEnvironmentOptions & {
122
122
  requestTimeoutMs?: number;
123
123
  sentryDsn?: string | null;
124
124
  };
125
+ type LockerverseAuctionLoadOptions = {
126
+ /** Include one unlisted item when loading an auction for its direct item page. */
127
+ previewItemSlug?: string;
128
+ };
125
129
  type LockerverseAuctionClient = {
126
130
  list: () => Promise<LockerverseAuction[]>;
127
- load: (auctionSlug: string) => Promise<LockerverseAuction>;
131
+ load: (auctionSlug: string, options?: LockerverseAuctionLoadOptions) => Promise<LockerverseAuction>;
128
132
  /** Never retry a bid automatically: the server does not deduplicate bids. */
129
133
  createBid: (auctionSlug: string, itemId: string, submission: LockerverseAuctionBidSubmission) => Promise<LockerverseAuctionBidResult>;
130
134
  createPurchase: (auctionSlug: string, itemId: string, submission: LockerverseAuctionPurchaseSubmission) => Promise<LockerverseAuctionPurchaseResult>;
@@ -142,5 +146,5 @@ declare function calculateLockerverseAuctionPricing(auction: Pick<LockerverseAuc
142
146
  /** Snapshot estimate. Another accepted bid can increase the server minimum. */
143
147
  declare function getLockerverseAuctionMinimumBid(item: Pick<LockerverseAuctionItem, "minBidAmount" | "bidIncrementAmount" | "maxBidAmount">): number;
144
148
  //#endregion
145
- export { type CreateLockerverseAuctionOptions, type LockerverseAuction, type LockerverseAuctionBidResult, type LockerverseAuctionBidSubmission, type LockerverseAuctionClient, type LockerverseAuctionItem, type LockerverseAuctionPricing, type LockerverseAuctionPurchaseReceipt, type LockerverseAuctionPurchaseResult, type LockerverseAuctionPurchaseStatus, type LockerverseAuctionPurchaseSubmission, type LockerverseAuctionSaleMode, type LockerverseAuctionStatus, type LockerverseEnvironment, LockerverseSdkError, type LockerverseSdkErrorCode, type LockerverseSdkOperation, type LockerverseSdkServerCode, calculateLockerverseAuctionPricing, createLockerverseAuctionClient, getLockerverseAuctionMinimumBid };
149
+ export { type CreateLockerverseAuctionOptions, type LockerverseAuction, type LockerverseAuctionBidResult, type LockerverseAuctionBidSubmission, type LockerverseAuctionClient, type LockerverseAuctionItem, type LockerverseAuctionLoadOptions, type LockerverseAuctionPricing, type LockerverseAuctionPurchaseReceipt, type LockerverseAuctionPurchaseResult, type LockerverseAuctionPurchaseStatus, type LockerverseAuctionPurchaseSubmission, type LockerverseAuctionSaleMode, type LockerverseAuctionStatus, type LockerverseEnvironment, LockerverseSdkError, type LockerverseSdkErrorCode, type LockerverseSdkOperation, type LockerverseSdkServerCode, calculateLockerverseAuctionPricing, createLockerverseAuctionClient, getLockerverseAuctionMinimumBid };
146
150
  //# sourceMappingURL=auctions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auctions.d.ts","names":[],"sources":["../src/auction-types.ts","../src/auction-client.ts","../src/auction-pricing.ts"],"mappings":";;KAMY;KACA;KACA;KAOA;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;;EAEA;EACA;EACA;;KAEU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE;IACA;IACA;IACA;IACA;IACA;;EAEF;EACA;EACA;EACA;IAAiB;IAAiB;;EAClC,UAAU;EACV;IAGM;IACA;IACA;IACA;;EAEN;EACA;EACA;EACA;EACA,QAAQ;EACR,OAAO;;KAEG;EACV;EACA;EACA;EACA;;KAEU;;EAEV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAEU,uCAAuC,KACjD;;EAIA;EACA;;EAEA;;KAEU,8BAA8B;EACxC;EACA;;KAEU,mCAAmC;EAC7C;EACA;EACA,QAAQ;EACR;EACA;;;KAGU,oCAAoC;EAC9C;EACA;EACA;;KAEU,kCACV;EACE;;EAEA;EACA,eAAe,WAAW;EAC1B,WAAW,OAAO;EAClB;EACA;;KAEQ;EACV,YAAY,QAAQ;EACpB,OAAO,wBAAwB,QAAQ;;EAEvC,YACE,qBACA,gBACA,YAAY,oCACT,QAAQ;EACb,iBACE,qBACA,gBACA,YAAY,yCACT,QAAQ;;EAEb,oBACE,qBACA,gBACA,4BACG,QAAQ;EACb,qBACE,qBACA,kBACA,uBACG,QAAQ;;;;iBC7HC,+BACd,SAAS,kCACR;;;;iBCxBa,mCACd,SAAS,KAAK,4DACd,uBACA,8BACC;;iBAwBa,gCACd,MAAM,KACJ"}
1
+ {"version":3,"file":"auctions.d.ts","names":[],"sources":["../src/auction-types.ts","../src/auction-client.ts","../src/auction-pricing.ts"],"mappings":";;KAMY;KACA;KACA;KAOA;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;;EAEA;EACA;EACA;;KAEU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE;IACA;IACA;IACA;IACA;IACA;;EAEF;EACA;EACA;EACA;IAAiB;IAAiB;;EAClC,UAAU;EACV;IAGM;IACA;IACA;IACA;;EAEN;EACA;EACA;EACA;EACA,QAAQ;EACR,OAAO;;KAEG;EACV;EACA;EACA;EACA;;KAEU;;EAEV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAEU,uCAAuC,KACjD;;EAIA;EACA;;EAEA;;KAEU,8BAA8B;EACxC;EACA;;KAEU,mCAAmC;EAC7C;EACA;EACA,QAAQ;EACR;EACA;;;KAGU,oCAAoC;EAC9C;EACA;EACA;;KAEU,kCACV;EACE;;EAEA;EACA,eAAe,WAAW;EAC1B,WAAW,OAAO;EAClB;EACA;;KAEQ;;EAEV;;KAEU;EACV,YAAY,QAAQ;EACpB,OACE,qBACA,UAAU,kCACP,QAAQ;;EAEb,YACE,qBACA,gBACA,YAAY,oCACT,QAAQ;EACb,iBACE,qBACA,gBACA,YAAY,yCACT,QAAQ;;EAEb,oBACE,qBACA,gBACA,4BACG,QAAQ;EACb,qBACE,qBACA,kBACA,uBACG,QAAQ;;;;iBCjHC,+BACd,SAAS,kCACR;;;;iBC3Ca,mCACd,SAAS,KAAK,4DACd,uBACA,8BACC;;iBAwBa,gCACd,MAAM,KACJ"}
package/dist/auctions.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as e}from"./schema-helpers.js";import{i as t,n,o as r,r as i,t as a}from"./transport.js";import{n as o}from"./types.js";import{array as s,boolean as c,check as l,email as u,isoTimestamp as d,literal as f,minLength as p,minValue as m,nullable as h,object as g,optional as _,parse as v,picklist as y,pipe as b,regex as x,strictTuple as S,string as C}from"valibot";function w(e,t){if(t===void 0)return e;let n=e=>e?.startsWith(`https://media.lockerverse.com/`)?`${t}/${e.slice(30)}`:e;e.configuration.image=n(e.configuration.image),e.community&&(e.community.banner=n(e.community.banner),e.community.thumbnail=n(e.community.thumbnail));for(let t of e.items)t.image=n(t.image),t.images=t.images.map(n);return e}const T=b(C(),p(1)),E=e(0),D=b(C(),d()),O=y([`draft`,`active`,`finished`]),k=g({auctionId:T,availableQuantity:h(E),bidCount:E,bidIncrementAmount:h(E),buyNowPriceAmount:h(E),collectShippingAddress:c(),communityId:T,createdAt:D,description:h(C()),endAt:_(h(D)),finalizedBidCount:E,finishedAt:_(h(D)),id:T,image:h(C()),images:s(C()),inventoryQuantity:h(E),isSoldOut:c(),maxBidAmount:h(E),minBidAmount:h(E),name:C(),paidQuantity:E,path:T,position:E,reservedQuantity:E,saleMode:y([`auction`,`buy_now`,`hybrid`]),slug:T,startAt:_(h(D)),status:O,updatedAt:D}),A=g({collectShippingAddress:c(),community:_(g({banner:_(h(C())),color:_(h(C())),name:_(C()),thumbnail:_(h(C()))})),communityId:T,configuration:g({collectShippingAddress:c(),endTimeEnabled:_(h(c())),image:h(C()),serviceFeeDefaultChecked:c(),serviceFeeEnabled:c(),startTimeEnabled:_(h(c()))}),createdAt:D,description:h(C()),endAt:D,id:T,items:s(k),name:C(),path:T,payment:_(g({connectedAccountId:h(T),currency:f(`usd`),publishableKey:T})),position:E,pricingPolicy:g({currency:f(`usd`),serviceFeeRateBasisPoints:E}),serviceFeeDefaultChecked:c(),serviceFeeEnabled:c(),slug:T,startAt:D,status:O,updatedAt:D}),j={serviceFeeCents:E,serviceFeeRateBasisPoints:E,subtotalCents:E,totalCents:E},M=e=>e.totalCents===e.subtotalCents+e.serviceFeeCents,N={...j,clientSecret:h(T),requiresAction:c()},P=b(g(N),l(e=>M(e)),l(e=>!e.requiresAction||e.clientSecret!==null)),F=b(g({...N,id:T,purchaseId:T,quantity:b(E,m(1)),status:y([`pending_payment`,`paid`,`payment_failed`,`expired`,`canceled`,`refunded`]),totalAmount:E}),l(e=>M(e)),l(e=>e.id===e.purchaseId&&(!e.requiresAction||e.clientSecret!==null))),I=b(g({...j,quantity:b(E,m(1)),totalAmount:E,unitAmount:E}),l(e=>M(e))),L={confirmationToken:T,email:b(C(),u()),expectedServiceFeeCents:_(E),expectedSubtotalCents:_(E),expectedTotalCents:_(E),includeServiceFee:_(c()),phone:b(C(),x(/^\+[1-9]\d{1,14}$/))},R=g({...L,amount:b(E,m(100))}),z=g({...L,clientRequestId:T,paymentMethodTypes:_(S([f(`card`)])),quantity:b(E,m(1))}),B=e=>v(A,e),V=e=>v(s(A),e),H=e=>v(P,e),U=e=>v(F,e),W=e=>v(I,e),G=e=>v(R,e),K=e=>v(z,e),q=e=>v(h(F),e);function J(e){let s=t(e,`communitySlug`),c=e.mediaBaseUrl===void 0?void 0:i(e.mediaBaseUrl,s.environment,`mediaBaseUrl`),l=e=>w(B(e),c),u=n({communitySlug:s.communitySlugValue,environment:s.environment,getContext:()=>({}),onError:s.onError,resourceContextName:`lockerverse_auction`,sentryDsn:s.sentryDsn}),{requestJson:d}=a(s.fetchImplementation,u,s.requestTimeoutMs),f=`${s.apiBaseUrl}/auctions/communities/slug/${s.communitySlug}`;async function p(e,t,n,i){let a,s;try{a=f+t.map(e=>`/${encodeURIComponent(v(T,e))}`).join(``),i&&(s={body:JSON.stringify(i.parse(i.value)),headers:{"content-type":`application/json`},method:`POST`})}catch{throw u(new o({...e,message:`Lockerverse auction input is invalid.`,reportable:!1}))}try{let t=await d(a,s,n,{...e,report:!1},{...e,report:!1});if(!t.ok){let{status:n}=t.response;throw new o({...e,recoveryRecommended:!!i&&(n>=500||n===408),reportable:n>=500,status:n})}return r(t.value)}catch(t){throw t instanceof o?u(new o({...e,recoveryRecommended:t.recoveryRecommended||!!i&&t.status===void 0,reportable:t.reportable,...t.status===void 0?void 0:{status:t.status}})):u(new o({...e,recoveryRecommended:!!i,reportable:!0}))}}return{createBid:(e,t,n)=>p({code:`auction_bid_failed`,message:`Unable to submit Lockerverse auction bid.`,operation:`create_auction_bid`},[`path`,e,`items`,t,`bids`],H,{parse:G,value:n}),createPurchase:(e,t,n)=>p({code:`auction_purchase_failed`,message:`Unable to submit Lockerverse auction purchase.`,operation:`create_auction_purchase`},[`path`,e,`items`,t,`purchases`],U,{parse:K,value:n}),getPurchaseReceipt:(e,t,n)=>p({code:`auction_receipt_failed`,message:`Unable to load Lockerverse auction purchase receipt.`,operation:`get_auction_purchase_receipt`},[`path`,e,`items`,t,`purchases`,n],W),getPurchaseStatus:(e,t,n)=>p({code:`auction_purchase_status_failed`,message:`Unable to load Lockerverse auction purchase status.`,operation:`get_auction_purchase_status`},[`path`,e,`items`,t,`purchase-status`,n],q),list:()=>p({code:`auction_load_failed`,message:`Unable to load Lockerverse auctions.`,operation:`list_auctions`},[],e=>V(e).map(e=>w(e,c))),load:e=>p({code:`auction_load_failed`,message:`Unable to load Lockerverse auction.`,operation:`load_auction`},[`path`,e],l)}}function Y(e){if(!Number.isSafeInteger(e)||e<0)throw TypeError(`Auction amounts must be non-negative safe integers.`)}function X(e,t,n=!1){if(Y(t),n&&!e.serviceFeeEnabled)throw TypeError(`The service fee is not available for this auction.`);let i=n?e.pricingPolicy.serviceFeeRateBasisPoints:0;Y(i);let a=Math.round(t*i/1e4),o=t+a;return Y(a),Y(o),r({serviceFeeCents:a,serviceFeeRateBasisPoints:i,subtotalCents:t,totalCents:o})}function Z(e){let t=e.minBidAmount??100,n=e.bidIncrementAmount??100;if(Y(t),Y(n),e.maxBidAmount===null)return t;Y(e.maxBidAmount);let r=Math.max(t,e.maxBidAmount+n);return Y(r),r}export{o as LockerverseSdkError,X as calculateLockerverseAuctionPricing,J as createLockerverseAuctionClient,Z as getLockerverseAuctionMinimumBid};
1
+ import{a as e}from"./schema-helpers.js";import{i as t,n,o as r,r as i,t as a}from"./transport.js";import{n as o}from"./types.js";import{array as s,boolean as c,check as l,email as u,isoTimestamp as d,literal as f,minLength as p,minValue as m,nullable as h,object as g,optional as _,parse as v,picklist as y,pipe as b,regex as x,strictTuple as S,string as C}from"valibot";function w(e,t){if(t===void 0)return e;let n=e=>e?.startsWith(`https://media.lockerverse.com/`)?`${t}/${e.slice(30)}`:e;e.configuration.image=n(e.configuration.image),e.community&&(e.community.banner=n(e.community.banner),e.community.thumbnail=n(e.community.thumbnail));for(let t of e.items)t.image=n(t.image),t.images=t.images.map(n);return e}const T=b(C(),p(1)),E=e(0),D=b(C(),d()),O=y([`draft`,`active`,`finished`]),k=g({auctionId:T,availableQuantity:h(E),bidCount:E,bidIncrementAmount:h(E),buyNowPriceAmount:h(E),collectShippingAddress:c(),communityId:T,createdAt:D,description:h(C()),endAt:_(h(D)),finalizedBidCount:E,finishedAt:_(h(D)),id:T,image:h(C()),images:s(C()),inventoryQuantity:h(E),isSoldOut:c(),maxBidAmount:h(E),minBidAmount:h(E),name:C(),paidQuantity:E,path:T,position:E,reservedQuantity:E,saleMode:y([`auction`,`buy_now`,`hybrid`]),slug:T,startAt:_(h(D)),status:O,updatedAt:D}),A=g({collectShippingAddress:c(),community:_(g({banner:_(h(C())),color:_(h(C())),name:_(C()),thumbnail:_(h(C()))})),communityId:T,configuration:g({collectShippingAddress:c(),endTimeEnabled:_(h(c())),image:h(C()),serviceFeeDefaultChecked:c(),serviceFeeEnabled:c(),startTimeEnabled:_(h(c()))}),createdAt:D,description:h(C()),endAt:D,id:T,items:s(k),name:C(),path:T,payment:_(g({connectedAccountId:h(T),currency:f(`usd`),publishableKey:T})),position:E,pricingPolicy:g({currency:f(`usd`),serviceFeeRateBasisPoints:E}),serviceFeeDefaultChecked:c(),serviceFeeEnabled:c(),slug:T,startAt:D,status:O,updatedAt:D}),j={serviceFeeCents:E,serviceFeeRateBasisPoints:E,subtotalCents:E,totalCents:E},M=e=>e.totalCents===e.subtotalCents+e.serviceFeeCents,N={...j,clientSecret:h(T),requiresAction:c()},P=b(g(N),l(e=>M(e)),l(e=>!e.requiresAction||e.clientSecret!==null)),F=b(g({...N,id:T,purchaseId:T,quantity:b(E,m(1)),status:y([`pending_payment`,`paid`,`payment_failed`,`expired`,`canceled`,`refunded`]),totalAmount:E}),l(e=>M(e)),l(e=>e.id===e.purchaseId&&(!e.requiresAction||e.clientSecret!==null))),I=b(g({...j,quantity:b(E,m(1)),totalAmount:E,unitAmount:E}),l(e=>M(e))),L={confirmationToken:T,email:b(C(),u()),expectedServiceFeeCents:_(E),expectedSubtotalCents:_(E),expectedTotalCents:_(E),includeServiceFee:_(c()),phone:b(C(),x(/^\+[1-9]\d{1,14}$/))},R=g({...L,amount:b(E,m(100))}),z=g({...L,clientRequestId:T,paymentMethodTypes:_(S([f(`card`)])),quantity:b(E,m(1))}),B=e=>v(A,e),V=e=>v(s(A),e),H=e=>v(P,e),U=e=>v(F,e),W=e=>v(I,e),G=e=>v(R,e),K=e=>v(z,e),q=e=>v(h(F),e);function J(e,t,n){let r=e+t.map(e=>`/${encodeURIComponent(v(T,e))}`).join(``);return n===void 0?r:`${r}?${new URLSearchParams({previewItem:v(T,n)})}`}function Y(e){let s=t(e,`communitySlug`),c=e.mediaBaseUrl===void 0?void 0:i(e.mediaBaseUrl,s.environment,`mediaBaseUrl`),l=e=>w(B(e),c),u=n({communitySlug:s.communitySlugValue,environment:s.environment,getContext:()=>({}),onError:s.onError,resourceContextName:`lockerverse_auction`,sentryDsn:s.sentryDsn}),{requestJson:d}=a(s.fetchImplementation,u,s.requestTimeoutMs),f=`${s.apiBaseUrl}/auctions/communities/slug/${s.communitySlug}`;async function p(e,t,n,i,a){let s,c;try{s=J(f,t,a),i&&(c={body:JSON.stringify(i.parse(i.value)),headers:{"content-type":`application/json`},method:`POST`})}catch{throw u(new o({...e,message:`Lockerverse auction input is invalid.`,reportable:!1}))}try{let t=await d(s,c,n,{...e,report:!1},{...e,report:!1});if(!t.ok){let{status:n}=t.response;throw new o({...e,recoveryRecommended:!!i&&(n>=500||n===408),reportable:n>=500,status:n})}return r(t.value)}catch(t){throw t instanceof o?u(new o({...e,recoveryRecommended:t.recoveryRecommended||!!i&&t.status===void 0,reportable:t.reportable,...t.status===void 0?void 0:{status:t.status}})):u(new o({...e,recoveryRecommended:!!i,reportable:!0}))}}return{createBid:(e,t,n)=>p({code:`auction_bid_failed`,message:`Unable to submit Lockerverse auction bid.`,operation:`create_auction_bid`},[`path`,e,`items`,t,`bids`],H,{parse:G,value:n}),createPurchase:(e,t,n)=>p({code:`auction_purchase_failed`,message:`Unable to submit Lockerverse auction purchase.`,operation:`create_auction_purchase`},[`path`,e,`items`,t,`purchases`],U,{parse:K,value:n}),getPurchaseReceipt:(e,t,n)=>p({code:`auction_receipt_failed`,message:`Unable to load Lockerverse auction purchase receipt.`,operation:`get_auction_purchase_receipt`},[`path`,e,`items`,t,`purchases`,n],W),getPurchaseStatus:(e,t,n)=>p({code:`auction_purchase_status_failed`,message:`Unable to load Lockerverse auction purchase status.`,operation:`get_auction_purchase_status`},[`path`,e,`items`,t,`purchase-status`,n],q),list:()=>p({code:`auction_load_failed`,message:`Unable to load Lockerverse auctions.`,operation:`list_auctions`},[],e=>V(e).map(e=>w(e,c))),load:(e,t)=>p({code:`auction_load_failed`,message:`Unable to load Lockerverse auction.`,operation:`load_auction`},[`path`,e],l,void 0,t?.previewItemSlug)}}function X(e){if(!Number.isSafeInteger(e)||e<0)throw TypeError(`Auction amounts must be non-negative safe integers.`)}function Z(e,t,n=!1){if(X(t),n&&!e.serviceFeeEnabled)throw TypeError(`The service fee is not available for this auction.`);let i=n?e.pricingPolicy.serviceFeeRateBasisPoints:0;X(i);let a=Math.round(t*i/1e4),o=t+a;return X(a),X(o),r({serviceFeeCents:a,serviceFeeRateBasisPoints:i,subtotalCents:t,totalCents:o})}function Q(e){let t=e.minBidAmount??100,n=e.bidIncrementAmount??100;if(X(t),X(n),e.maxBidAmount===null)return t;X(e.maxBidAmount);let r=Math.max(t,e.maxBidAmount+n);return X(r),r}export{o as LockerverseSdkError,Z as calculateLockerverseAuctionPricing,Y as createLockerverseAuctionClient,Q as getLockerverseAuctionMinimumBid};
2
2
  //# sourceMappingURL=auctions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auctions.js","names":[],"sources":["../src/auction-media.ts","../src/auction-schemas.ts","../src/auction-client.ts","../src/auction-pricing.ts"],"sourcesContent":["import type { LockerverseAuction } from \"./auction-types.ts\";\n\nconst MEDIA_PREFIX = \"https://media.lockerverse.com/\";\n\nexport function rewriteAuctionMedia(\n auction: LockerverseAuction,\n mediaBaseUrl: string | undefined\n): LockerverseAuction {\n if (mediaBaseUrl === undefined) {\n return auction;\n }\n const rewrite = <Value extends string | null | undefined>(value: Value) =>\n value?.startsWith(MEDIA_PREFIX)\n ? `${mediaBaseUrl}/${value.slice(MEDIA_PREFIX.length)}`\n : value;\n\n auction.configuration.image = rewrite(auction.configuration.image);\n if (auction.community) {\n auction.community.banner = rewrite(auction.community.banner);\n auction.community.thumbnail = rewrite(auction.community.thumbnail);\n }\n for (const item of auction.items) {\n item.image = rewrite(item.image);\n item.images = item.images.map(rewrite);\n }\n return auction;\n}\n","import {\n array,\n boolean,\n check,\n email,\n isoTimestamp,\n literal,\n minLength,\n minValue,\n nullable,\n object,\n optional,\n parse,\n picklist,\n pipe,\n regex,\n strictTuple,\n string,\n} from \"valibot\";\n\nimport { safeIntegerSchema } from \"./schema-helpers.ts\";\n\nexport const auctionTextSchema = pipe(string(), minLength(1));\nconst cents = safeIntegerSchema(0);\nconst date = pipe(string(), isoTimestamp());\nconst status = picklist([\"draft\", \"active\", \"finished\"]);\nconst itemSchema = object({\n auctionId: auctionTextSchema,\n availableQuantity: nullable(cents),\n bidCount: cents,\n bidIncrementAmount: nullable(cents),\n buyNowPriceAmount: nullable(cents),\n collectShippingAddress: boolean(),\n communityId: auctionTextSchema,\n createdAt: date,\n description: nullable(string()),\n endAt: optional(nullable(date)),\n finalizedBidCount: cents,\n finishedAt: optional(nullable(date)),\n id: auctionTextSchema,\n image: nullable(string()),\n images: array(string()),\n inventoryQuantity: nullable(cents),\n isSoldOut: boolean(),\n maxBidAmount: nullable(cents),\n minBidAmount: nullable(cents),\n name: string(),\n paidQuantity: cents,\n path: auctionTextSchema,\n position: cents,\n reservedQuantity: cents,\n saleMode: picklist([\"auction\", \"buy_now\", \"hybrid\"]),\n slug: auctionTextSchema,\n startAt: optional(nullable(date)),\n status,\n updatedAt: date,\n});\nconst auctionSchema = object({\n collectShippingAddress: boolean(),\n community: optional(\n object({\n banner: optional(nullable(string())),\n color: optional(nullable(string())),\n name: optional(string()),\n thumbnail: optional(nullable(string())),\n })\n ),\n communityId: auctionTextSchema,\n configuration: object({\n collectShippingAddress: boolean(),\n endTimeEnabled: optional(nullable(boolean())),\n image: nullable(string()),\n serviceFeeDefaultChecked: boolean(),\n serviceFeeEnabled: boolean(),\n startTimeEnabled: optional(nullable(boolean())),\n }),\n createdAt: date,\n description: nullable(string()),\n endAt: date,\n id: auctionTextSchema,\n items: array(itemSchema),\n name: string(),\n path: auctionTextSchema,\n payment: optional(\n object({\n connectedAccountId: nullable(auctionTextSchema),\n currency: literal(\"usd\"),\n publishableKey: auctionTextSchema,\n })\n ),\n position: cents,\n pricingPolicy: object({\n currency: literal(\"usd\"),\n serviceFeeRateBasisPoints: cents,\n }),\n serviceFeeDefaultChecked: boolean(),\n serviceFeeEnabled: boolean(),\n slug: auctionTextSchema,\n startAt: date,\n status,\n updatedAt: date,\n});\nconst pricingEntries = {\n serviceFeeCents: cents,\n serviceFeeRateBasisPoints: cents,\n subtotalCents: cents,\n totalCents: cents,\n};\nconst pricingIsConsistent = (value: {\n subtotalCents: number;\n serviceFeeCents: number;\n totalCents: number;\n}) => value.totalCents === value.subtotalCents + value.serviceFeeCents;\nconst bidResultEntries = {\n ...pricingEntries,\n clientSecret: nullable(auctionTextSchema),\n requiresAction: boolean(),\n};\nconst bidResultSchema = pipe(\n object(bidResultEntries),\n check((value) => pricingIsConsistent(value)),\n check((value) => !value.requiresAction || value.clientSecret !== null)\n);\nconst purchaseResultSchema = pipe(\n object({\n ...bidResultEntries,\n id: auctionTextSchema,\n purchaseId: auctionTextSchema,\n quantity: pipe(cents, minValue(1)),\n status: picklist([\n \"pending_payment\",\n \"paid\",\n \"payment_failed\",\n \"expired\",\n \"canceled\",\n \"refunded\",\n ]),\n totalAmount: cents,\n }),\n check((value) => pricingIsConsistent(value)),\n check(\n (value) =>\n value.id === value.purchaseId &&\n (!value.requiresAction || value.clientSecret !== null)\n )\n);\nconst receiptSchema = pipe(\n object({\n ...pricingEntries,\n quantity: pipe(cents, minValue(1)),\n totalAmount: cents,\n unitAmount: cents,\n }),\n check((value) => pricingIsConsistent(value))\n);\nconst submissionEntries = {\n confirmationToken: auctionTextSchema,\n email: pipe(string(), email()),\n expectedServiceFeeCents: optional(cents),\n expectedSubtotalCents: optional(cents),\n expectedTotalCents: optional(cents),\n includeServiceFee: optional(boolean()),\n phone: pipe(string(), regex(/^\\+[1-9]\\d{1,14}$/)),\n};\nconst bidSubmissionSchema = object({\n ...submissionEntries,\n amount: pipe(cents, minValue(100)),\n});\nconst purchaseSubmissionSchema = object({\n ...submissionEntries,\n clientRequestId: auctionTextSchema,\n paymentMethodTypes: optional(strictTuple([literal(\"card\")])),\n quantity: pipe(cents, minValue(1)),\n});\nexport const parseAuction = <Value>(value: Value) =>\n parse(auctionSchema, value);\nexport const parseAuctions = <Value>(value: Value) =>\n parse(array(auctionSchema), value);\nexport const parseAuctionBidResult = <Value>(value: Value) =>\n parse(bidResultSchema, value);\nexport const parseAuctionPurchaseResult = <Value>(value: Value) =>\n parse(purchaseResultSchema, value);\nexport const parseAuctionPurchaseReceipt = <Value>(value: Value) =>\n parse(receiptSchema, value);\nexport const parseAuctionBidSubmission = <Value>(value: Value) =>\n parse(bidSubmissionSchema, value);\nexport const parseAuctionPurchaseSubmission = <Value>(value: Value) =>\n parse(purchaseSubmissionSchema, value);\n\nexport const parseAuctionPurchaseStatus = <Value>(value: Value) =>\n parse(nullable(purchaseResultSchema), value);\n","import { parse } from \"valibot\";\nimport { rewriteAuctionMedia } from \"./auction-media.ts\";\nimport {\n auctionTextSchema,\n parseAuction,\n parseAuctionBidResult,\n parseAuctionBidSubmission,\n parseAuctionPurchaseReceipt,\n parseAuctionPurchaseResult,\n parseAuctionPurchaseStatus,\n parseAuctionPurchaseSubmission,\n parseAuctions,\n} from \"./auction-schemas.ts\";\nimport type {\n CreateLockerverseAuctionOptions,\n LockerverseAuctionClient,\n} from \"./auction-types.ts\";\nimport { deepFreeze } from \"./deep-freeze.ts\";\nimport {\n parseResourceBaseUrl,\n resolveResourceEnvironment,\n} from \"./environment.ts\";\nimport { createSdkErrorReporter } from \"./error-reporting.ts\";\nimport { createTransport } from \"./transport.ts\";\nimport {\n LockerverseSdkError,\n type LockerverseSdkErrorCode,\n type LockerverseSdkOperation,\n} from \"./types.ts\";\n\ntype RequestContext = {\n code: LockerverseSdkErrorCode;\n operation: LockerverseSdkOperation;\n message: string;\n};\n\nexport function createLockerverseAuctionClient(\n options: CreateLockerverseAuctionOptions\n): LockerverseAuctionClient {\n const runtime = resolveResourceEnvironment(options, \"communitySlug\");\n const mediaBaseUrl =\n options.mediaBaseUrl === undefined\n ? undefined\n : parseResourceBaseUrl(\n options.mediaBaseUrl,\n runtime.environment,\n \"mediaBaseUrl\"\n );\n const parseAuctionResponse = <Value>(value: Value) =>\n rewriteAuctionMedia(parseAuction(value), mediaBaseUrl);\n const reportError = createSdkErrorReporter({\n communitySlug: runtime.communitySlugValue,\n environment: runtime.environment,\n getContext: () => ({}),\n onError: runtime.onError,\n resourceContextName: \"lockerverse_auction\",\n sentryDsn: runtime.sentryDsn,\n });\n const { requestJson } = createTransport(\n runtime.fetchImplementation,\n reportError,\n runtime.requestTimeoutMs\n );\n const baseUrl = `${runtime.apiBaseUrl}/auctions/communities/slug/${runtime.communitySlug}`;\n\n async function request<T, Submission, ParsedSubmission>(\n context: RequestContext,\n segments: string[],\n parser: <Value>(value: Value) => T,\n submission?: {\n value: Submission;\n parse: (value: Submission) => ParsedSubmission;\n }\n ): Promise<T> {\n let url: string;\n let init: RequestInit | undefined;\n try {\n url =\n baseUrl +\n segments\n .map(\n (segment) =>\n `/${encodeURIComponent(parse(auctionTextSchema, segment))}`\n )\n .join(\"\");\n if (submission) {\n init = {\n body: JSON.stringify(submission.parse(submission.value)),\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\",\n };\n }\n } catch {\n // biome-ignore lint/style/useErrorCause: Validation details can contain personal data or confirmation tokens.\n throw reportError(\n new LockerverseSdkError({\n ...context,\n message: \"Lockerverse auction input is invalid.\",\n reportable: false,\n })\n );\n }\n try {\n const response = await requestJson(\n url,\n init,\n parser,\n { ...context, report: false },\n { ...context, report: false }\n );\n if (!response.ok) {\n const { status } = response.response;\n throw new LockerverseSdkError({\n ...context,\n recoveryRecommended:\n Boolean(submission) && (status >= 500 || status === 408),\n reportable: status >= 500,\n status,\n });\n }\n return deepFreeze(response.value);\n } catch (error) {\n if (error instanceof LockerverseSdkError) {\n throw reportError(\n new LockerverseSdkError({\n ...context,\n recoveryRecommended:\n error.recoveryRecommended ||\n (Boolean(submission) && error.status === undefined),\n reportable: error.reportable,\n ...(error.status === undefined\n ? undefined\n : { status: error.status }),\n })\n );\n }\n throw reportError(\n new LockerverseSdkError({\n ...context,\n recoveryRecommended: Boolean(submission),\n reportable: true,\n })\n );\n }\n }\n\n return {\n createBid: (auctionSlug, itemId, submission) =>\n request(\n {\n code: \"auction_bid_failed\",\n message: \"Unable to submit Lockerverse auction bid.\",\n operation: \"create_auction_bid\",\n },\n [\"path\", auctionSlug, \"items\", itemId, \"bids\"],\n parseAuctionBidResult,\n { parse: parseAuctionBidSubmission, value: submission }\n ),\n createPurchase: (auctionSlug, itemId, submission) =>\n request(\n {\n code: \"auction_purchase_failed\",\n message: \"Unable to submit Lockerverse auction purchase.\",\n operation: \"create_auction_purchase\",\n },\n [\"path\", auctionSlug, \"items\", itemId, \"purchases\"],\n parseAuctionPurchaseResult,\n { parse: parseAuctionPurchaseSubmission, value: submission }\n ),\n getPurchaseReceipt: (auctionSlug, itemSlug, purchaseId) =>\n request(\n {\n code: \"auction_receipt_failed\",\n message: \"Unable to load Lockerverse auction purchase receipt.\",\n operation: \"get_auction_purchase_receipt\",\n },\n [\"path\", auctionSlug, \"items\", itemSlug, \"purchases\", purchaseId],\n parseAuctionPurchaseReceipt\n ),\n getPurchaseStatus: (auctionSlug, itemId, clientRequestId) =>\n request(\n {\n code: \"auction_purchase_status_failed\",\n message: \"Unable to load Lockerverse auction purchase status.\",\n operation: \"get_auction_purchase_status\",\n },\n [\n \"path\",\n auctionSlug,\n \"items\",\n itemId,\n \"purchase-status\",\n clientRequestId,\n ],\n parseAuctionPurchaseStatus\n ),\n list: () =>\n request(\n {\n code: \"auction_load_failed\",\n message: \"Unable to load Lockerverse auctions.\",\n operation: \"list_auctions\",\n },\n [],\n (value) =>\n parseAuctions(value).map((auction) =>\n rewriteAuctionMedia(auction, mediaBaseUrl)\n )\n ),\n load: (auctionSlug) =>\n request(\n {\n code: \"auction_load_failed\",\n message: \"Unable to load Lockerverse auction.\",\n operation: \"load_auction\",\n },\n [\"path\", auctionSlug],\n parseAuctionResponse\n ),\n };\n}\n","import type {\n LockerverseAuction,\n LockerverseAuctionItem,\n LockerverseAuctionPricing,\n} from \"./auction-types.ts\";\nimport { deepFreeze } from \"./deep-freeze.ts\";\n\nfunction assertCents(value: number) {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new TypeError(\"Auction amounts must be non-negative safe integers.\");\n }\n}\n\n/** Local estimate. Send expected amounts with the submission for server validation. */\nexport function calculateLockerverseAuctionPricing(\n auction: Pick<LockerverseAuction, \"serviceFeeEnabled\" | \"pricingPolicy\">,\n subtotalCents: number,\n includeServiceFee = false\n): LockerverseAuctionPricing {\n assertCents(subtotalCents);\n if (includeServiceFee && !auction.serviceFeeEnabled) {\n throw new TypeError(\"The service fee is not available for this auction.\");\n }\n const serviceFeeRateBasisPoints = includeServiceFee\n ? auction.pricingPolicy.serviceFeeRateBasisPoints\n : 0;\n assertCents(serviceFeeRateBasisPoints);\n const serviceFeeCents = Math.round(\n (subtotalCents * serviceFeeRateBasisPoints) / 10_000\n );\n const totalCents = subtotalCents + serviceFeeCents;\n assertCents(serviceFeeCents);\n assertCents(totalCents);\n return deepFreeze({\n serviceFeeCents,\n serviceFeeRateBasisPoints,\n subtotalCents,\n totalCents,\n });\n}\n\n/** Snapshot estimate. Another accepted bid can increase the server minimum. */\nexport function getLockerverseAuctionMinimumBid(\n item: Pick<\n LockerverseAuctionItem,\n \"minBidAmount\" | \"bidIncrementAmount\" | \"maxBidAmount\"\n >\n): number {\n const minimum = item.minBidAmount ?? 100;\n const increment = item.bidIncrementAmount ?? 100;\n assertCents(minimum);\n assertCents(increment);\n if (item.maxBidAmount === null) {\n return minimum;\n }\n assertCents(item.maxBidAmount);\n const amount = Math.max(minimum, item.maxBidAmount + increment);\n assertCents(amount);\n return amount;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"auctions.js","names":[],"sources":["../src/auction-media.ts","../src/auction-schemas.ts","../src/auction-client.ts","../src/auction-pricing.ts"],"sourcesContent":["import type { LockerverseAuction } from \"./auction-types.ts\";\n\nconst MEDIA_PREFIX = \"https://media.lockerverse.com/\";\n\nexport function rewriteAuctionMedia(\n auction: LockerverseAuction,\n mediaBaseUrl: string | undefined\n): LockerverseAuction {\n if (mediaBaseUrl === undefined) {\n return auction;\n }\n const rewrite = <Value extends string | null | undefined>(value: Value) =>\n value?.startsWith(MEDIA_PREFIX)\n ? `${mediaBaseUrl}/${value.slice(MEDIA_PREFIX.length)}`\n : value;\n\n auction.configuration.image = rewrite(auction.configuration.image);\n if (auction.community) {\n auction.community.banner = rewrite(auction.community.banner);\n auction.community.thumbnail = rewrite(auction.community.thumbnail);\n }\n for (const item of auction.items) {\n item.image = rewrite(item.image);\n item.images = item.images.map(rewrite);\n }\n return auction;\n}\n","import {\n array,\n boolean,\n check,\n email,\n isoTimestamp,\n literal,\n minLength,\n minValue,\n nullable,\n object,\n optional,\n parse,\n picklist,\n pipe,\n regex,\n strictTuple,\n string,\n} from \"valibot\";\n\nimport { safeIntegerSchema } from \"./schema-helpers.ts\";\n\nexport const auctionTextSchema = pipe(string(), minLength(1));\nconst cents = safeIntegerSchema(0);\nconst date = pipe(string(), isoTimestamp());\nconst status = picklist([\"draft\", \"active\", \"finished\"]);\nconst itemSchema = object({\n auctionId: auctionTextSchema,\n availableQuantity: nullable(cents),\n bidCount: cents,\n bidIncrementAmount: nullable(cents),\n buyNowPriceAmount: nullable(cents),\n collectShippingAddress: boolean(),\n communityId: auctionTextSchema,\n createdAt: date,\n description: nullable(string()),\n endAt: optional(nullable(date)),\n finalizedBidCount: cents,\n finishedAt: optional(nullable(date)),\n id: auctionTextSchema,\n image: nullable(string()),\n images: array(string()),\n inventoryQuantity: nullable(cents),\n isSoldOut: boolean(),\n maxBidAmount: nullable(cents),\n minBidAmount: nullable(cents),\n name: string(),\n paidQuantity: cents,\n path: auctionTextSchema,\n position: cents,\n reservedQuantity: cents,\n saleMode: picklist([\"auction\", \"buy_now\", \"hybrid\"]),\n slug: auctionTextSchema,\n startAt: optional(nullable(date)),\n status,\n updatedAt: date,\n});\nconst auctionSchema = object({\n collectShippingAddress: boolean(),\n community: optional(\n object({\n banner: optional(nullable(string())),\n color: optional(nullable(string())),\n name: optional(string()),\n thumbnail: optional(nullable(string())),\n })\n ),\n communityId: auctionTextSchema,\n configuration: object({\n collectShippingAddress: boolean(),\n endTimeEnabled: optional(nullable(boolean())),\n image: nullable(string()),\n serviceFeeDefaultChecked: boolean(),\n serviceFeeEnabled: boolean(),\n startTimeEnabled: optional(nullable(boolean())),\n }),\n createdAt: date,\n description: nullable(string()),\n endAt: date,\n id: auctionTextSchema,\n items: array(itemSchema),\n name: string(),\n path: auctionTextSchema,\n payment: optional(\n object({\n connectedAccountId: nullable(auctionTextSchema),\n currency: literal(\"usd\"),\n publishableKey: auctionTextSchema,\n })\n ),\n position: cents,\n pricingPolicy: object({\n currency: literal(\"usd\"),\n serviceFeeRateBasisPoints: cents,\n }),\n serviceFeeDefaultChecked: boolean(),\n serviceFeeEnabled: boolean(),\n slug: auctionTextSchema,\n startAt: date,\n status,\n updatedAt: date,\n});\nconst pricingEntries = {\n serviceFeeCents: cents,\n serviceFeeRateBasisPoints: cents,\n subtotalCents: cents,\n totalCents: cents,\n};\nconst pricingIsConsistent = (value: {\n subtotalCents: number;\n serviceFeeCents: number;\n totalCents: number;\n}) => value.totalCents === value.subtotalCents + value.serviceFeeCents;\nconst bidResultEntries = {\n ...pricingEntries,\n clientSecret: nullable(auctionTextSchema),\n requiresAction: boolean(),\n};\nconst bidResultSchema = pipe(\n object(bidResultEntries),\n check((value) => pricingIsConsistent(value)),\n check((value) => !value.requiresAction || value.clientSecret !== null)\n);\nconst purchaseResultSchema = pipe(\n object({\n ...bidResultEntries,\n id: auctionTextSchema,\n purchaseId: auctionTextSchema,\n quantity: pipe(cents, minValue(1)),\n status: picklist([\n \"pending_payment\",\n \"paid\",\n \"payment_failed\",\n \"expired\",\n \"canceled\",\n \"refunded\",\n ]),\n totalAmount: cents,\n }),\n check((value) => pricingIsConsistent(value)),\n check(\n (value) =>\n value.id === value.purchaseId &&\n (!value.requiresAction || value.clientSecret !== null)\n )\n);\nconst receiptSchema = pipe(\n object({\n ...pricingEntries,\n quantity: pipe(cents, minValue(1)),\n totalAmount: cents,\n unitAmount: cents,\n }),\n check((value) => pricingIsConsistent(value))\n);\nconst submissionEntries = {\n confirmationToken: auctionTextSchema,\n email: pipe(string(), email()),\n expectedServiceFeeCents: optional(cents),\n expectedSubtotalCents: optional(cents),\n expectedTotalCents: optional(cents),\n includeServiceFee: optional(boolean()),\n phone: pipe(string(), regex(/^\\+[1-9]\\d{1,14}$/)),\n};\nconst bidSubmissionSchema = object({\n ...submissionEntries,\n amount: pipe(cents, minValue(100)),\n});\nconst purchaseSubmissionSchema = object({\n ...submissionEntries,\n clientRequestId: auctionTextSchema,\n paymentMethodTypes: optional(strictTuple([literal(\"card\")])),\n quantity: pipe(cents, minValue(1)),\n});\nexport const parseAuction = <Value>(value: Value) =>\n parse(auctionSchema, value);\nexport const parseAuctions = <Value>(value: Value) =>\n parse(array(auctionSchema), value);\nexport const parseAuctionBidResult = <Value>(value: Value) =>\n parse(bidResultSchema, value);\nexport const parseAuctionPurchaseResult = <Value>(value: Value) =>\n parse(purchaseResultSchema, value);\nexport const parseAuctionPurchaseReceipt = <Value>(value: Value) =>\n parse(receiptSchema, value);\nexport const parseAuctionBidSubmission = <Value>(value: Value) =>\n parse(bidSubmissionSchema, value);\nexport const parseAuctionPurchaseSubmission = <Value>(value: Value) =>\n parse(purchaseSubmissionSchema, value);\n\nexport const parseAuctionPurchaseStatus = <Value>(value: Value) =>\n parse(nullable(purchaseResultSchema), value);\n","import { parse } from \"valibot\";\nimport { rewriteAuctionMedia } from \"./auction-media.ts\";\nimport {\n auctionTextSchema,\n parseAuction,\n parseAuctionBidResult,\n parseAuctionBidSubmission,\n parseAuctionPurchaseReceipt,\n parseAuctionPurchaseResult,\n parseAuctionPurchaseStatus,\n parseAuctionPurchaseSubmission,\n parseAuctions,\n} from \"./auction-schemas.ts\";\nimport type {\n CreateLockerverseAuctionOptions,\n LockerverseAuctionClient,\n} from \"./auction-types.ts\";\nimport { deepFreeze } from \"./deep-freeze.ts\";\nimport {\n parseResourceBaseUrl,\n resolveResourceEnvironment,\n} from \"./environment.ts\";\nimport { createSdkErrorReporter } from \"./error-reporting.ts\";\nimport { createTransport } from \"./transport.ts\";\nimport {\n LockerverseSdkError,\n type LockerverseSdkErrorCode,\n type LockerverseSdkOperation,\n} from \"./types.ts\";\n\ntype RequestContext = {\n code: LockerverseSdkErrorCode;\n operation: LockerverseSdkOperation;\n message: string;\n};\n\nfunction auctionRequestUrl(\n baseUrl: string,\n segments: string[],\n previewItemSlug?: string\n): string {\n const path =\n baseUrl +\n segments\n .map(\n (segment) => `/${encodeURIComponent(parse(auctionTextSchema, segment))}`\n )\n .join(\"\");\n return previewItemSlug === undefined\n ? path\n : `${path}?${new URLSearchParams({\n previewItem: parse(auctionTextSchema, previewItemSlug),\n })}`;\n}\n\nexport function createLockerverseAuctionClient(\n options: CreateLockerverseAuctionOptions\n): LockerverseAuctionClient {\n const runtime = resolveResourceEnvironment(options, \"communitySlug\");\n const mediaBaseUrl =\n options.mediaBaseUrl === undefined\n ? undefined\n : parseResourceBaseUrl(\n options.mediaBaseUrl,\n runtime.environment,\n \"mediaBaseUrl\"\n );\n const parseAuctionResponse = <Value>(value: Value) =>\n rewriteAuctionMedia(parseAuction(value), mediaBaseUrl);\n const reportError = createSdkErrorReporter({\n communitySlug: runtime.communitySlugValue,\n environment: runtime.environment,\n getContext: () => ({}),\n onError: runtime.onError,\n resourceContextName: \"lockerverse_auction\",\n sentryDsn: runtime.sentryDsn,\n });\n const { requestJson } = createTransport(\n runtime.fetchImplementation,\n reportError,\n runtime.requestTimeoutMs\n );\n const baseUrl = `${runtime.apiBaseUrl}/auctions/communities/slug/${runtime.communitySlug}`;\n\n async function request<T, Submission, ParsedSubmission>(\n context: RequestContext,\n segments: string[],\n parser: <Value>(value: Value) => T,\n submission?: {\n value: Submission;\n parse: (value: Submission) => ParsedSubmission;\n },\n previewItemSlug?: string\n ): Promise<T> {\n let url: string;\n let init: RequestInit | undefined;\n try {\n url = auctionRequestUrl(baseUrl, segments, previewItemSlug);\n if (submission) {\n init = {\n body: JSON.stringify(submission.parse(submission.value)),\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\",\n };\n }\n } catch {\n // biome-ignore lint/style/useErrorCause: Validation details can contain personal data or confirmation tokens.\n throw reportError(\n new LockerverseSdkError({\n ...context,\n message: \"Lockerverse auction input is invalid.\",\n reportable: false,\n })\n );\n }\n try {\n const response = await requestJson(\n url,\n init,\n parser,\n { ...context, report: false },\n { ...context, report: false }\n );\n if (!response.ok) {\n const { status } = response.response;\n throw new LockerverseSdkError({\n ...context,\n recoveryRecommended:\n Boolean(submission) && (status >= 500 || status === 408),\n reportable: status >= 500,\n status,\n });\n }\n return deepFreeze(response.value);\n } catch (error) {\n if (error instanceof LockerverseSdkError) {\n throw reportError(\n new LockerverseSdkError({\n ...context,\n recoveryRecommended:\n error.recoveryRecommended ||\n (Boolean(submission) && error.status === undefined),\n reportable: error.reportable,\n ...(error.status === undefined\n ? undefined\n : { status: error.status }),\n })\n );\n }\n throw reportError(\n new LockerverseSdkError({\n ...context,\n recoveryRecommended: Boolean(submission),\n reportable: true,\n })\n );\n }\n }\n\n return {\n createBid: (auctionSlug, itemId, submission) =>\n request(\n {\n code: \"auction_bid_failed\",\n message: \"Unable to submit Lockerverse auction bid.\",\n operation: \"create_auction_bid\",\n },\n [\"path\", auctionSlug, \"items\", itemId, \"bids\"],\n parseAuctionBidResult,\n { parse: parseAuctionBidSubmission, value: submission }\n ),\n createPurchase: (auctionSlug, itemId, submission) =>\n request(\n {\n code: \"auction_purchase_failed\",\n message: \"Unable to submit Lockerverse auction purchase.\",\n operation: \"create_auction_purchase\",\n },\n [\"path\", auctionSlug, \"items\", itemId, \"purchases\"],\n parseAuctionPurchaseResult,\n { parse: parseAuctionPurchaseSubmission, value: submission }\n ),\n getPurchaseReceipt: (auctionSlug, itemSlug, purchaseId) =>\n request(\n {\n code: \"auction_receipt_failed\",\n message: \"Unable to load Lockerverse auction purchase receipt.\",\n operation: \"get_auction_purchase_receipt\",\n },\n [\"path\", auctionSlug, \"items\", itemSlug, \"purchases\", purchaseId],\n parseAuctionPurchaseReceipt\n ),\n getPurchaseStatus: (auctionSlug, itemId, clientRequestId) =>\n request(\n {\n code: \"auction_purchase_status_failed\",\n message: \"Unable to load Lockerverse auction purchase status.\",\n operation: \"get_auction_purchase_status\",\n },\n [\n \"path\",\n auctionSlug,\n \"items\",\n itemId,\n \"purchase-status\",\n clientRequestId,\n ],\n parseAuctionPurchaseStatus\n ),\n list: () =>\n request(\n {\n code: \"auction_load_failed\",\n message: \"Unable to load Lockerverse auctions.\",\n operation: \"list_auctions\",\n },\n [],\n (value) =>\n parseAuctions(value).map((auction) =>\n rewriteAuctionMedia(auction, mediaBaseUrl)\n )\n ),\n load: (auctionSlug, loadOptions) =>\n request(\n {\n code: \"auction_load_failed\",\n message: \"Unable to load Lockerverse auction.\",\n operation: \"load_auction\",\n },\n [\"path\", auctionSlug],\n parseAuctionResponse,\n undefined,\n loadOptions?.previewItemSlug\n ),\n };\n}\n","import type {\n LockerverseAuction,\n LockerverseAuctionItem,\n LockerverseAuctionPricing,\n} from \"./auction-types.ts\";\nimport { deepFreeze } from \"./deep-freeze.ts\";\n\nfunction assertCents(value: number) {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new TypeError(\"Auction amounts must be non-negative safe integers.\");\n }\n}\n\n/** Local estimate. Send expected amounts with the submission for server validation. */\nexport function calculateLockerverseAuctionPricing(\n auction: Pick<LockerverseAuction, \"serviceFeeEnabled\" | \"pricingPolicy\">,\n subtotalCents: number,\n includeServiceFee = false\n): LockerverseAuctionPricing {\n assertCents(subtotalCents);\n if (includeServiceFee && !auction.serviceFeeEnabled) {\n throw new TypeError(\"The service fee is not available for this auction.\");\n }\n const serviceFeeRateBasisPoints = includeServiceFee\n ? auction.pricingPolicy.serviceFeeRateBasisPoints\n : 0;\n assertCents(serviceFeeRateBasisPoints);\n const serviceFeeCents = Math.round(\n (subtotalCents * serviceFeeRateBasisPoints) / 10_000\n );\n const totalCents = subtotalCents + serviceFeeCents;\n assertCents(serviceFeeCents);\n assertCents(totalCents);\n return deepFreeze({\n serviceFeeCents,\n serviceFeeRateBasisPoints,\n subtotalCents,\n totalCents,\n });\n}\n\n/** Snapshot estimate. Another accepted bid can increase the server minimum. */\nexport function getLockerverseAuctionMinimumBid(\n item: Pick<\n LockerverseAuctionItem,\n \"minBidAmount\" | \"bidIncrementAmount\" | \"maxBidAmount\"\n >\n): number {\n const minimum = item.minBidAmount ?? 100;\n const increment = item.bidIncrementAmount ?? 100;\n assertCents(minimum);\n assertCents(increment);\n if (item.maxBidAmount === null) {\n return minimum;\n }\n assertCents(item.maxBidAmount);\n const amount = Math.max(minimum, item.maxBidAmount + increment);\n assertCents(amount);\n return amount;\n}\n"],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
- const e=`0.2.138-dev.1`;var t=class extends Error{code;operation;reportable;recoveryRecommended;sdkVersion;serverCode;status;constructor({code:t,message:n,operation:r,reportable:i,recoveryRecommended:a=!1,serverCode:o,status:s}){super(n),this.name=`LockerverseSdkError`,this.code=t,this.operation=r,this.reportable=i,this.recoveryRecommended=a,this.sdkVersion=e,this.serverCode=o,this.status=s}};export{t as n,e as t};
1
+ const e=`0.2.140-dev.1`;var t=class extends Error{code;operation;reportable;recoveryRecommended;sdkVersion;serverCode;status;constructor({code:t,message:n,operation:r,reportable:i,recoveryRecommended:a=!1,serverCode:o,status:s}){super(n),this.name=`LockerverseSdkError`,this.code=t,this.operation=r,this.reportable=i,this.recoveryRecommended=a,this.sdkVersion=e,this.serverCode=o,this.status=s}};export{t as n,e as t};
2
2
  //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lockerverse/sdk",
3
- "version": "0.2.138-dev.1",
3
+ "version": "0.2.140-dev.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/Lockerverse/lockerverse-sdk.git",