@lockerverse/sdk 0.2.137 → 0.2.138-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.
package/README.md CHANGED
@@ -336,6 +336,14 @@ import { createLockerversePublicEventsClient } from "@lockerverse/sdk/public-eve
336
336
  const client = createLockerversePublicEventsClient({ communitySlug: "auburn" });
337
337
  const upcoming = await client.list();
338
338
  const past = await client.listPast({ limit: 20, offset: 0 });
339
+ const selected = await client.search({
340
+ from: "2026-09-01T00:00:00.000Z",
341
+ to: "2026-10-01T00:00:00.000Z",
342
+ timeScope: "all",
343
+ sort: "startAtAsc",
344
+ limit: 20,
345
+ offset: 0,
346
+ });
339
347
  if (past.hasMore) {
340
348
  const nextPage = await client.listPast({ limit: 20, offset: past.events.length });
341
349
  }
@@ -350,6 +358,12 @@ already loaded. Each Event has `id`, `name`, `description`, `imageUrl`, `locatio
350
358
  returns immutable snapshots. Use `@lockerverse/react/public-events` for the
351
359
  styled list with Upcoming and Past views.
352
360
 
361
+ `search()` returns the same page shape and defaults to `timeScope: "current"`.
362
+ The Event must overlap the window:
363
+ it must end after `from` and start before `to`. `timeScope` can be
364
+ `current`, `past`, or `all`. Sort with `startAtAsc`, `startAtDesc`, `endAtAsc`,
365
+ or `endAtDesc`. Follow `hasMore` with the next `offset` to read the full range.
366
+
353
367
  ## Security and observability
354
368
 
355
369
  - No Stripe or Lockerverse secret is accepted by the public API.
@@ -14,6 +14,18 @@ type LockerversePastEventsPage = {
14
14
  events: LockerversePublicEvent[];
15
15
  hasMore: boolean;
16
16
  };
17
+ type LockerversePublicEventsPage = LockerversePastEventsPage;
18
+ type LockerversePublicEventsSort = "startAtAsc" | "startAtDesc" | "endAtAsc" | "endAtDesc";
19
+ type LockerversePublicEventsSearchOptions = {
20
+ /** Inclusive lower bound of the event overlap window, as an ISO instant. */
21
+ from?: string | undefined;
22
+ /** Exclusive upper bound of the event overlap window, as an ISO instant. */
23
+ to?: string | undefined;
24
+ timeScope?: "current" | "past" | "all";
25
+ sort?: LockerversePublicEventsSort | undefined;
26
+ limit?: number;
27
+ offset?: number;
28
+ };
17
29
  type CreateLockerversePublicEventsOptions = LockerverseResourceEnvironmentOptions & {
18
30
  communitySlug: string;
19
31
  fetch?: typeof globalThis.fetch;
@@ -23,6 +35,7 @@ type CreateLockerversePublicEventsOptions = LockerverseResourceEnvironmentOption
23
35
  };
24
36
  type LockerversePublicEventsClient = {
25
37
  list: () => Promise<LockerversePublicEvent[]>;
38
+ search: (options?: LockerversePublicEventsSearchOptions) => Promise<LockerversePublicEventsPage>;
26
39
  listPast: (options?: {
27
40
  limit?: number;
28
41
  offset?: number;
@@ -32,5 +45,5 @@ type LockerversePublicEventsClient = {
32
45
  //#region src/public-events-client.d.ts
33
46
  declare function createLockerversePublicEventsClient(options: CreateLockerversePublicEventsOptions): LockerversePublicEventsClient;
34
47
  //#endregion
35
- export { type CreateLockerversePublicEventsOptions, type LockerverseEnvironment, type LockerversePastEventsPage, type LockerversePublicEvent, type LockerversePublicEventsClient, LockerverseSdkError, createLockerversePublicEventsClient };
48
+ export { type CreateLockerversePublicEventsOptions, type LockerverseEnvironment, type LockerversePastEventsPage, type LockerversePublicEvent, type LockerversePublicEventsClient, type LockerversePublicEventsPage, type LockerversePublicEventsSearchOptions, type LockerversePublicEventsSort, LockerverseSdkError, createLockerversePublicEventsClient };
36
49
  //# sourceMappingURL=public-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-events.d.ts","names":[],"sources":["../src/public-events-types.ts","../src/public-events-client.ts"],"mappings":";;KAKY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV,QAAQ;EACR;;KAGU,uCACV;EACE;EACA,eAAe,WAAW;EAC1B,WAAW,OAAO;EAClB;EACA;;KAGQ;EACV,YAAY,QAAQ;EACpB,WAAW;IACT;IACA;QACI,QAAQ;;;;iBCrBA,oCACd,SAAS,uCACR"}
1
+ {"version":3,"file":"public-events.d.ts","names":[],"sources":["../src/public-events-types.ts","../src/public-events-client.ts"],"mappings":";;KAKY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV,QAAQ;EACR;;KAGU,8BAA8B;KAE9B;KAMA;;EAEV;;EAEA;EACA;EACA,OAAO;EACP;EACA;;KAGU,uCACV;EACE;EACA,eAAe,WAAW;EAC1B,WAAW,OAAO;EAClB;EACA;;KAGQ;EACV,YAAY,QAAQ;EACpB,SACE,UAAU,yCACP,QAAQ;EACb,WAAW;IACT;IACA;QACI,QAAQ;;;;iBC1CA,oCACd,SAAS,uCACR"}
@@ -1,2 +1,2 @@
1
- import{i as e,n as t,o as n,t as r}from"./transport.js";import{n as i}from"./types.js";import{array as a,boolean as o,isoTimestamp as s,nullable as c,object as l,optional as u,parse as d,pipe as f,string as p}from"valibot";const m=l({description:c(p()),endAt:f(p(),s()),id:p(),imageUrl:u(c(p()),null),link:c(p()),location:c(p()),name:p(),startAt:f(p(),s())}),h=e=>d(a(m),e),g=e=>d(l({events:a(m),hasMore:o()}),e);function _(a){let o=e(a,`communitySlug`),s=t({communitySlug:o.communitySlugValue,environment:o.environment,getContext:()=>({}),onError:o.onError,resourceContextName:`lockerverse_public_events`,sentryDsn:o.sentryDsn}),{requestJson:c}=r(o.fetchImplementation,s,o.requestTimeoutMs),l={code:`public_events_load_failed`,message:`Unable to load Lockerverse events.`,operation:`list_public_events`};return{async list(){try{let e=await c(`${o.apiBaseUrl}/community/${o.communitySlug}/events`,void 0,h,{...l,report:!1},{...l,report:!1});if(!e.ok)throw new i({...l,reportable:e.response.status>=500,status:e.response.status});return n(e.value)}catch(e){throw e instanceof i?s(e):s(new i({...l,reportable:!0}))}},async listPast({limit:e=20,offset:t=0}={}){try{let r=new URLSearchParams({limit:String(e),offset:String(t)}),a=await c(`${o.apiBaseUrl}/community/${o.communitySlug}/events/past?${r}`,void 0,g,{...l,report:!1},{...l,report:!1});if(!a.ok)throw new i({...l,reportable:a.response.status>=500,status:a.response.status});return n(a.value)}catch(e){throw e instanceof i?s(e):s(new i({...l,reportable:!0}))}}}}export{i as LockerverseSdkError,_ as createLockerversePublicEventsClient};
1
+ import{i as e,n as t,o as n,t as r}from"./transport.js";import{n as i}from"./types.js";import{array as a,boolean as o,isoTimestamp as s,nullable as c,object as l,optional as u,parse as d,pipe as f,string as p}from"valibot";const m=l({description:c(p()),endAt:f(p(),s()),id:p(),imageUrl:u(c(p()),null),link:c(p()),location:c(p()),name:p(),startAt:f(p(),s())}),h=e=>d(a(m),e),g=e=>d(l({events:a(m),hasMore:o()}),e);function _(a){let o=e(a,`communitySlug`),s=t({communitySlug:o.communitySlugValue,environment:o.environment,getContext:()=>({}),onError:o.onError,resourceContextName:`lockerverse_public_events`,sentryDsn:o.sentryDsn}),{requestJson:c}=r(o.fetchImplementation,s,o.requestTimeoutMs),l={code:`public_events_load_failed`,message:`Unable to load Lockerverse events.`,operation:`list_public_events`};return{async list(){try{let e=await c(`${o.apiBaseUrl}/community/${o.communitySlug}/events`,void 0,h,{...l,report:!1},{...l,report:!1});if(!e.ok)throw new i({...l,reportable:e.response.status>=500,status:e.response.status});return n(e.value)}catch(e){throw e instanceof i?s(e):s(new i({...l,reportable:!0}))}},async listPast({limit:e=20,offset:t=0}={}){try{let r=new URLSearchParams({limit:String(e),offset:String(t)}),a=await c(`${o.apiBaseUrl}/community/${o.communitySlug}/events/past?${r}`,void 0,g,{...l,report:!1},{...l,report:!1});if(!a.ok)throw new i({...l,reportable:a.response.status>=500,status:a.response.status});return n(a.value)}catch(e){throw e instanceof i?s(e):s(new i({...l,reportable:!0}))}},async search({from:e,to:t,timeScope:r=`current`,sort:a,limit:u=20,offset:d=0}={}){try{let s=new URLSearchParams({limit:String(u),offset:String(d),timeScope:r});e&&s.set(`from`,e),t&&s.set(`to`,t),a&&s.set(`sort`,a);let f=await c(`${o.apiBaseUrl}/community/${o.communitySlug}/events/search?${s}`,void 0,g,{...l,report:!1},{...l,report:!1});if(!f.ok)throw new i({...l,reportable:f.response.status>=500,status:f.response.status});return n(f.value)}catch(e){throw e instanceof i?s(e):s(new i({...l,reportable:!0}))}}}}export{i as LockerverseSdkError,_ as createLockerversePublicEventsClient};
2
2
  //# sourceMappingURL=public-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-events.js","names":[],"sources":["../src/public-events-schemas.ts","../src/public-events-client.ts"],"sourcesContent":["import {\n array,\n boolean,\n isoTimestamp,\n nullable,\n object,\n optional,\n parse,\n pipe,\n string,\n} from \"valibot\";\n\nconst publicEventSchema = object({\n description: nullable(string()),\n endAt: pipe(string(), isoTimestamp()),\n id: string(),\n imageUrl: optional(nullable(string()), null),\n link: nullable(string()),\n location: nullable(string()),\n name: string(),\n startAt: pipe(string(), isoTimestamp()),\n});\n\nexport const parsePublicEvents = <Value>(value: Value) =>\n parse(array(publicEventSchema), value);\n\nexport const parsePastEventsPage = <Value>(value: Value) =>\n parse(\n object({ events: array(publicEventSchema), hasMore: boolean() }),\n value\n );\n","import { deepFreeze } from \"./deep-freeze.ts\";\nimport { resolveResourceEnvironment } from \"./environment.ts\";\nimport { createSdkErrorReporter } from \"./error-reporting.ts\";\nimport {\n parsePastEventsPage,\n parsePublicEvents,\n} from \"./public-events-schemas.ts\";\nimport type {\n CreateLockerversePublicEventsOptions,\n LockerversePublicEventsClient,\n} from \"./public-events-types.ts\";\nimport { createTransport } from \"./transport.ts\";\nimport { LockerverseSdkError } from \"./types.ts\";\n\nexport function createLockerversePublicEventsClient(\n options: CreateLockerversePublicEventsOptions\n): LockerversePublicEventsClient {\n const runtime = resolveResourceEnvironment(options, \"communitySlug\");\n const reportError = createSdkErrorReporter({\n communitySlug: runtime.communitySlugValue,\n environment: runtime.environment,\n getContext: () => ({}),\n onError: runtime.onError,\n resourceContextName: \"lockerverse_public_events\",\n sentryDsn: runtime.sentryDsn,\n });\n const { requestJson } = createTransport(\n runtime.fetchImplementation,\n reportError,\n runtime.requestTimeoutMs\n );\n const context = {\n code: \"public_events_load_failed\" as const,\n message: \"Unable to load Lockerverse events.\",\n operation: \"list_public_events\" as const,\n };\n\n return {\n async list() {\n try {\n const response = await requestJson(\n `${runtime.apiBaseUrl}/community/${runtime.communitySlug}/events`,\n undefined,\n parsePublicEvents,\n { ...context, report: false },\n { ...context, report: false }\n );\n if (!response.ok) {\n throw new LockerverseSdkError({\n ...context,\n reportable: response.response.status >= 500,\n status: response.response.status,\n });\n }\n return deepFreeze(response.value);\n } catch (error) {\n if (error instanceof LockerverseSdkError) {\n throw reportError(error);\n }\n throw reportError(\n new LockerverseSdkError({ ...context, reportable: true })\n );\n }\n },\n async listPast({ limit = 20, offset = 0 } = {}) {\n try {\n const query = new URLSearchParams({\n limit: String(limit),\n offset: String(offset),\n });\n const response = await requestJson(\n `${runtime.apiBaseUrl}/community/${runtime.communitySlug}/events/past?${query}`,\n undefined,\n parsePastEventsPage,\n { ...context, report: false },\n { ...context, report: false }\n );\n if (!response.ok) {\n throw new LockerverseSdkError({\n ...context,\n reportable: response.response.status >= 500,\n status: response.response.status,\n });\n }\n return deepFreeze(response.value);\n } catch (error) {\n if (error instanceof LockerverseSdkError) {\n throw reportError(error);\n }\n throw reportError(\n new LockerverseSdkError({ ...context, reportable: true })\n );\n }\n },\n };\n}\n"],"mappings":"+NAYA,MAAM,EAAoB,EAAO,CAC/B,YAAa,EAAS,EAAO,CAAC,EAC9B,MAAO,EAAK,EAAO,EAAG,EAAa,CAAC,EACpC,GAAI,EAAO,EACX,SAAU,EAAS,EAAS,EAAO,CAAC,EAAG,IAAI,EAC3C,KAAM,EAAS,EAAO,CAAC,EACvB,SAAU,EAAS,EAAO,CAAC,EAC3B,KAAM,EAAO,EACb,QAAS,EAAK,EAAO,EAAG,EAAa,CAAC,CACxC,CAAC,EAEY,EAA4B,GACvC,EAAM,EAAM,CAAiB,EAAG,CAAK,EAE1B,EAA8B,GACzC,EACE,EAAO,CAAE,OAAQ,EAAM,CAAiB,EAAG,QAAS,EAAQ,CAAE,CAAC,EAC/D,CACF,EChBF,SAAgB,EACd,EAC+B,CAC/B,IAAM,EAAU,EAA2B,EAAS,eAAe,EAC7D,EAAc,EAAuB,CACzC,cAAe,EAAQ,mBACvB,YAAa,EAAQ,YACrB,gBAAmB,CAAC,GACpB,QAAS,EAAQ,QACjB,oBAAqB,4BACrB,UAAW,EAAQ,SACrB,CAAC,EACK,CAAE,eAAgB,EACtB,EAAQ,oBACR,EACA,EAAQ,gBACV,EACM,EAAU,CACd,KAAM,4BACN,QAAS,qCACT,UAAW,oBACb,EAEA,MAAO,CACL,MAAM,MAAO,CACX,GAAI,CACF,IAAM,EAAW,MAAM,EACrB,GAAG,EAAQ,WAAW,aAAa,EAAQ,cAAc,SACzD,IAAA,GACA,EACA,CAAE,GAAG,EAAS,OAAQ,EAAM,EAC5B,CAAE,GAAG,EAAS,OAAQ,EAAM,CAC9B,EACA,GAAI,CAAC,EAAS,GACZ,MAAM,IAAI,EAAoB,CAC5B,GAAG,EACH,WAAY,EAAS,SAAS,QAAU,IACxC,OAAQ,EAAS,SAAS,MAC5B,CAAC,EAEH,OAAO,EAAW,EAAS,KAAK,CAClC,OAAS,EAAO,CAId,MAHI,aAAiB,EACb,EAAY,CAAK,EAEnB,EACJ,IAAI,EAAoB,CAAE,GAAG,EAAS,WAAY,EAAK,CAAC,CAC1D,CACF,CACF,EACA,MAAM,SAAS,CAAE,QAAQ,GAAI,SAAS,GAAM,CAAC,EAAG,CAC9C,GAAI,CACF,IAAM,EAAQ,IAAI,gBAAgB,CAChC,MAAO,OAAO,CAAK,EACnB,OAAQ,OAAO,CAAM,CACvB,CAAC,EACK,EAAW,MAAM,EACrB,GAAG,EAAQ,WAAW,aAAa,EAAQ,cAAc,eAAe,IACxE,IAAA,GACA,EACA,CAAE,GAAG,EAAS,OAAQ,EAAM,EAC5B,CAAE,GAAG,EAAS,OAAQ,EAAM,CAC9B,EACA,GAAI,CAAC,EAAS,GACZ,MAAM,IAAI,EAAoB,CAC5B,GAAG,EACH,WAAY,EAAS,SAAS,QAAU,IACxC,OAAQ,EAAS,SAAS,MAC5B,CAAC,EAEH,OAAO,EAAW,EAAS,KAAK,CAClC,OAAS,EAAO,CAId,MAHI,aAAiB,EACb,EAAY,CAAK,EAEnB,EACJ,IAAI,EAAoB,CAAE,GAAG,EAAS,WAAY,EAAK,CAAC,CAC1D,CACF,CACF,CACF,CACF"}
1
+ {"version":3,"file":"public-events.js","names":[],"sources":["../src/public-events-schemas.ts","../src/public-events-client.ts"],"sourcesContent":["import {\n array,\n boolean,\n isoTimestamp,\n nullable,\n object,\n optional,\n parse,\n pipe,\n string,\n} from \"valibot\";\n\nconst publicEventSchema = object({\n description: nullable(string()),\n endAt: pipe(string(), isoTimestamp()),\n id: string(),\n imageUrl: optional(nullable(string()), null),\n link: nullable(string()),\n location: nullable(string()),\n name: string(),\n startAt: pipe(string(), isoTimestamp()),\n});\n\nexport const parsePublicEvents = <Value>(value: Value) =>\n parse(array(publicEventSchema), value);\n\nexport const parsePastEventsPage = <Value>(value: Value) =>\n parse(\n object({ events: array(publicEventSchema), hasMore: boolean() }),\n value\n );\n","import { deepFreeze } from \"./deep-freeze.ts\";\nimport { resolveResourceEnvironment } from \"./environment.ts\";\nimport { createSdkErrorReporter } from \"./error-reporting.ts\";\nimport {\n parsePastEventsPage,\n parsePublicEvents,\n} from \"./public-events-schemas.ts\";\nimport type {\n CreateLockerversePublicEventsOptions,\n LockerversePublicEventsClient,\n LockerversePublicEventsSearchOptions,\n} from \"./public-events-types.ts\";\nimport { createTransport } from \"./transport.ts\";\nimport { LockerverseSdkError } from \"./types.ts\";\n\nexport function createLockerversePublicEventsClient(\n options: CreateLockerversePublicEventsOptions\n): LockerversePublicEventsClient {\n const runtime = resolveResourceEnvironment(options, \"communitySlug\");\n const reportError = createSdkErrorReporter({\n communitySlug: runtime.communitySlugValue,\n environment: runtime.environment,\n getContext: () => ({}),\n onError: runtime.onError,\n resourceContextName: \"lockerverse_public_events\",\n sentryDsn: runtime.sentryDsn,\n });\n const { requestJson } = createTransport(\n runtime.fetchImplementation,\n reportError,\n runtime.requestTimeoutMs\n );\n const context = {\n code: \"public_events_load_failed\" as const,\n message: \"Unable to load Lockerverse events.\",\n operation: \"list_public_events\" as const,\n };\n\n return {\n async list() {\n try {\n const response = await requestJson(\n `${runtime.apiBaseUrl}/community/${runtime.communitySlug}/events`,\n undefined,\n parsePublicEvents,\n { ...context, report: false },\n { ...context, report: false }\n );\n if (!response.ok) {\n throw new LockerverseSdkError({\n ...context,\n reportable: response.response.status >= 500,\n status: response.response.status,\n });\n }\n return deepFreeze(response.value);\n } catch (error) {\n if (error instanceof LockerverseSdkError) {\n throw reportError(error);\n }\n throw reportError(\n new LockerverseSdkError({ ...context, reportable: true })\n );\n }\n },\n async listPast({ limit = 20, offset = 0 } = {}) {\n try {\n const query = new URLSearchParams({\n limit: String(limit),\n offset: String(offset),\n });\n const response = await requestJson(\n `${runtime.apiBaseUrl}/community/${runtime.communitySlug}/events/past?${query}`,\n undefined,\n parsePastEventsPage,\n { ...context, report: false },\n { ...context, report: false }\n );\n if (!response.ok) {\n throw new LockerverseSdkError({\n ...context,\n reportable: response.response.status >= 500,\n status: response.response.status,\n });\n }\n return deepFreeze(response.value);\n } catch (error) {\n if (error instanceof LockerverseSdkError) {\n throw reportError(error);\n }\n throw reportError(\n new LockerverseSdkError({ ...context, reportable: true })\n );\n }\n },\n async search({\n from,\n to,\n timeScope = \"current\",\n sort,\n limit = 20,\n offset = 0,\n }: LockerversePublicEventsSearchOptions = {}) {\n try {\n const query = new URLSearchParams({\n limit: String(limit),\n offset: String(offset),\n timeScope,\n });\n if (from) {\n query.set(\"from\", from);\n }\n if (to) {\n query.set(\"to\", to);\n }\n if (sort) {\n query.set(\"sort\", sort);\n }\n const response = await requestJson(\n `${runtime.apiBaseUrl}/community/${runtime.communitySlug}/events/search?${query}`,\n undefined,\n parsePastEventsPage,\n { ...context, report: false },\n { ...context, report: false }\n );\n if (!response.ok) {\n throw new LockerverseSdkError({\n ...context,\n reportable: response.response.status >= 500,\n status: response.response.status,\n });\n }\n return deepFreeze(response.value);\n } catch (error) {\n if (error instanceof LockerverseSdkError) {\n throw reportError(error);\n }\n throw reportError(\n new LockerverseSdkError({ ...context, reportable: true })\n );\n }\n },\n };\n}\n"],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
- const e=`0.2.137`;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.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};
2
2
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["packageMetadata.version"],"sources":["../package.json","../src/types.ts"],"sourcesContent":["","import packageMetadata from \"../package.json\" with { type: \"json\" };\nimport type { GeneratedPaymentResult } from \"./generated/public-contract-types.ts\";\n\nexport type LockerversePaymentOption = \"one-time\" | \"monthly\" | \"annually\";\nexport type LockerverseEnvironment = \"development\" | \"production\";\nexport type LockerverseFulfillmentType = \"none\" | \"event_admission\";\n\nexport const LOCKERVERSE_SDK_VERSION = packageMetadata.version;\n\nexport type LockerverseProduct = {\n id: string;\n listingId: string;\n slug: string;\n name: string;\n description: string | null;\n fulfillmentType: LockerverseFulfillmentType;\n pricingMode: \"fixed\" | \"custom\";\n paymentOption: LockerversePaymentOption;\n amountCents: number | null;\n minimumAmountCents: number | null;\n minimumQuantity: number | null;\n maximumQuantity: number | null;\n inventoryQuantity: number | null;\n acceptsDiscounts: boolean;\n};\n\nexport type LockerverseAvailabilityStatus = \"available\" | \"sold_out\";\n\nexport type LockerverseCatalogAvailability = {\n listings: Array<{\n listingId: string;\n maxPurchasableQuantity: number | null;\n remainingQuantity: number | null;\n status: LockerverseAvailabilityStatus;\n }>;\n sharedLimits: Array<{\n id: string;\n listingIds: string[];\n remainingQuantity: number;\n status: LockerverseAvailabilityStatus;\n }>;\n};\n\nexport type LockerverseCatalog = {\n availability: LockerverseCatalogAvailability;\n community: LockerverseCommunityBranding | null;\n event: LockerverseEvent | null;\n payment: LockerversePaymentConfiguration;\n pricingPolicy: LockerverseCheckoutPricingPolicy;\n products: LockerverseProduct[];\n widget: LockerverseWidgetConfiguration;\n};\n\nexport type LockerverseEvent = {\n description: string | null;\n endAt: string;\n id: string;\n location: string | null;\n name: string;\n startAt: string;\n status: \"draft\" | \"active\" | \"finished\" | \"cancelled\";\n};\n\nexport type LockerverseCommunityBranding = {\n accentColor: string;\n imageUrl: string | null;\n memberIdLabel?: string | null | undefined;\n name: string;\n};\n\nexport type LockerverseCheckoutPricingPolicy = {\n currency: \"usd\";\n serviceFeeRateBasisPoints: number;\n};\n\nexport type LockerversePaymentConfiguration = {\n connectedAccountId: string | null;\n currency: \"usd\";\n publishableKey: string;\n};\n\nexport type LockerverseWidgetFields = {\n memberId: boolean;\n merchSize: boolean;\n phone: boolean;\n promoCode: boolean;\n serviceFee: boolean;\n shipping: boolean;\n tipping: boolean;\n};\n\nexport type LockerverseCustomFieldOption = { id: string; label: string };\n\ntype LockerverseCustomFieldBase = {\n id: string;\n label: string;\n required: boolean;\n};\n\nexport type LockerverseTextCustomField = LockerverseCustomFieldBase & {\n type: \"text\" | \"textarea\";\n};\n\nexport type LockerverseBooleanCustomField = LockerverseCustomFieldBase & {\n type: \"checkbox\";\n};\n\nexport type LockerverseSingleOptionCustomField = LockerverseCustomFieldBase & {\n options: LockerverseCustomFieldOption[];\n type: \"radio\" | \"select\";\n};\n\nexport type LockerverseMultiOptionCustomField = LockerverseCustomFieldBase & {\n options: LockerverseCustomFieldOption[];\n type: \"checkboxes\" | \"multi_select\";\n};\n\nexport type LockerverseCustomField =\n | LockerverseBooleanCustomField\n | LockerverseTextCustomField\n | LockerverseSingleOptionCustomField\n | LockerverseMultiOptionCustomField;\n\nexport type LockerverseCustomFieldAnswerValue<\n Field extends LockerverseCustomField,\n> = Field extends LockerverseBooleanCustomField\n ? boolean\n : Field extends LockerverseMultiOptionCustomField\n ? string[]\n : string;\n\nexport type LockerverseCustomFieldAnswer<\n Field extends LockerverseCustomField = LockerverseCustomField,\n> = Field extends LockerverseCustomField\n ? { fieldId: Field[\"id\"]; value: LockerverseCustomFieldAnswerValue<Field> }\n : never;\n\nexport type LockerverseWidgetConfiguration = {\n customFields: LockerverseCustomField[];\n description: string | null;\n fields: LockerverseWidgetFields;\n id: string;\n name: string;\n showCommunityBranding: boolean;\n title: string | null;\n};\n\nexport type LockerverseSdkErrorCode =\n | \"public_events_load_failed\"\n | \"auction_load_failed\"\n | \"auction_bid_failed\"\n | \"auction_purchase_failed\"\n | \"auction_purchase_status_failed\"\n | \"auction_receipt_failed\"\n | \"widget_load_failed\"\n | \"signup_load_failed\"\n | \"signup_submit_failed\"\n | \"total_calculation_failed\"\n | \"payment_submit_failed\"\n | \"payment_status_failed\"\n | \"invalid_selection\";\n\nexport type LockerverseSdkOperation =\n | \"list_public_events\"\n | \"list_auctions\"\n | \"load_auction\"\n | \"create_auction_bid\"\n | \"create_auction_purchase\"\n | \"get_auction_purchase_receipt\"\n | \"get_auction_purchase_status\"\n | \"load_widget\"\n | \"load_signup\"\n | \"submit_signup\"\n | \"calculate_total\"\n | \"submit_payment\"\n | \"get_payment_status\";\n\nexport type LockerverseSdkServerCode =\n | \"PAYMENT_WIDGET_SALES_LIMIT_REACHED\"\n | \"PAYMENT_WIDGET_PHONE_INVALID\"\n | \"PAYMENT_WIDGET_PHONE_REQUIRED\"\n | \"SIGN_UP_WIDGET_PHONE_INVALID\"\n | \"SIGN_UP_WIDGET_PHONE_REQUIRED\";\n\nexport class LockerverseSdkError extends Error {\n readonly code: LockerverseSdkErrorCode;\n readonly operation: LockerverseSdkOperation;\n readonly reportable: boolean;\n readonly recoveryRecommended: boolean;\n readonly sdkVersion: string;\n readonly serverCode: LockerverseSdkServerCode | undefined;\n readonly status: number | undefined;\n\n constructor({\n code,\n message,\n operation,\n reportable,\n recoveryRecommended = false,\n serverCode,\n status,\n }: {\n code: LockerverseSdkErrorCode;\n message: string;\n operation: LockerverseSdkOperation;\n reportable: boolean;\n recoveryRecommended?: boolean;\n serverCode?: LockerverseSdkServerCode;\n status?: number;\n }) {\n super(message);\n this.name = \"LockerverseSdkError\";\n this.code = code;\n this.operation = operation;\n this.reportable = reportable;\n this.recoveryRecommended = recoveryRecommended;\n this.sdkVersion = LOCKERVERSE_SDK_VERSION;\n this.serverCode = serverCode;\n this.status = status;\n }\n}\n\nexport type LockerverseCheckoutLineItem = {\n productId: string;\n productName: string;\n listingId: string;\n listingSlug: string;\n acceptsDiscounts: boolean;\n eventId: string | null;\n fulfillmentType: LockerverseFulfillmentType;\n pricingMode: \"fixed\" | \"custom\";\n paymentOption: LockerversePaymentOption;\n quantity: number;\n unitAmountCents: number;\n subtotalCents: number;\n};\n\nexport type LockerverseAppliedDiscount = {\n percentageOff: number;\n source: \"email_list\" | \"promo_code\";\n};\n\nexport type LockerverseCheckoutAmounts = {\n amountCents: number;\n discountableSubtotalCents: number;\n discountCents: number;\n serviceFeeCents: number;\n subtotalCents: number;\n tipCents: number;\n totalCents: number;\n};\n\nexport type LockerverseCheckoutQuote = LockerverseCheckoutAmounts & {\n appliedDiscount: LockerverseAppliedDiscount | null;\n authoritative: true;\n paymentReference: string;\n payment: LockerversePaymentConfiguration;\n paymentOption: LockerversePaymentOption;\n lineItems: LockerverseCheckoutLineItem[];\n};\n\nexport type LockerverseCheckoutEstimate = LockerverseCheckoutAmounts & {\n appliedDiscount: null;\n authoritative: false;\n items: readonly LockerverseCheckoutItem[];\n lineItems: readonly LockerverseCheckoutLineItem[];\n paymentOption: LockerversePaymentOption;\n};\n\nexport type LockerverseCheckoutPricingInput = {\n email?: string;\n includeServiceFee?: boolean;\n promoCode?: string;\n tipCents?: number;\n};\n\nexport type LockerversePaymentStatus =\n | \"action_required\"\n | \"failed\"\n | \"pending\"\n | \"success\";\n\nexport type LockerversePaymentResult = {\n checkoutId: string;\n paymentReference: string;\n checkoutStatus: LockerversePaymentStatus;\n clientSecret: string | null;\n paymentRequired: boolean;\n requiresAction: boolean;\n status: string | null;\n};\n\nexport type LockerversePaymentCompletion = LockerversePaymentResult & {\n email: string | null;\n lineItems: readonly LockerverseCheckoutLineItem[] | null;\n};\n\ntype AssertPaymentContract<T extends true> = T;\ntype _PaymentResultMatchesGenerated = AssertPaymentContract<\n LockerversePaymentResult extends GeneratedPaymentResult\n ? GeneratedPaymentResult extends LockerversePaymentResult\n ? true\n : false\n : false\n>;\n\nexport type LockerverseShipping = {\n address: {\n city: string;\n country: string;\n line1: string;\n line2?: string;\n postal_code: string;\n state: string;\n };\n name: string;\n};\n\nexport type LockerversePaymentSubmission = {\n confirmationToken?: string;\n customFieldAnswers?: LockerverseCustomFieldAnswer[];\n email: string;\n memberId?: string;\n merchSize?: \"XS\" | \"S\" | \"M\" | \"L\" | \"XL\" | \"XXL\" | \"XXXL\";\n metadata?: Record<string, string>;\n phone?: string;\n shipping?: LockerverseShipping;\n};\n\nexport type LockerverseCheckoutItem =\n | { productId: string; quantity: number }\n | { productId: string; amountCents: number }\n | { productId: string };\n\nexport type LockerverseCheckoutSelectionItem =\n | { productSlug: string; quantity: number }\n | { productSlug: string; amountCents: number }\n | { productSlug: string };\n\nexport type LockerverseEstimateCheckoutInput =\n LockerverseCheckoutPricingInput & {\n selection: LockerverseCheckoutSelectionItem[];\n };\n\nexport type LockerverseLoadCheckoutInput = {\n selection: LockerverseCheckoutSelectionItem[];\n};\n\nexport type LockerverseCalculateTotalInput = LockerverseCheckoutPricingInput & {\n catalog: LockerverseCatalog;\n} & (\n | {\n items: LockerverseCheckoutItem[];\n selection?: never;\n }\n | {\n items?: never;\n selection: LockerverseCheckoutSelectionItem[];\n }\n );\n\nexport type LockerversePreparedCheckout = Readonly<\n LockerverseCheckoutQuote & {\n items: readonly LockerverseCheckoutItem[];\n pricing: Readonly<LockerverseCheckoutPricingInput>;\n }\n>;\n\nexport type LockerverseLoadedCheckout = Readonly<{\n catalog: LockerverseCatalog;\n checkout: LockerversePreparedCheckout;\n}>;\n\nexport type LockerverseSubmitPaymentInput = {\n checkout: LockerversePreparedCheckout;\n submission: LockerversePaymentSubmission;\n};\n\ntype CreateLockerverseWidgetBaseOptions = {\n communitySlug: string;\n fetch?: typeof globalThis.fetch;\n onError?: (error: LockerverseSdkError) => void;\n requestTimeoutMs?: number;\n sentryDsn?: string | null;\n widgetSlug: string;\n};\n\nexport type LockerverseResourceEnvironmentOptions =\n | {\n apiBaseUrl: string;\n environment: LockerverseEnvironment;\n }\n | {\n apiBaseUrl?: undefined;\n environment?: \"production\";\n };\n\nexport type CreateLockerverseWidgetOptions =\n CreateLockerverseWidgetBaseOptions & LockerverseResourceEnvironmentOptions;\n\nexport type LockerverseCheckoutClient = {\n calculateTotal: (\n input: LockerverseCalculateTotalInput\n ) => Promise<LockerversePreparedCheckout>;\n getPaymentStatus: (\n paymentReference: string\n ) => Promise<LockerversePaymentResult>;\n load: {\n (): Promise<LockerverseCatalog>;\n (input: LockerverseLoadCheckoutInput): Promise<LockerverseLoadedCheckout>;\n };\n submitPayment: (\n input: LockerverseSubmitPaymentInput\n ) => Promise<LockerversePaymentResult>;\n};\n"],"mappings":"ACOA,MAAa,EAA0BA,UAiLvC,IAAa,EAAb,cAAyC,KAAM,CAC7C,KACA,UACA,WACA,oBACA,WACA,WACA,OAEA,YAAY,CACV,OACA,UACA,YACA,aACA,sBAAsB,GACtB,aACA,UASC,CACD,MAAM,CAAO,EACb,KAAK,KAAO,sBACZ,KAAK,KAAO,EACZ,KAAK,UAAY,EACjB,KAAK,WAAa,EAClB,KAAK,oBAAsB,EAC3B,KAAK,WAAa,EAClB,KAAK,WAAa,EAClB,KAAK,OAAS,CAChB,CACF"}
1
+ {"version":3,"file":"types.js","names":["packageMetadata.version"],"sources":["../package.json","../src/types.ts"],"sourcesContent":["","import packageMetadata from \"../package.json\" with { type: \"json\" };\nimport type { GeneratedPaymentResult } from \"./generated/public-contract-types.ts\";\n\nexport type LockerversePaymentOption = \"one-time\" | \"monthly\" | \"annually\";\nexport type LockerverseEnvironment = \"development\" | \"production\";\nexport type LockerverseFulfillmentType = \"none\" | \"event_admission\";\n\nexport const LOCKERVERSE_SDK_VERSION = packageMetadata.version;\n\nexport type LockerverseProduct = {\n id: string;\n listingId: string;\n slug: string;\n name: string;\n description: string | null;\n fulfillmentType: LockerverseFulfillmentType;\n pricingMode: \"fixed\" | \"custom\";\n paymentOption: LockerversePaymentOption;\n amountCents: number | null;\n minimumAmountCents: number | null;\n minimumQuantity: number | null;\n maximumQuantity: number | null;\n inventoryQuantity: number | null;\n acceptsDiscounts: boolean;\n};\n\nexport type LockerverseAvailabilityStatus = \"available\" | \"sold_out\";\n\nexport type LockerverseCatalogAvailability = {\n listings: Array<{\n listingId: string;\n maxPurchasableQuantity: number | null;\n remainingQuantity: number | null;\n status: LockerverseAvailabilityStatus;\n }>;\n sharedLimits: Array<{\n id: string;\n listingIds: string[];\n remainingQuantity: number;\n status: LockerverseAvailabilityStatus;\n }>;\n};\n\nexport type LockerverseCatalog = {\n availability: LockerverseCatalogAvailability;\n community: LockerverseCommunityBranding | null;\n event: LockerverseEvent | null;\n payment: LockerversePaymentConfiguration;\n pricingPolicy: LockerverseCheckoutPricingPolicy;\n products: LockerverseProduct[];\n widget: LockerverseWidgetConfiguration;\n};\n\nexport type LockerverseEvent = {\n description: string | null;\n endAt: string;\n id: string;\n location: string | null;\n name: string;\n startAt: string;\n status: \"draft\" | \"active\" | \"finished\" | \"cancelled\";\n};\n\nexport type LockerverseCommunityBranding = {\n accentColor: string;\n imageUrl: string | null;\n memberIdLabel?: string | null | undefined;\n name: string;\n};\n\nexport type LockerverseCheckoutPricingPolicy = {\n currency: \"usd\";\n serviceFeeRateBasisPoints: number;\n};\n\nexport type LockerversePaymentConfiguration = {\n connectedAccountId: string | null;\n currency: \"usd\";\n publishableKey: string;\n};\n\nexport type LockerverseWidgetFields = {\n memberId: boolean;\n merchSize: boolean;\n phone: boolean;\n promoCode: boolean;\n serviceFee: boolean;\n shipping: boolean;\n tipping: boolean;\n};\n\nexport type LockerverseCustomFieldOption = { id: string; label: string };\n\ntype LockerverseCustomFieldBase = {\n id: string;\n label: string;\n required: boolean;\n};\n\nexport type LockerverseTextCustomField = LockerverseCustomFieldBase & {\n type: \"text\" | \"textarea\";\n};\n\nexport type LockerverseBooleanCustomField = LockerverseCustomFieldBase & {\n type: \"checkbox\";\n};\n\nexport type LockerverseSingleOptionCustomField = LockerverseCustomFieldBase & {\n options: LockerverseCustomFieldOption[];\n type: \"radio\" | \"select\";\n};\n\nexport type LockerverseMultiOptionCustomField = LockerverseCustomFieldBase & {\n options: LockerverseCustomFieldOption[];\n type: \"checkboxes\" | \"multi_select\";\n};\n\nexport type LockerverseCustomField =\n | LockerverseBooleanCustomField\n | LockerverseTextCustomField\n | LockerverseSingleOptionCustomField\n | LockerverseMultiOptionCustomField;\n\nexport type LockerverseCustomFieldAnswerValue<\n Field extends LockerverseCustomField,\n> = Field extends LockerverseBooleanCustomField\n ? boolean\n : Field extends LockerverseMultiOptionCustomField\n ? string[]\n : string;\n\nexport type LockerverseCustomFieldAnswer<\n Field extends LockerverseCustomField = LockerverseCustomField,\n> = Field extends LockerverseCustomField\n ? { fieldId: Field[\"id\"]; value: LockerverseCustomFieldAnswerValue<Field> }\n : never;\n\nexport type LockerverseWidgetConfiguration = {\n customFields: LockerverseCustomField[];\n description: string | null;\n fields: LockerverseWidgetFields;\n id: string;\n name: string;\n showCommunityBranding: boolean;\n title: string | null;\n};\n\nexport type LockerverseSdkErrorCode =\n | \"public_events_load_failed\"\n | \"auction_load_failed\"\n | \"auction_bid_failed\"\n | \"auction_purchase_failed\"\n | \"auction_purchase_status_failed\"\n | \"auction_receipt_failed\"\n | \"widget_load_failed\"\n | \"signup_load_failed\"\n | \"signup_submit_failed\"\n | \"total_calculation_failed\"\n | \"payment_submit_failed\"\n | \"payment_status_failed\"\n | \"invalid_selection\";\n\nexport type LockerverseSdkOperation =\n | \"list_public_events\"\n | \"list_auctions\"\n | \"load_auction\"\n | \"create_auction_bid\"\n | \"create_auction_purchase\"\n | \"get_auction_purchase_receipt\"\n | \"get_auction_purchase_status\"\n | \"load_widget\"\n | \"load_signup\"\n | \"submit_signup\"\n | \"calculate_total\"\n | \"submit_payment\"\n | \"get_payment_status\";\n\nexport type LockerverseSdkServerCode =\n | \"PAYMENT_WIDGET_SALES_LIMIT_REACHED\"\n | \"PAYMENT_WIDGET_PHONE_INVALID\"\n | \"PAYMENT_WIDGET_PHONE_REQUIRED\"\n | \"SIGN_UP_WIDGET_PHONE_INVALID\"\n | \"SIGN_UP_WIDGET_PHONE_REQUIRED\";\n\nexport class LockerverseSdkError extends Error {\n readonly code: LockerverseSdkErrorCode;\n readonly operation: LockerverseSdkOperation;\n readonly reportable: boolean;\n readonly recoveryRecommended: boolean;\n readonly sdkVersion: string;\n readonly serverCode: LockerverseSdkServerCode | undefined;\n readonly status: number | undefined;\n\n constructor({\n code,\n message,\n operation,\n reportable,\n recoveryRecommended = false,\n serverCode,\n status,\n }: {\n code: LockerverseSdkErrorCode;\n message: string;\n operation: LockerverseSdkOperation;\n reportable: boolean;\n recoveryRecommended?: boolean;\n serverCode?: LockerverseSdkServerCode;\n status?: number;\n }) {\n super(message);\n this.name = \"LockerverseSdkError\";\n this.code = code;\n this.operation = operation;\n this.reportable = reportable;\n this.recoveryRecommended = recoveryRecommended;\n this.sdkVersion = LOCKERVERSE_SDK_VERSION;\n this.serverCode = serverCode;\n this.status = status;\n }\n}\n\nexport type LockerverseCheckoutLineItem = {\n productId: string;\n productName: string;\n listingId: string;\n listingSlug: string;\n acceptsDiscounts: boolean;\n eventId: string | null;\n fulfillmentType: LockerverseFulfillmentType;\n pricingMode: \"fixed\" | \"custom\";\n paymentOption: LockerversePaymentOption;\n quantity: number;\n unitAmountCents: number;\n subtotalCents: number;\n};\n\nexport type LockerverseAppliedDiscount = {\n percentageOff: number;\n source: \"email_list\" | \"promo_code\";\n};\n\nexport type LockerverseCheckoutAmounts = {\n amountCents: number;\n discountableSubtotalCents: number;\n discountCents: number;\n serviceFeeCents: number;\n subtotalCents: number;\n tipCents: number;\n totalCents: number;\n};\n\nexport type LockerverseCheckoutQuote = LockerverseCheckoutAmounts & {\n appliedDiscount: LockerverseAppliedDiscount | null;\n authoritative: true;\n paymentReference: string;\n payment: LockerversePaymentConfiguration;\n paymentOption: LockerversePaymentOption;\n lineItems: LockerverseCheckoutLineItem[];\n};\n\nexport type LockerverseCheckoutEstimate = LockerverseCheckoutAmounts & {\n appliedDiscount: null;\n authoritative: false;\n items: readonly LockerverseCheckoutItem[];\n lineItems: readonly LockerverseCheckoutLineItem[];\n paymentOption: LockerversePaymentOption;\n};\n\nexport type LockerverseCheckoutPricingInput = {\n email?: string;\n includeServiceFee?: boolean;\n promoCode?: string;\n tipCents?: number;\n};\n\nexport type LockerversePaymentStatus =\n | \"action_required\"\n | \"failed\"\n | \"pending\"\n | \"success\";\n\nexport type LockerversePaymentResult = {\n checkoutId: string;\n paymentReference: string;\n checkoutStatus: LockerversePaymentStatus;\n clientSecret: string | null;\n paymentRequired: boolean;\n requiresAction: boolean;\n status: string | null;\n};\n\nexport type LockerversePaymentCompletion = LockerversePaymentResult & {\n email: string | null;\n lineItems: readonly LockerverseCheckoutLineItem[] | null;\n};\n\ntype AssertPaymentContract<T extends true> = T;\ntype _PaymentResultMatchesGenerated = AssertPaymentContract<\n LockerversePaymentResult extends GeneratedPaymentResult\n ? GeneratedPaymentResult extends LockerversePaymentResult\n ? true\n : false\n : false\n>;\n\nexport type LockerverseShipping = {\n address: {\n city: string;\n country: string;\n line1: string;\n line2?: string;\n postal_code: string;\n state: string;\n };\n name: string;\n};\n\nexport type LockerversePaymentSubmission = {\n confirmationToken?: string;\n customFieldAnswers?: LockerverseCustomFieldAnswer[];\n email: string;\n memberId?: string;\n merchSize?: \"XS\" | \"S\" | \"M\" | \"L\" | \"XL\" | \"XXL\" | \"XXXL\";\n metadata?: Record<string, string>;\n phone?: string;\n shipping?: LockerverseShipping;\n};\n\nexport type LockerverseCheckoutItem =\n | { productId: string; quantity: number }\n | { productId: string; amountCents: number }\n | { productId: string };\n\nexport type LockerverseCheckoutSelectionItem =\n | { productSlug: string; quantity: number }\n | { productSlug: string; amountCents: number }\n | { productSlug: string };\n\nexport type LockerverseEstimateCheckoutInput =\n LockerverseCheckoutPricingInput & {\n selection: LockerverseCheckoutSelectionItem[];\n };\n\nexport type LockerverseLoadCheckoutInput = {\n selection: LockerverseCheckoutSelectionItem[];\n};\n\nexport type LockerverseCalculateTotalInput = LockerverseCheckoutPricingInput & {\n catalog: LockerverseCatalog;\n} & (\n | {\n items: LockerverseCheckoutItem[];\n selection?: never;\n }\n | {\n items?: never;\n selection: LockerverseCheckoutSelectionItem[];\n }\n );\n\nexport type LockerversePreparedCheckout = Readonly<\n LockerverseCheckoutQuote & {\n items: readonly LockerverseCheckoutItem[];\n pricing: Readonly<LockerverseCheckoutPricingInput>;\n }\n>;\n\nexport type LockerverseLoadedCheckout = Readonly<{\n catalog: LockerverseCatalog;\n checkout: LockerversePreparedCheckout;\n}>;\n\nexport type LockerverseSubmitPaymentInput = {\n checkout: LockerversePreparedCheckout;\n submission: LockerversePaymentSubmission;\n};\n\ntype CreateLockerverseWidgetBaseOptions = {\n communitySlug: string;\n fetch?: typeof globalThis.fetch;\n onError?: (error: LockerverseSdkError) => void;\n requestTimeoutMs?: number;\n sentryDsn?: string | null;\n widgetSlug: string;\n};\n\nexport type LockerverseResourceEnvironmentOptions =\n | {\n apiBaseUrl: string;\n environment: LockerverseEnvironment;\n }\n | {\n apiBaseUrl?: undefined;\n environment?: \"production\";\n };\n\nexport type CreateLockerverseWidgetOptions =\n CreateLockerverseWidgetBaseOptions & LockerverseResourceEnvironmentOptions;\n\nexport type LockerverseCheckoutClient = {\n calculateTotal: (\n input: LockerverseCalculateTotalInput\n ) => Promise<LockerversePreparedCheckout>;\n getPaymentStatus: (\n paymentReference: string\n ) => Promise<LockerversePaymentResult>;\n load: {\n (): Promise<LockerverseCatalog>;\n (input: LockerverseLoadCheckoutInput): Promise<LockerverseLoadedCheckout>;\n };\n submitPayment: (\n input: LockerverseSubmitPaymentInput\n ) => Promise<LockerversePaymentResult>;\n};\n"],"mappings":"ACOA,MAAa,EAA0BA,gBAiLvC,IAAa,EAAb,cAAyC,KAAM,CAC7C,KACA,UACA,WACA,oBACA,WACA,WACA,OAEA,YAAY,CACV,OACA,UACA,YACA,aACA,sBAAsB,GACtB,aACA,UASC,CACD,MAAM,CAAO,EACb,KAAK,KAAO,sBACZ,KAAK,KAAO,EACZ,KAAK,UAAY,EACjB,KAAK,WAAa,EAClB,KAAK,oBAAsB,EAC3B,KAAK,WAAa,EAClB,KAAK,WAAa,EAClB,KAAK,OAAS,CAChB,CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lockerverse/sdk",
3
- "version": "0.2.137",
3
+ "version": "0.2.138-dev.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/Lockerverse/lockerverse-sdk.git",