@lockerverse/sdk 0.1.17 → 0.2.19

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/signup.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { T as LockerverseSdkError, _ as LockerverseEnvironment, g as LockerverseCustomFieldOption, h as LockerverseCustomFieldAnswerValue, m as LockerverseCustomFieldAnswer, p as LockerverseCustomField } from "./types.js";
1
+ import { D as LockerverseSdkError, _ as LockerverseCustomFieldOption, g as LockerverseCustomFieldAnswerValue, h as LockerverseCustomFieldAnswer, m as LockerverseCustomField, v as LockerverseEnvironment } from "./types.js";
2
2
  //#region src/signup-types.d.ts
3
3
  type LockerverseSignupField = {
4
4
  enabled: boolean;
package/dist/signup.js CHANGED
@@ -1,2 +1,2 @@
1
- import{A as e,C as t,E as n,O as r,S as i,a,b as o,c as s,d as c,f as l,g as u,i as d,k as f,l as p,n as m,o as h,p as g,r as _,s as v,t as y,w as b}from"./transport.js";import{n as x}from"./types.js";const S=r({city:f(),country:f(),line1:f(),line2:t(o(f())),postalCode:f(),state:f()}),C=b(r({address:t(o(S)),answers:t(l(a)),email:t(o(f())),honeypot:t(f()),name:v,participantCount:t(o(p(0))),phone:t(o(f()))})),w=i({enabled:g(),required:g()}),T=n(i({config:i({builtInFields:i({address:w,email:w,name:w,participantCount:w,phone:w}),customFields:h}),coverImageUrl:s,description:s,id:v,isActive:g(),name:v,slug:v,title:s}),e(({config:e,...t})=>({...t,customFields:e.customFields,fields:e.builtInFields}))),E=i({id:v,submittedAt:n(f(),u())}),D=b(T),O=b(E);function k(e){let t=c(e),n=m({phase:`idle`}),r=null,i=!1,a=!1,o=_({communitySlug:t.communitySlugValue,environment:t.environment,getContext:()=>({signupSlug:t.signupSlugValue}),onError:t.onError,resourceContextName:`lockerverse_signup`,sentryDsn:t.sentryDsn}),{requestJson:s}=y(t.fetchImplementation,o,t.requestTimeoutMs);return{getState:n.getState,async load(){let e={code:`signup_load_failed`,message:`Unable to load Lockerverse signup.`,operation:`load_signup`};if(i||a)throw o(new x({...e,reportable:!1}));i=!0,r=null,n.commit({phase:`loading`});try{let i;try{i=await s(`${t.apiBaseUrl}/community/${t.communitySlug}/sign-up-widgets/${t.signupSlug}`,void 0,D,e,e)}catch(e){throw e instanceof x&&n.commit({error:e,phase:`error`,recoverableSubmissionReference:null,signup:null}),e}if(!i.ok){let t=o(new x({...e,reportable:i.response.status>=500,status:i.response.status}));throw n.commit({error:t,phase:`error`,recoverableSubmissionReference:null,signup:null}),t}let a=d(i.value);return r=a,n.commit({phase:`ready`,signup:a}),a}finally{i=!1}},async submit(e,i){let c=r,l=i?.submissionReference??globalThis.crypto.randomUUID(),u={code:`signup_submit_failed`,message:`Unable to submit Lockerverse signup.`,operation:`submit_signup`};if(!c?.isActive||a)throw o(new x({...u,reportable:!1}));let f;try{f=C(e)}catch{let e=o(new x({...u,message:`Lockerverse signup input is invalid.`,reportable:!1}));throw n.commit({error:e,phase:`error`,recoverableSubmissionReference:l,signup:c}),e}a=!0,n.commit({phase:`submitting`,signup:c,submissionReference:l});try{let e=await s(`${t.apiBaseUrl}/community/${t.communitySlug}/sign-up-widgets/${t.signupSlug}/submissions`,{body:JSON.stringify({...f,submissionReference:l}),headers:{"content-type":`application/json`},method:`POST`},O,u,u);if(!e.ok)throw o(new x({...u,reportable:e.response.status>=500,status:e.response.status}));let r=d(e.value);if(r.id!==l)throw o(new x({...u,reportable:!0}));return n.commit({phase:`submitted`,signup:c,submission:r}),r}catch(e){let t=e instanceof x?e:o(new x({...u,reportable:!1}));throw n.commit({error:t,phase:`error`,recoverableSubmissionReference:l,signup:c}),t}finally{a=!1}},subscribe:n.subscribe}}export{k as createLockerverseSignup};
1
+ import{A as e,C as t,E as n,O as r,S as i,a,b as o,c as s,d as c,f as l,h as u,i as d,k as f,n as p,o as m,r as h,s as g,t as _,u as v,w as y}from"./transport.js";import{n as b}from"./types.js";const x=r({city:f(),country:f(),line1:f(),line2:t(o(f())),postalCode:f(),state:f()}),S=y(r({address:t(o(x)),answers:t(c(d)),email:t(o(f())),honeypot:t(f()),name:m,participantCount:t(o(s(0))),phone:t(o(f()))})),C=i({enabled:l(),required:l()}),w=n(i({config:i({builtInFields:i({address:C,email:C,name:C,participantCount:C,phone:C}),customFields:a}),coverImageUrl:g,description:g,id:m,isActive:l(),name:m,slug:m,title:g}),e(({config:e,...t})=>({...t,customFields:e.customFields,fields:e.builtInFields}))),T=i({id:m,submittedAt:n(f(),u())}),E=y(w),D=y(T);function O(e){let t=h(e),n=new Set;return{commit(e){t=h(e);for(let e of[...n])try{e(t)}catch{}},getState(){return t},subscribe(e){n.add(e);try{e(t)}catch{}return()=>{n.delete(e)}}}}function k(e){let t=v(e),n=O({phase:`idle`}),r=null,i=!1,a=!1,o=p({communitySlug:t.communitySlugValue,environment:t.environment,getContext:()=>({signupSlug:t.signupSlugValue}),onError:t.onError,resourceContextName:`lockerverse_signup`,sentryDsn:t.sentryDsn}),{requestJson:s}=_(t.fetchImplementation,o,t.requestTimeoutMs);return{getState:n.getState,async load(){let e={code:`signup_load_failed`,message:`Unable to load Lockerverse signup.`,operation:`load_signup`};if(i||a)throw o(new b({...e,reportable:!1}));i=!0,r=null,n.commit({phase:`loading`});try{let i;try{i=await s(`${t.apiBaseUrl}/community/${t.communitySlug}/sign-up-widgets/${t.signupSlug}`,void 0,E,e,e)}catch(e){throw e instanceof b&&n.commit({error:e,phase:`error`,recoverableSubmissionReference:null,signup:null}),e}if(!i.ok){let t=o(new b({...e,reportable:i.response.status>=500,status:i.response.status}));throw n.commit({error:t,phase:`error`,recoverableSubmissionReference:null,signup:null}),t}let a=h(i.value);return r=a,n.commit({phase:`ready`,signup:a}),a}finally{i=!1}},async submit(e,i){let c=r,l=i?.submissionReference??globalThis.crypto.randomUUID(),u={code:`signup_submit_failed`,message:`Unable to submit Lockerverse signup.`,operation:`submit_signup`};if(!c?.isActive||a)throw o(new b({...u,reportable:!1}));let d;try{d=S(e)}catch{let e=o(new b({...u,message:`Lockerverse signup input is invalid.`,reportable:!1}));throw n.commit({error:e,phase:`error`,recoverableSubmissionReference:l,signup:c}),e}a=!0,n.commit({phase:`submitting`,signup:c,submissionReference:l});try{let e=await s(`${t.apiBaseUrl}/community/${t.communitySlug}/sign-up-widgets/${t.signupSlug}/submissions`,{body:JSON.stringify({...d,submissionReference:l}),headers:{"content-type":`application/json`},method:`POST`},D,u,u);if(!e.ok)throw o(new b({...u,reportable:e.response.status>=500,status:e.response.status}));let r=h(e.value);if(r.id!==l)throw o(new b({...u,reportable:!0}));return n.commit({phase:`submitted`,signup:c,submission:r}),r}catch(e){let t=e instanceof b?e:o(new b({...u,reportable:!1}));throw n.commit({error:t,phase:`error`,recoverableSubmissionReference:l,signup:c}),t}finally{a=!1}},subscribe:n.subscribe}}export{k as createLockerverseSignup};
2
2
  //# sourceMappingURL=signup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signup.js","names":[],"sources":["../src/signup-input-schema.ts","../src/signup-schemas.ts","../src/signup.ts"],"sourcesContent":["import {\n array,\n nullable,\n optional,\n parser,\n strictObject,\n string,\n} from \"valibot\";\n\nimport {\n customFieldAnswerSchema,\n nonEmptyStringSchema,\n safeIntegerSchema,\n} from \"./schema-helpers.ts\";\n\nconst signupAddressSchema = strictObject({\n city: string(),\n country: string(),\n line1: string(),\n line2: optional(nullable(string())),\n postalCode: string(),\n state: string(),\n});\n\nexport const parseSignupSubmission = parser(\n strictObject({\n address: optional(nullable(signupAddressSchema)),\n answers: optional(array(customFieldAnswerSchema)),\n email: optional(nullable(string())),\n honeypot: optional(string()),\n name: nonEmptyStringSchema,\n participantCount: optional(nullable(safeIntegerSchema(0))),\n phone: optional(nullable(string())),\n })\n);\n","import {\n boolean,\n isoTimestamp,\n object,\n parser,\n pipe,\n string,\n transform,\n} from \"valibot\";\n\nimport {\n customFieldsSchema,\n nonEmptyStringSchema,\n optionalNullableStringSchema,\n} from \"./schema-helpers.ts\";\n\nconst signupFieldSchema = object({\n enabled: boolean(),\n required: boolean(),\n});\n\nexport const publicSignupSchema = pipe(\n object({\n config: object({\n builtInFields: object({\n address: signupFieldSchema,\n email: signupFieldSchema,\n name: signupFieldSchema,\n participantCount: signupFieldSchema,\n phone: signupFieldSchema,\n }),\n customFields: customFieldsSchema,\n }),\n coverImageUrl: optionalNullableStringSchema,\n description: optionalNullableStringSchema,\n id: nonEmptyStringSchema,\n isActive: boolean(),\n name: nonEmptyStringSchema,\n slug: nonEmptyStringSchema,\n title: optionalNullableStringSchema,\n }),\n transform(({ config, ...signup }) => ({\n ...signup,\n customFields: config.customFields,\n fields: config.builtInFields,\n }))\n);\n\nexport const signupSubmissionResultSchema = object({\n id: nonEmptyStringSchema,\n submittedAt: pipe(string(), isoTimestamp()),\n});\n\nexport const parsePublicSignup = parser(publicSignupSchema);\nexport const parseSignupSubmissionResult = parser(signupSubmissionResultSchema);\n","import { deepFreeze } from \"./deep-freeze.ts\";\nimport { resolveSignupEnvironment } from \"./environment.ts\";\nimport { createSdkErrorReporter } from \"./error-reporting.ts\";\nimport { parseSignupSubmission } from \"./signup-input-schema.ts\";\nimport {\n parsePublicSignup,\n parseSignupSubmissionResult,\n} from \"./signup-schemas.ts\";\nimport type {\n CreateLockerverseSignupOptions,\n LockerverseSignup,\n LockerverseSignupClient,\n LockerverseSignupState,\n LockerverseSignupSubmission,\n} from \"./signup-types.ts\";\nimport { createStateStore } from \"./state.ts\";\nimport { createTransport } from \"./transport.ts\";\nimport { LockerverseSdkError } from \"./types.ts\";\n\nexport function createLockerverseSignup(\n options: CreateLockerverseSignupOptions\n): LockerverseSignupClient {\n const runtime = resolveSignupEnvironment(options);\n const stateStore = createStateStore<LockerverseSignupState>({\n phase: \"idle\",\n });\n let loadedSignup: LockerverseSignup | null = null;\n let loading = false;\n let submitting = false;\n\n const reportError = createSdkErrorReporter({\n communitySlug: runtime.communitySlugValue,\n environment: runtime.environment,\n getContext: () => ({ signupSlug: runtime.signupSlugValue }),\n onError: runtime.onError,\n resourceContextName: \"lockerverse_signup\",\n sentryDsn: runtime.sentryDsn,\n });\n\n const { requestJson } = createTransport(\n runtime.fetchImplementation,\n reportError,\n runtime.requestTimeoutMs\n );\n\n return {\n getState: stateStore.getState,\n async load() {\n const errorContext = {\n code: \"signup_load_failed\" as const,\n message: \"Unable to load Lockerverse signup.\",\n operation: \"load_signup\" as const,\n };\n if (loading || submitting) {\n throw reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: false,\n })\n );\n }\n\n loading = true;\n loadedSignup = null;\n stateStore.commit({ phase: \"loading\" });\n try {\n let signupResponse: Awaited<\n ReturnType<typeof requestJson<LockerverseSignup>>\n >;\n try {\n signupResponse = await requestJson(\n `${runtime.apiBaseUrl}/community/${runtime.communitySlug}/sign-up-widgets/${runtime.signupSlug}`,\n undefined,\n parsePublicSignup,\n errorContext,\n errorContext\n );\n } catch (error) {\n if (error instanceof LockerverseSdkError) {\n stateStore.commit({\n error,\n phase: \"error\",\n recoverableSubmissionReference: null,\n signup: null,\n });\n }\n throw error;\n }\n if (!signupResponse.ok) {\n const error = reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: signupResponse.response.status >= 500,\n status: signupResponse.response.status,\n })\n );\n stateStore.commit({\n error,\n phase: \"error\",\n recoverableSubmissionReference: null,\n signup: null,\n });\n throw error;\n }\n const signup = deepFreeze(signupResponse.value);\n loadedSignup = signup;\n stateStore.commit({ phase: \"ready\", signup });\n return signup;\n } finally {\n loading = false;\n }\n },\n async submit(submission: LockerverseSignupSubmission, submitOptions) {\n const signup = loadedSignup;\n const submissionReference =\n submitOptions?.submissionReference ?? globalThis.crypto.randomUUID();\n const errorContext = {\n code: \"signup_submit_failed\" as const,\n message: \"Unable to submit Lockerverse signup.\",\n operation: \"submit_signup\" as const,\n };\n if (!signup?.isActive || submitting) {\n throw reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: false,\n })\n );\n }\n\n let parsedSubmission: ReturnType<typeof parseSignupSubmission>;\n try {\n parsedSubmission = parseSignupSubmission(submission);\n } catch {\n const error = reportError(\n new LockerverseSdkError({\n ...errorContext,\n message: \"Lockerverse signup input is invalid.\",\n reportable: false,\n })\n );\n stateStore.commit({\n error,\n phase: \"error\",\n recoverableSubmissionReference: submissionReference,\n signup,\n });\n // biome-ignore lint/style/useErrorCause: Raw validation errors must not escape the SDK boundary.\n throw error;\n }\n\n submitting = true;\n stateStore.commit({ phase: \"submitting\", signup, submissionReference });\n try {\n const submissionResponse = await requestJson(\n `${runtime.apiBaseUrl}/community/${runtime.communitySlug}/sign-up-widgets/${runtime.signupSlug}/submissions`,\n {\n body: JSON.stringify({ ...parsedSubmission, submissionReference }),\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\",\n },\n parseSignupSubmissionResult,\n errorContext,\n errorContext\n );\n if (!submissionResponse.ok) {\n throw reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: submissionResponse.response.status >= 500,\n status: submissionResponse.response.status,\n })\n );\n }\n const result = deepFreeze(submissionResponse.value);\n if (result.id !== submissionReference) {\n throw reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: true,\n })\n );\n }\n stateStore.commit({ phase: \"submitted\", signup, submission: result });\n return result;\n } catch (error) {\n const sdkError =\n error instanceof LockerverseSdkError\n ? error\n : reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: false,\n })\n );\n stateStore.commit({\n error: sdkError,\n phase: \"error\",\n recoverableSubmissionReference: submissionReference,\n signup,\n });\n throw sdkError;\n } finally {\n submitting = false;\n }\n },\n subscribe: stateStore.subscribe,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"signup.js","names":[],"sources":["../src/signup-input-schema.ts","../src/signup-schemas.ts","../src/state.ts","../src/signup.ts"],"sourcesContent":["import {\n array,\n nullable,\n optional,\n parser,\n strictObject,\n string,\n} from \"valibot\";\n\nimport {\n customFieldAnswerSchema,\n nonEmptyStringSchema,\n safeIntegerSchema,\n} from \"./schema-helpers.ts\";\n\nconst signupAddressSchema = strictObject({\n city: string(),\n country: string(),\n line1: string(),\n line2: optional(nullable(string())),\n postalCode: string(),\n state: string(),\n});\n\nexport const parseSignupSubmission = parser(\n strictObject({\n address: optional(nullable(signupAddressSchema)),\n answers: optional(array(customFieldAnswerSchema)),\n email: optional(nullable(string())),\n honeypot: optional(string()),\n name: nonEmptyStringSchema,\n participantCount: optional(nullable(safeIntegerSchema(0))),\n phone: optional(nullable(string())),\n })\n);\n","import {\n boolean,\n isoTimestamp,\n object,\n parser,\n pipe,\n string,\n transform,\n} from \"valibot\";\n\nimport {\n customFieldsSchema,\n nonEmptyStringSchema,\n optionalNullableStringSchema,\n} from \"./schema-helpers.ts\";\n\nconst signupFieldSchema = object({\n enabled: boolean(),\n required: boolean(),\n});\n\nexport const publicSignupSchema = pipe(\n object({\n config: object({\n builtInFields: object({\n address: signupFieldSchema,\n email: signupFieldSchema,\n name: signupFieldSchema,\n participantCount: signupFieldSchema,\n phone: signupFieldSchema,\n }),\n customFields: customFieldsSchema,\n }),\n coverImageUrl: optionalNullableStringSchema,\n description: optionalNullableStringSchema,\n id: nonEmptyStringSchema,\n isActive: boolean(),\n name: nonEmptyStringSchema,\n slug: nonEmptyStringSchema,\n title: optionalNullableStringSchema,\n }),\n transform(({ config, ...signup }) => ({\n ...signup,\n customFields: config.customFields,\n fields: config.builtInFields,\n }))\n);\n\nexport const signupSubmissionResultSchema = object({\n id: nonEmptyStringSchema,\n submittedAt: pipe(string(), isoTimestamp()),\n});\n\nexport const parsePublicSignup = parser(publicSignupSchema);\nexport const parseSignupSubmissionResult = parser(signupSubmissionResultSchema);\n","import { deepFreeze } from \"./deep-freeze.ts\";\n\nexport function createStateStore<State>(initialState: State) {\n let state = deepFreeze(initialState);\n const listeners = new Set<(nextState: State) => void>();\n\n return {\n commit(nextState: State) {\n state = deepFreeze(nextState);\n for (const listener of [...listeners]) {\n try {\n listener(state);\n } catch {\n // Host listeners cannot interrupt SDK state transitions.\n }\n }\n },\n getState() {\n return state;\n },\n subscribe(listener: (nextState: State) => void) {\n listeners.add(listener);\n try {\n listener(state);\n } catch {\n // A failing initial render must not prevent subscription or checkout.\n }\n return () => {\n listeners.delete(listener);\n };\n },\n };\n}\n","import { deepFreeze } from \"./deep-freeze.ts\";\nimport { resolveSignupEnvironment } from \"./environment.ts\";\nimport { createSdkErrorReporter } from \"./error-reporting.ts\";\nimport { parseSignupSubmission } from \"./signup-input-schema.ts\";\nimport {\n parsePublicSignup,\n parseSignupSubmissionResult,\n} from \"./signup-schemas.ts\";\nimport type {\n CreateLockerverseSignupOptions,\n LockerverseSignup,\n LockerverseSignupClient,\n LockerverseSignupState,\n LockerverseSignupSubmission,\n} from \"./signup-types.ts\";\nimport { createStateStore } from \"./state.ts\";\nimport { createTransport } from \"./transport.ts\";\nimport { LockerverseSdkError } from \"./types.ts\";\n\nexport function createLockerverseSignup(\n options: CreateLockerverseSignupOptions\n): LockerverseSignupClient {\n const runtime = resolveSignupEnvironment(options);\n const stateStore = createStateStore<LockerverseSignupState>({\n phase: \"idle\",\n });\n let loadedSignup: LockerverseSignup | null = null;\n let loading = false;\n let submitting = false;\n\n const reportError = createSdkErrorReporter({\n communitySlug: runtime.communitySlugValue,\n environment: runtime.environment,\n getContext: () => ({ signupSlug: runtime.signupSlugValue }),\n onError: runtime.onError,\n resourceContextName: \"lockerverse_signup\",\n sentryDsn: runtime.sentryDsn,\n });\n\n const { requestJson } = createTransport(\n runtime.fetchImplementation,\n reportError,\n runtime.requestTimeoutMs\n );\n\n return {\n getState: stateStore.getState,\n async load() {\n const errorContext = {\n code: \"signup_load_failed\" as const,\n message: \"Unable to load Lockerverse signup.\",\n operation: \"load_signup\" as const,\n };\n if (loading || submitting) {\n throw reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: false,\n })\n );\n }\n\n loading = true;\n loadedSignup = null;\n stateStore.commit({ phase: \"loading\" });\n try {\n let signupResponse: Awaited<\n ReturnType<typeof requestJson<LockerverseSignup>>\n >;\n try {\n signupResponse = await requestJson(\n `${runtime.apiBaseUrl}/community/${runtime.communitySlug}/sign-up-widgets/${runtime.signupSlug}`,\n undefined,\n parsePublicSignup,\n errorContext,\n errorContext\n );\n } catch (error) {\n if (error instanceof LockerverseSdkError) {\n stateStore.commit({\n error,\n phase: \"error\",\n recoverableSubmissionReference: null,\n signup: null,\n });\n }\n throw error;\n }\n if (!signupResponse.ok) {\n const error = reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: signupResponse.response.status >= 500,\n status: signupResponse.response.status,\n })\n );\n stateStore.commit({\n error,\n phase: \"error\",\n recoverableSubmissionReference: null,\n signup: null,\n });\n throw error;\n }\n const signup = deepFreeze(signupResponse.value);\n loadedSignup = signup;\n stateStore.commit({ phase: \"ready\", signup });\n return signup;\n } finally {\n loading = false;\n }\n },\n async submit(submission: LockerverseSignupSubmission, submitOptions) {\n const signup = loadedSignup;\n const submissionReference =\n submitOptions?.submissionReference ?? globalThis.crypto.randomUUID();\n const errorContext = {\n code: \"signup_submit_failed\" as const,\n message: \"Unable to submit Lockerverse signup.\",\n operation: \"submit_signup\" as const,\n };\n if (!signup?.isActive || submitting) {\n throw reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: false,\n })\n );\n }\n\n let parsedSubmission: ReturnType<typeof parseSignupSubmission>;\n try {\n parsedSubmission = parseSignupSubmission(submission);\n } catch {\n const error = reportError(\n new LockerverseSdkError({\n ...errorContext,\n message: \"Lockerverse signup input is invalid.\",\n reportable: false,\n })\n );\n stateStore.commit({\n error,\n phase: \"error\",\n recoverableSubmissionReference: submissionReference,\n signup,\n });\n // biome-ignore lint/style/useErrorCause: Raw validation errors must not escape the SDK boundary.\n throw error;\n }\n\n submitting = true;\n stateStore.commit({ phase: \"submitting\", signup, submissionReference });\n try {\n const submissionResponse = await requestJson(\n `${runtime.apiBaseUrl}/community/${runtime.communitySlug}/sign-up-widgets/${runtime.signupSlug}/submissions`,\n {\n body: JSON.stringify({ ...parsedSubmission, submissionReference }),\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\",\n },\n parseSignupSubmissionResult,\n errorContext,\n errorContext\n );\n if (!submissionResponse.ok) {\n throw reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: submissionResponse.response.status >= 500,\n status: submissionResponse.response.status,\n })\n );\n }\n const result = deepFreeze(submissionResponse.value);\n if (result.id !== submissionReference) {\n throw reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: true,\n })\n );\n }\n stateStore.commit({ phase: \"submitted\", signup, submission: result });\n return result;\n } catch (error) {\n const sdkError =\n error instanceof LockerverseSdkError\n ? error\n : reportError(\n new LockerverseSdkError({\n ...errorContext,\n reportable: false,\n })\n );\n stateStore.commit({\n error: sdkError,\n phase: \"error\",\n recoverableSubmissionReference: submissionReference,\n signup,\n });\n throw sdkError;\n } finally {\n submitting = false;\n }\n },\n subscribe: stateStore.subscribe,\n };\n}\n"],"mappings":"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"}
package/dist/transport.js CHANGED
@@ -1,2 +1,2 @@
1
- import{n as e}from"./types.js";const t={lang:void 0,message:void 0,abortEarly:void 0,abortPipeEarly:void 0};function n(e){return e?{lang:e?.lang??void 0,message:e?.message,abortEarly:e?.abortEarly??void 0,abortPipeEarly:e?.abortPipeEarly??void 0}:t}function r(e){let t=typeof e;return t===`string`?`"${e}"`:t===`number`||t===`bigint`||t===`boolean`?`${e}`:t===`object`||t===`function`?(e&&Object.getPrototypeOf(e)?.constructor?.name)??`null`:t}function i(e,t,n,i,a){let o=a&&`input`in a?a.input:n.value,s=a?.expected??e.expects??null,c=a?.received??r(o),l={kind:e.kind,type:e.type,input:o,expected:s,received:c,message:`Invalid ${t}: ${s?`Expected ${s} but r`:`R`}eceived ${c}`,requirement:e.requirement,path:a?.path,issues:a?.issues,lang:i.lang,abortEarly:i.abortEarly,abortPipeEarly:i.abortPipeEarly},u=e.kind===`schema`,d=a?.message??e.message??(e.reference,l.lang,void 0)??(u?(l.lang,void 0):null)??i.message??(l.lang,void 0);d!==void 0&&(l.message=typeof d==`function`?d(l):d),u&&(n.typed=!1),n.issues?n.issues.push(l):n.issues=[l]}const a=new WeakMap;function o(e){let t=a.get(e);return t||(t={version:1,vendor:`valibot`,validate(t){return e[`~run`]({value:t},n())}},a.set(e,t)),t}function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&t!==`__proto__`&&t!==`prototype`&&t!==`constructor`}function c(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??`never`}var l=class extends Error{constructor(e){super(e[0].message),this.name=`ValiError`,this.issues=e}};const u=/^\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\d|0[1-9]|3[01])[T ](?:0\d|1\d|2[0-3])(?::[0-5]\d){2}(?:\.\d{1,9})?(?:Z| ?[+-](?:0\d|1\d|2[0-3])(?::?[0-5]\d)?)$/u;function d(e,t){return{kind:`validation`,type:`check`,reference:d,async:!1,expects:null,requirement:e,message:t,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&i(this,`input`,e,t),e}}}function f(e){return{kind:`validation`,type:`finite`,reference:f,async:!1,expects:null,requirement:Number.isFinite,message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&i(this,`finite`,e,t),e}}}function p(e){return{kind:`validation`,type:`iso_timestamp`,reference:p,async:!1,expects:null,requirement:u,message:e,"~run"(e,t){return e.typed&&!this.requirement.test(e.value)&&i(this,`timestamp`,e,t),e}}}function m(e,t){return{kind:`validation`,type:`max_value`,reference:m,async:!1,expects:`<=${e instanceof Date?e.toJSON():r(e)}`,requirement:e,message:t,"~run"(e,t){return e.typed&&!(e.value<=this.requirement)&&i(this,`value`,e,t,{received:e.value instanceof Date?e.value.toJSON():r(e.value)}),e}}}function h(e,t){return{kind:`validation`,type:`min_length`,reference:h,async:!1,expects:`>=${e}`,requirement:e,message:t,"~run"(e,t){return e.typed&&e.value.length<this.requirement&&i(this,`length`,e,t,{received:`${e.value.length}`}),e}}}function g(e,t){return{kind:`validation`,type:`min_value`,reference:g,async:!1,expects:`>=${e instanceof Date?e.toJSON():r(e)}`,requirement:e,message:t,"~run"(e,t){return e.typed&&!(e.value>=this.requirement)&&i(this,`value`,e,t,{received:e.value instanceof Date?e.value.toJSON():r(e.value)}),e}}}function _(e){return{kind:`validation`,type:`non_empty`,reference:_,async:!1,expects:`!0`,message:e,"~run"(e,t){return e.typed&&e.value.length===0&&i(this,`length`,e,t,{received:`0`}),e}}}function v(e){return{kind:`validation`,type:`safe_integer`,reference:v,async:!1,expects:null,requirement:Number.isSafeInteger,message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&i(this,`safe integer`,e,t),e}}}function y(e){return{kind:`transformation`,type:`transform`,reference:y,async:!1,operation:e,"~run"(e){return e.value=this.operation(e.value),e}}}const ee={abortEarly:!0};function b(e,t,n){return typeof e.fallback==`function`?e.fallback(t,n):e.fallback}function x(e,t,n){return typeof e.default==`function`?e.default(t,n):e.default}function S(e,t){return{kind:`schema`,type:`array`,reference:S,expects:`Array`,async:!1,item:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<n.length;r++){let i=n[r],a=this.item[`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else i(this,`type`,e,t);return e}}}function C(e){return{kind:`schema`,type:`boolean`,reference:C,expects:`boolean`,async:!1,message:e,get"~standard"(){return o(this)},"~run"(e,t){return typeof e.value==`boolean`?e.typed=!0:i(this,`type`,e,t),e}}}function w(e,t){return{kind:`schema`,type:`custom`,reference:w,expects:`unknown`,async:!1,check:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){return this.check(e.value)?e.typed=!0:i(this,`type`,e,t),e}}}function T(e,t){return{kind:`schema`,type:`literal`,reference:T,expects:r(e),async:!1,literal:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:i(this,`type`,e,t),e}}}function E(e,t){return{kind:`schema`,type:`loose_object`,reference:E,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in this.entries){let a=this.entries[r];if(r in n||(a.type===`exact_optional`||a.type===`optional`||a.type===`nullish`)&&a.default!==void 0){let i=r in n?n[r]:x(a),o=a[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(a.fallback!==void 0)e.value[r]=b(a);else if(a.type!==`exact_optional`&&a.type!==`optional`&&a.type!==`nullish`&&(i(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}if(!e.issues||!t.abortEarly)for(let t in n)s(n,t)&&!(t in this.entries)&&(e.value[t]=n[t])}else i(this,`type`,e,t);return e}}}function D(e,t){return{kind:`schema`,type:`nullable`,reference:D,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return o(this)},"~run"(e,t){return e.value===null&&(this.default!==void 0&&(e.value=x(this,e,t)),e.value===null)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function O(e){return{kind:`schema`,type:`number`,reference:O,expects:`number`,async:!1,message:e,get"~standard"(){return o(this)},"~run"(e,t){return typeof e.value==`number`&&!isNaN(e.value)?e.typed=!0:i(this,`type`,e,t),e}}}function k(e,t){return{kind:`schema`,type:`object`,reference:k,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in this.entries){let a=this.entries[r];if(r in n||(a.type===`exact_optional`||a.type===`optional`||a.type===`nullish`)&&a.default!==void 0){let i=r in n?n[r]:x(a),o=a[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(a.fallback!==void 0)e.value[r]=b(a);else if(a.type!==`exact_optional`&&a.type!==`optional`&&a.type!==`nullish`&&(i(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}}else i(this,`type`,e,t);return e}}}function A(e,t){return{kind:`schema`,type:`optional`,reference:A,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return o(this)},"~run"(e,t){return e.value===void 0&&(this.default!==void 0&&(e.value=x(this,e,t)),e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function j(e,t){return{kind:`schema`,type:`picklist`,reference:j,expects:c(e.map(r),`|`),async:!1,options:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){return this.options.includes(e.value)?e.typed=!0:i(this,`type`,e,t),e}}}function M(e,t,n){return{kind:`schema`,type:`record`,reference:M,expects:`Object`,async:!1,key:e,value:t,message:n,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in n)if(s(n,r)){let i=n[r],a=this.key[`~run`]({value:r},t);if(a.issues){let o={type:`object`,origin:`key`,input:n,key:r,value:i};for(let t of a.issues)t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}let o=this.value[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}(!a.typed||!o.typed)&&(e.typed=!1),a.typed&&(e.value[a.value]=o.value)}}else i(this,`type`,e,t);return e}}}function N(e,t){return{kind:`schema`,type:`strict_object`,reference:N,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in this.entries){let a=this.entries[r];if(r in n||(a.type===`exact_optional`||a.type===`optional`||a.type===`nullish`)&&a.default!==void 0){let i=r in n?n[r]:x(a),o=a[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(a.fallback!==void 0)e.value[r]=b(a);else if(a.type!==`exact_optional`&&a.type!==`optional`&&a.type!==`nullish`&&(i(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}if(!e.issues||!t.abortEarly){for(let r in n)if(!(r in this.entries)){i(this,`key`,e,t,{input:r,expected:`never`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]});break}}}else i(this,`type`,e,t);return e}}}function P(e){return{kind:`schema`,type:`string`,reference:P,expects:`string`,async:!1,message:e,get"~standard"(){return o(this)},"~run"(e,t){return typeof e.value==`string`?e.typed=!0:i(this,`type`,e,t),e}}}function F(e){let t;if(e)for(let n of e)if(t)for(let e of n.issues)t.push(e);else t=n.issues;return t}function I(e,t){return{kind:`schema`,type:`union`,reference:I,expects:c(e.map(e=>e.expects),`|`),async:!1,options:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n,r,a;for(let i of this.options){let o=i[`~run`]({value:e.value},t);if(o.typed)if(o.issues)r?r.push(o):r=[o];else{n=o;break}else a?a.push(o):a=[o]}if(n)return n;if(r){if(r.length===1)return r[0];i(this,`type`,e,t,{issues:F(r)}),e.typed=!0}else if(a?.length===1)return a[0];else i(this,`type`,e,t,{issues:F(a)});return e}}}function L(){return{kind:`schema`,type:`unknown`,reference:L,expects:`unknown`,async:!1,get"~standard"(){return o(this)},"~run"(e){return e.typed=!0,e}}}function R(e,t,n){return{kind:`schema`,type:`variant`,reference:R,expects:`Object`,async:!1,key:e,options:t,message:n,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){let r,a=0,o=this.key,s=[],l=(e,i)=>{for(let c of e.options){if(c.type===`variant`)l(c,new Set(i).add(c.key));else{let e=!0,l=0;for(let t of i){let r=c.entries[t];if(t in n?r[`~run`]({typed:!1,value:n[t]},ee).issues:r.type!==`exact_optional`&&r.type!==`optional`&&r.type!==`nullish`){e=!1,o!==t&&(a<l||a===l&&t in n&&!(o in n))&&(a=l,o=t,s=[]),o===t&&s.push(c.entries[t].expects);break}l++}if(e){let e=c[`~run`]({value:n},t);(!r||!r.typed&&e.typed)&&(r=e)}}if(r&&!r.issues)break}};if(l(this,new Set([this.key])),r)return r;i(this,`type`,e,t,{input:n[o],expected:c(s,`|`),path:[{type:`object`,origin:`value`,input:n,key:o,value:n[o]}]})}else i(this,`type`,e,t);return e}}}function z(e,t,r){let i=e[`~run`]({value:t},n(r));if(i.issues)throw new l(i.issues);return i.value}function B(e,t){let n=n=>z(e,n,t);return n.schema=e,n.config=t,n}function V(...e){return{...e[0],pipe:e,get"~standard"(){return o(this)},"~run"(t,n){for(let r of e)if(r.kind!==`metadata`){if(t.issues&&(r.kind===`schema`||r.kind===`transformation`)){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r[`~run`](t,n))}return t}}}const H=/\/+$/,U=new Set([`localhost`,`127.0.0.1`,`[::1]`]),W={development:{sentryDsn:`https://1977371f7bc44480935a7bc9726ca296@o1338376.ingest.sentry.io/6631829`},production:{sentryDsn:`https://c87cbc682ff0422eab5a4714acb95fd1@o1338376.ingest.sentry.io/6662564`}};function G(e,t){let n;try{n=new URL(e)}catch{throw TypeError(`apiBaseUrl must be a valid HTTP or HTTPS URL.`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw TypeError(`apiBaseUrl must be a valid HTTP or HTTPS URL.`);if(n.username||n.password)throw TypeError(`apiBaseUrl must not include credentials.`);if(n.search||n.hash)throw TypeError(`apiBaseUrl must not include a query or fragment.`);if(n.protocol!==`https:`&&!(t===`development`&&U.has(n.hostname)))throw TypeError(`apiBaseUrl must use HTTPS except for development loopback endpoints.`);return n.pathname=n.pathname.replace(H,``),n.toString().replace(H,``)}function K(e,t){let n=`requestTimeoutMs must be a positive integer no greater than 2147483647.`,r=e=>V(P(`${e} must be a non-empty string.`),d(e=>e.trim().length>0,`${e} must be a non-empty string.`));try{let i=z(E({apiBaseUrl:A(P(`apiBaseUrl must be a valid HTTP or HTTPS URL.`)),communitySlug:r(`communitySlug`),environment:A(j([`development`,`production`],`environment must be either development or production.`)),fetch:A(w(e=>typeof e==`function`,`fetch must be a function when provided.`)),onError:A(w(e=>typeof e==`function`,`onError must be a function when provided.`)),requestTimeoutMs:A(V(O(n),v(n),g(1,n),m(2147483647,n))),sentryDsn:A(D(P(`sentryDsn must be a string or null when provided.`)))},`Expected an object.`),e);return{apiBaseUrl:i.apiBaseUrl,communitySlug:i.communitySlug,environment:i.environment,fetch:i.fetch,onError:i.onError,requestTimeoutMs:i.requestTimeoutMs,resourceSlugValue:z(r(t),i[t]),sentryDsn:i.sentryDsn}}catch(e){let t=e instanceof l?e.issues[0]?.message??`Invalid SDK options.`:`Invalid SDK options.`;throw TypeError(t)}}function q(e,t){let n=K(e,t),r=n.environment;if(n.apiBaseUrl!==void 0&&r===void 0)throw TypeError(`environment is required when apiBaseUrl is provided.`);if(n.apiBaseUrl===void 0&&r===`development`)throw TypeError(`apiBaseUrl is required when environment is development.`);let i=r===void 0?`production`:r,{communitySlug:a,resourceSlugValue:o}=n,s=n.fetch??globalThis.fetch,c=n.apiBaseUrl===void 0?`https://portal.lockerverse.com/api`:G(n.apiBaseUrl,i),l=W[i],u=n.sentryDsn,d=u===null?null:u??l.sentryDsn;return{apiBaseUrl:c,communitySlug:encodeURIComponent(a),communitySlugValue:a,environment:i,fetchImplementation:s,onError:n.onError,requestTimeoutMs:n.requestTimeoutMs??2e4,resourceSlug:encodeURIComponent(o),resourceSlugValue:o,sentryDsn:d}}function J(e){let t=q(e,`signupSlug`);return{...t,signupSlug:t.resourceSlug,signupSlugValue:t.resourceSlugValue}}const Y=V(P(),_(),d(e=>e.trim().length>0)),te=A(D(P()),null);function ne(e){return V(O(),v(),g(e))}const X=V(S(L()),y(e=>e.filter(e=>{let{archivedAt:t}=z(E({archivedAt:A(D(Y))}),e);return!t}))),Z=V(X,S(k({id:Y,label:Y})),h(2),d(e=>new Set(e.map(({id:e})=>e)).size===e.length,`Expected unique custom field option IDs.`)),Q={id:Y,label:Y,required:C()},re=R(`type`,[k({...Q,type:j([`text`,`textarea`])}),k({...Q,options:Z,type:j([`radio`,`select`])}),k({...Q,options:Z,type:j([`checkboxes`,`multi_select`])})]),ie=V(A(X,[]),S(re),d(e=>new Set(e.map(({id:e})=>e)).size===e.length,`Expected unique custom field IDs.`)),ae=k({fieldId:Y,value:I([P(),S(P())])});function $(e){if(typeof e!=`object`||!e||Object.isFrozen(e))return e;for(let t of Object.values(e))$(t);return Object.freeze(e)}function oe({communitySlug:e,environment:t,getContext:n,onError:r,resourceContextName:i,sentryDsn:a}){let o=null;return function(s){try{r?.(s)}catch{}if(s.reportable&&a&&typeof window<`u`){let r=o??import(`./telemetry.js`);o=r;let c={communitySlug:e,...n()};s.status!==void 0&&(c.status=s.status),r.then(({captureSdkError:e})=>e({context:c,contextName:i,dsn:a,environment:t,error:s})).catch(()=>{o===r&&(o=null)})}return s}}function se(e){let t=$(e),n=new Set;return{commit(e){t=$(e);for(let e of[...n])try{e(t)}catch{}},getState(){return t},subscribe(e){n.add(e);try{e(t)}catch{}return()=>{n.delete(e)}}}}function ce(t,n,r){function i(t){let r=new e({code:t.code,message:t.message,operation:t.operation,reportable:!0});return t.report===!1?r:n(r)}async function a(e,n,a,o,s){let c=new AbortController,l=n?.signal??void 0,u=()=>c.abort(l?.reason);l?.aborted?u():l?.addEventListener(`abort`,u,{once:!0});let d,f=new Promise((e,t)=>{d=()=>t(c.signal.reason??new DOMException(`The request was aborted.`,`AbortError`)),c.signal.aborted?d():c.signal.addEventListener(`abort`,d,{once:!0})}),p=setTimeout(()=>{c.abort(new DOMException(`The request timed out.`,`TimeoutError`))},r);try{let r;try{r=await Promise.race([t(e,{...n,signal:c.signal}),f])}catch{throw i(o)}if(!r.ok)return{ok:!1,response:r};try{let e=await Promise.race([r.json(),f]);return{ok:!0,response:r,value:a(e)}}catch{throw i(s)}}finally{clearTimeout(p),l?.removeEventListener(`abort`,u),d&&c.signal.removeEventListener(`abort`,d)}}return{requestJson:a}}export{y as A,A as C,M as D,V as E,N as O,k as S,j as T,T as _,ae as a,D as b,te as c,J as d,S as f,p as g,f as h,$ as i,R as j,P as k,ne as l,d as m,se as n,ie as o,C as p,oe as r,Y as s,ce as t,q as u,m as v,B as w,O as x,g as y};
1
+ import{n as e}from"./types.js";const t={lang:void 0,message:void 0,abortEarly:void 0,abortPipeEarly:void 0};function n(e){return e?{lang:e?.lang??void 0,message:e?.message,abortEarly:e?.abortEarly??void 0,abortPipeEarly:e?.abortPipeEarly??void 0}:t}function r(e){let t=typeof e;return t===`string`?`"${e}"`:t===`number`||t===`bigint`||t===`boolean`?`${e}`:t===`object`||t===`function`?(e&&Object.getPrototypeOf(e)?.constructor?.name)??`null`:t}function i(e,t,n,i,a){let o=a&&`input`in a?a.input:n.value,s=a?.expected??e.expects??null,c=a?.received??r(o),l={kind:e.kind,type:e.type,input:o,expected:s,received:c,message:`Invalid ${t}: ${s?`Expected ${s} but r`:`R`}eceived ${c}`,requirement:e.requirement,path:a?.path,issues:a?.issues,lang:i.lang,abortEarly:i.abortEarly,abortPipeEarly:i.abortPipeEarly},u=e.kind===`schema`,d=a?.message??e.message??(e.reference,l.lang,void 0)??(u?(l.lang,void 0):null)??i.message??(l.lang,void 0);d!==void 0&&(l.message=typeof d==`function`?d(l):d),u&&(n.typed=!1),n.issues?n.issues.push(l):n.issues=[l]}const a=new WeakMap;function o(e){let t=a.get(e);return t||(t={version:1,vendor:`valibot`,validate(t){return e[`~run`]({value:t},n())}},a.set(e,t)),t}function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&t!==`__proto__`&&t!==`prototype`&&t!==`constructor`}function c(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??`never`}var l=class extends Error{constructor(e){super(e[0].message),this.name=`ValiError`,this.issues=e}};const u=/^\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\d|0[1-9]|3[01])[T ](?:0\d|1\d|2[0-3])(?::[0-5]\d){2}(?:\.\d{1,9})?(?:Z| ?[+-](?:0\d|1\d|2[0-3])(?::?[0-5]\d)?)$/u;function d(e,t){return{kind:`validation`,type:`check`,reference:d,async:!1,expects:null,requirement:e,message:t,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&i(this,`input`,e,t),e}}}function f(e){return{kind:`validation`,type:`finite`,reference:f,async:!1,expects:null,requirement:Number.isFinite,message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&i(this,`finite`,e,t),e}}}function p(e){return{kind:`validation`,type:`iso_timestamp`,reference:p,async:!1,expects:null,requirement:u,message:e,"~run"(e,t){return e.typed&&!this.requirement.test(e.value)&&i(this,`timestamp`,e,t),e}}}function m(e,t){return{kind:`validation`,type:`max_value`,reference:m,async:!1,expects:`<=${e instanceof Date?e.toJSON():r(e)}`,requirement:e,message:t,"~run"(e,t){return e.typed&&!(e.value<=this.requirement)&&i(this,`value`,e,t,{received:e.value instanceof Date?e.value.toJSON():r(e.value)}),e}}}function h(e,t){return{kind:`validation`,type:`min_length`,reference:h,async:!1,expects:`>=${e}`,requirement:e,message:t,"~run"(e,t){return e.typed&&e.value.length<this.requirement&&i(this,`length`,e,t,{received:`${e.value.length}`}),e}}}function g(e,t){return{kind:`validation`,type:`min_value`,reference:g,async:!1,expects:`>=${e instanceof Date?e.toJSON():r(e)}`,requirement:e,message:t,"~run"(e,t){return e.typed&&!(e.value>=this.requirement)&&i(this,`value`,e,t,{received:e.value instanceof Date?e.value.toJSON():r(e.value)}),e}}}function _(e){return{kind:`validation`,type:`non_empty`,reference:_,async:!1,expects:`!0`,message:e,"~run"(e,t){return e.typed&&e.value.length===0&&i(this,`length`,e,t,{received:`0`}),e}}}function v(e){return{kind:`validation`,type:`safe_integer`,reference:v,async:!1,expects:null,requirement:Number.isSafeInteger,message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&i(this,`safe integer`,e,t),e}}}function y(e){return{kind:`transformation`,type:`transform`,reference:y,async:!1,operation:e,"~run"(e){return e.value=this.operation(e.value),e}}}const ee={abortEarly:!0};function b(e,t,n){return typeof e.fallback==`function`?e.fallback(t,n):e.fallback}function x(e,t,n){return typeof e.default==`function`?e.default(t,n):e.default}function S(e,t){return{kind:`schema`,type:`array`,reference:S,expects:`Array`,async:!1,item:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<n.length;r++){let i=n[r],a=this.item[`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else i(this,`type`,e,t);return e}}}function C(e){return{kind:`schema`,type:`boolean`,reference:C,expects:`boolean`,async:!1,message:e,get"~standard"(){return o(this)},"~run"(e,t){return typeof e.value==`boolean`?e.typed=!0:i(this,`type`,e,t),e}}}function w(e,t){return{kind:`schema`,type:`custom`,reference:w,expects:`unknown`,async:!1,check:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){return this.check(e.value)?e.typed=!0:i(this,`type`,e,t),e}}}function T(e,t){return{kind:`schema`,type:`literal`,reference:T,expects:r(e),async:!1,literal:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:i(this,`type`,e,t),e}}}function E(e,t){return{kind:`schema`,type:`loose_object`,reference:E,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in this.entries){let a=this.entries[r];if(r in n||(a.type===`exact_optional`||a.type===`optional`||a.type===`nullish`)&&a.default!==void 0){let i=r in n?n[r]:x(a),o=a[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(a.fallback!==void 0)e.value[r]=b(a);else if(a.type!==`exact_optional`&&a.type!==`optional`&&a.type!==`nullish`&&(i(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}if(!e.issues||!t.abortEarly)for(let t in n)s(n,t)&&!(t in this.entries)&&(e.value[t]=n[t])}else i(this,`type`,e,t);return e}}}function D(e,t){return{kind:`schema`,type:`nullable`,reference:D,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return o(this)},"~run"(e,t){return e.value===null&&(this.default!==void 0&&(e.value=x(this,e,t)),e.value===null)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function O(e){return{kind:`schema`,type:`number`,reference:O,expects:`number`,async:!1,message:e,get"~standard"(){return o(this)},"~run"(e,t){return typeof e.value==`number`&&!isNaN(e.value)?e.typed=!0:i(this,`type`,e,t),e}}}function k(e,t){return{kind:`schema`,type:`object`,reference:k,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in this.entries){let a=this.entries[r];if(r in n||(a.type===`exact_optional`||a.type===`optional`||a.type===`nullish`)&&a.default!==void 0){let i=r in n?n[r]:x(a),o=a[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(a.fallback!==void 0)e.value[r]=b(a);else if(a.type!==`exact_optional`&&a.type!==`optional`&&a.type!==`nullish`&&(i(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}}else i(this,`type`,e,t);return e}}}function A(e,t){return{kind:`schema`,type:`optional`,reference:A,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return o(this)},"~run"(e,t){return e.value===void 0&&(this.default!==void 0&&(e.value=x(this,e,t)),e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function j(e,t){return{kind:`schema`,type:`picklist`,reference:j,expects:c(e.map(r),`|`),async:!1,options:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){return this.options.includes(e.value)?e.typed=!0:i(this,`type`,e,t),e}}}function M(e,t,n){return{kind:`schema`,type:`record`,reference:M,expects:`Object`,async:!1,key:e,value:t,message:n,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in n)if(s(n,r)){let i=n[r],a=this.key[`~run`]({value:r},t);if(a.issues){let o={type:`object`,origin:`key`,input:n,key:r,value:i};for(let t of a.issues)t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}let o=this.value[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}(!a.typed||!o.typed)&&(e.typed=!1),a.typed&&(e.value[a.value]=o.value)}}else i(this,`type`,e,t);return e}}}function N(e,t){return{kind:`schema`,type:`strict_object`,reference:N,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in this.entries){let a=this.entries[r];if(r in n||(a.type===`exact_optional`||a.type===`optional`||a.type===`nullish`)&&a.default!==void 0){let i=r in n?n[r]:x(a),o=a[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(a.fallback!==void 0)e.value[r]=b(a);else if(a.type!==`exact_optional`&&a.type!==`optional`&&a.type!==`nullish`&&(i(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}if(!e.issues||!t.abortEarly){for(let r in n)if(!(r in this.entries)){i(this,`key`,e,t,{input:r,expected:`never`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]});break}}}else i(this,`type`,e,t);return e}}}function P(e){return{kind:`schema`,type:`string`,reference:P,expects:`string`,async:!1,message:e,get"~standard"(){return o(this)},"~run"(e,t){return typeof e.value==`string`?e.typed=!0:i(this,`type`,e,t),e}}}function F(e){let t;if(e)for(let n of e)if(t)for(let e of n.issues)t.push(e);else t=n.issues;return t}function I(e,t){return{kind:`schema`,type:`union`,reference:I,expects:c(e.map(e=>e.expects),`|`),async:!1,options:e,message:t,get"~standard"(){return o(this)},"~run"(e,t){let n,r,a;for(let i of this.options){let o=i[`~run`]({value:e.value},t);if(o.typed)if(o.issues)r?r.push(o):r=[o];else{n=o;break}else a?a.push(o):a=[o]}if(n)return n;if(r){if(r.length===1)return r[0];i(this,`type`,e,t,{issues:F(r)}),e.typed=!0}else if(a?.length===1)return a[0];else i(this,`type`,e,t,{issues:F(a)});return e}}}function L(){return{kind:`schema`,type:`unknown`,reference:L,expects:`unknown`,async:!1,get"~standard"(){return o(this)},"~run"(e){return e.typed=!0,e}}}function R(e,t,n){return{kind:`schema`,type:`variant`,reference:R,expects:`Object`,async:!1,key:e,options:t,message:n,get"~standard"(){return o(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){let r,a=0,o=this.key,s=[],l=(e,i)=>{for(let c of e.options){if(c.type===`variant`)l(c,new Set(i).add(c.key));else{let e=!0,l=0;for(let t of i){let r=c.entries[t];if(t in n?r[`~run`]({typed:!1,value:n[t]},ee).issues:r.type!==`exact_optional`&&r.type!==`optional`&&r.type!==`nullish`){e=!1,o!==t&&(a<l||a===l&&t in n&&!(o in n))&&(a=l,o=t,s=[]),o===t&&s.push(c.entries[t].expects);break}l++}if(e){let e=c[`~run`]({value:n},t);(!r||!r.typed&&e.typed)&&(r=e)}}if(r&&!r.issues)break}};if(l(this,new Set([this.key])),r)return r;i(this,`type`,e,t,{input:n[o],expected:c(s,`|`),path:[{type:`object`,origin:`value`,input:n,key:o,value:n[o]}]})}else i(this,`type`,e,t);return e}}}function z(e,t,r){let i=e[`~run`]({value:t},n(r));if(i.issues)throw new l(i.issues);return i.value}function B(e,t){let n=n=>z(e,n,t);return n.schema=e,n.config=t,n}function V(...e){return{...e[0],pipe:e,get"~standard"(){return o(this)},"~run"(t,n){for(let r of e)if(r.kind!==`metadata`){if(t.issues&&(r.kind===`schema`||r.kind===`transformation`)){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r[`~run`](t,n))}return t}}}const H=/\/+$/,U=new Set([`localhost`,`127.0.0.1`,`[::1]`]),W={development:{sentryDsn:`https://1977371f7bc44480935a7bc9726ca296@o1338376.ingest.sentry.io/6631829`},production:{sentryDsn:`https://c87cbc682ff0422eab5a4714acb95fd1@o1338376.ingest.sentry.io/6662564`}};function G(e,t){let n;try{n=new URL(e)}catch{throw TypeError(`apiBaseUrl must be a valid HTTP or HTTPS URL.`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw TypeError(`apiBaseUrl must be a valid HTTP or HTTPS URL.`);if(n.username||n.password)throw TypeError(`apiBaseUrl must not include credentials.`);if(n.search||n.hash)throw TypeError(`apiBaseUrl must not include a query or fragment.`);if(n.protocol!==`https:`&&!(t===`development`&&U.has(n.hostname)))throw TypeError(`apiBaseUrl must use HTTPS except for development loopback endpoints.`);return n.pathname=n.pathname.replace(H,``),n.toString().replace(H,``)}function K(e,t){let n=`requestTimeoutMs must be a positive integer no greater than 2147483647.`,r=e=>V(P(`${e} must be a non-empty string.`),d(e=>e.trim().length>0,`${e} must be a non-empty string.`));try{let i=z(E({apiBaseUrl:A(P(`apiBaseUrl must be a valid HTTP or HTTPS URL.`)),communitySlug:r(`communitySlug`),environment:A(j([`development`,`production`],`environment must be either development or production.`)),fetch:A(w(e=>typeof e==`function`,`fetch must be a function when provided.`)),onError:A(w(e=>typeof e==`function`,`onError must be a function when provided.`)),requestTimeoutMs:A(V(O(n),v(n),g(1,n),m(2147483647,n))),sentryDsn:A(D(P(`sentryDsn must be a string or null when provided.`)))},`Expected an object.`),e);return{apiBaseUrl:i.apiBaseUrl,communitySlug:i.communitySlug,environment:i.environment,fetch:i.fetch,onError:i.onError,requestTimeoutMs:i.requestTimeoutMs,resourceSlugValue:z(r(t),i[t]),sentryDsn:i.sentryDsn}}catch(e){let t=e instanceof l?e.issues[0]?.message??`Invalid SDK options.`:`Invalid SDK options.`;throw TypeError(t)}}function q(e,t){let n=K(e,t),r=n.environment;if(n.apiBaseUrl!==void 0&&r===void 0)throw TypeError(`environment is required when apiBaseUrl is provided.`);if(n.apiBaseUrl===void 0&&r===`development`)throw TypeError(`apiBaseUrl is required when environment is development.`);let i=r===void 0?`production`:r,{communitySlug:a,resourceSlugValue:o}=n,s=n.fetch??globalThis.fetch,c=n.apiBaseUrl===void 0?`https://portal.lockerverse.com/api`:G(n.apiBaseUrl,i),l=W[i],u=n.sentryDsn,d=u===null?null:u??l.sentryDsn;return{apiBaseUrl:c,communitySlug:encodeURIComponent(a),communitySlugValue:a,environment:i,fetchImplementation:s,onError:n.onError,requestTimeoutMs:n.requestTimeoutMs??2e4,resourceSlug:encodeURIComponent(o),resourceSlugValue:o,sentryDsn:d}}function J(e){let t=q(e,`signupSlug`);return{...t,signupSlug:t.resourceSlug,signupSlugValue:t.resourceSlugValue}}const Y=V(P(),_(),d(e=>e.trim().length>0)),te=A(D(P()),null);function ne(e){return V(O(),v(),g(e))}const X=V(S(L()),y(e=>e.filter(e=>{let{archivedAt:t}=z(E({archivedAt:A(D(Y))}),e);return!t}))),Z=V(X,S(k({id:Y,label:Y})),h(2),d(e=>new Set(e.map(({id:e})=>e)).size===e.length,`Expected unique custom field option IDs.`)),Q={id:Y,label:Y,required:C()},re=R(`type`,[k({...Q,type:j([`text`,`textarea`])}),k({...Q,options:Z,type:j([`radio`,`select`])}),k({...Q,options:Z,type:j([`checkboxes`,`multi_select`])})]),ie=V(A(X,[]),S(re),d(e=>new Set(e.map(({id:e})=>e)).size===e.length,`Expected unique custom field IDs.`)),ae=k({fieldId:Y,value:I([P(),S(P())])});function $(e){if(typeof e!=`object`||!e||Object.isFrozen(e))return e;for(let t of Object.values(e))$(t);return Object.freeze(e)}function oe({communitySlug:e,environment:t,getContext:n,onError:r,resourceContextName:i,sentryDsn:a}){let o=null;return function(s){try{r?.(s)}catch{}if(s.reportable&&a&&typeof window<`u`){let r=o??import(`./telemetry.js`);o=r;let c={communitySlug:e,...n()};s.status!==void 0&&(c.status=s.status),r.then(({captureSdkError:e})=>e({context:c,contextName:i,dsn:a,environment:t,error:s})).catch(()=>{o===r&&(o=null)})}return s}}function se(t,n,r){function i(t){let r=new e({code:t.code,message:t.message,operation:t.operation,reportable:!0});return t.report===!1?r:n(r)}async function a(e,n,a,o,s){let c=new AbortController,l=n?.signal??void 0,u=()=>c.abort(l?.reason);l?.aborted?u():l?.addEventListener(`abort`,u,{once:!0});let d,f=new Promise((e,t)=>{d=()=>t(c.signal.reason??new DOMException(`The request was aborted.`,`AbortError`)),c.signal.aborted?d():c.signal.addEventListener(`abort`,d,{once:!0})}),p=setTimeout(()=>{c.abort(new DOMException(`The request timed out.`,`TimeoutError`))},r);try{let r;try{r=await Promise.race([t(e,{...n,signal:c.signal}),f])}catch{throw i(o)}if(!r.ok)return{ok:!1,response:r};try{let e=await Promise.race([r.json(),f]);return{ok:!0,response:r,value:a(e)}}catch{throw i(s)}}finally{clearTimeout(p),l?.removeEventListener(`abort`,u),d&&c.signal.removeEventListener(`abort`,d)}}return{requestJson:a}}export{y as A,A as C,M as D,V as E,R as M,N as O,k as S,j as T,m as _,ie as a,D as b,ne as c,S as d,C as f,T as g,p as h,ae as i,I as j,P as k,q as l,f as m,oe as n,Y as o,d as p,$ as r,te as s,se as t,J as u,h as v,B as w,O as x,g as y};
2
2
  //# sourceMappingURL=transport.js.map