@beeblock/svelar 0.4.6 → 0.4.8

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.
@@ -26,6 +26,7 @@
26
26
  * ```
27
27
  */
28
28
  import { z } from 'zod';
29
+ export { FormRequest, FormValidationError, FormAuthorizationError } from '../routing/FormRequest.js';
29
30
  export type { z };
30
31
  export interface FormActionOptions<T extends z.ZodTypeAny> {
31
32
  /** Redirect URL on success */
@@ -1 +1 @@
1
- var R=Object.defineProperty;var x=(r,e)=>()=>(r&&(e=r(r=0)),e);var b=(r,e)=>{for(var t in e)R(r,t,{get:e[t],enumerable:!0})};var h={};b(h,{FormAuthorizationError:()=>l,FormRequest:()=>g,FormValidationError:()=>p});var g,p,l,T=x(()=>{"use strict";g=class{authorize(e){return!0}messages(){return{}}attributes(){return{}}passedValidation(e){return e}failedValidation(e){throw new p(e)}failedAuthorization(){throw new l}async parseBody(e){let t=e.request.headers.get("content-type")??"";if(t.includes("application/json"))return e.request.json();if(t.includes("multipart/form-data")||t.includes("application/x-www-form-urlencoded")){let s=await e.request.formData();return Object.fromEntries(s)}return Object.fromEntries(e.url.searchParams)}static async validate(e){let t=new this;await t.authorize(e)||t.failedAuthorization();let n=await t.parseBody(e),i={...Object.fromEntries(e.url.searchParams),...e.params,...n},c=t.rules().safeParse(i);if(!c.success){let a={},o=t.messages(),m=t.attributes();for(let y of c.error.issues){let d=y.path.join("."),f=m[d]??d;a[f]||(a[f]=[]);let w=`${d}.${y.code}`,z=o[w]??o[d];a[f].push(z??y.message)}t.failedValidation(a)}return t.passedValidation(c.data)}},p=class extends Error{constructor(t){super("The given data was invalid.");this.errors=t;this.name="FormValidationError"}statusCode=422;toResponse(){return new Response(JSON.stringify({message:this.message,errors:this.errors}),{status:422,headers:{"Content-Type":"application/json"}})}},l=class extends Error{statusCode=403;constructor(e="This action is unauthorized."){super(e),this.name="FormAuthorizationError"}toResponse(){return new Response(JSON.stringify({message:this.message}),{status:403,headers:{"Content-Type":"application/json"}})}}});function E(r,e,t={}){return async s=>{let{superValidate:n,fail:i,message:u}=await import("sveltekit-superforms"),{zod:c}=await import("sveltekit-superforms/adapters"),a=await n(s,c(r));if(!a.valid)return i(400,{form:a});try{let o=await e(a.data,s);if(t.redirectTo){let{redirect:m}=await import("@sveltejs/kit");throw m(303,t.redirectTo)}return o??{form:a}}catch(o){if(o?.status>=300&&o?.status<400)throw o;return u(a,t.errorMessage||o.message||"An error occurred",{status:o.status||400})}}}async function P(r,e){let{superValidate:t}=await import("sveltekit-superforms"),{zod:s}=await import("sveltekit-superforms/adapters");return t(e??null,s(r))}async function j(r,e){let t=await r.request.formData(),s={};for(let[i,u]of t.entries())s[i]=u;let n=e.safeParse(s);if(!n.success){let{FormValidationError:i}=await Promise.resolve().then(()=>(T(),h));throw new i(n.error.flatten().fieldErrors)}return n.data}export{E as createFormAction,P as loadForm,j as validateForm};
1
+ var R=Object.defineProperty;var x=(r,t)=>()=>(r&&(t=r(r=0)),t);var b=(r,t)=>{for(var e in t)R(r,e,{get:t[e],enumerable:!0})};var T={};b(T,{FormAuthorizationError:()=>d,FormRequest:()=>m,FormValidationError:()=>u});var m,u,d,h=x(()=>{"use strict";m=class{authorize(t){return!0}messages(){return{}}attributes(){return{}}passedValidation(t){return t}failedValidation(t){throw new u(t)}failedAuthorization(){throw new d}async parseBody(t){let e=t.request.headers.get("content-type")??"";if(e.includes("application/json"))return t.request.json();if(e.includes("multipart/form-data")||e.includes("application/x-www-form-urlencoded")){let s=await t.request.formData();return Object.fromEntries(s)}return Object.fromEntries(t.url.searchParams)}static async validate(t){let e=new this;await e.authorize(t)||e.failedAuthorization();let n=await e.parseBody(t),i={...Object.fromEntries(t.url.searchParams),...t.params,...n},c=e.rules().safeParse(i);if(!c.success){let o={},a=e.messages(),y=e.attributes();for(let f of c.error.issues){let l=f.path.join("."),g=y[l]??l;o[g]||(o[g]=[]);let w=`${l}.${f.code}`,z=a[w]??a[l];o[g].push(z??f.message)}e.failedValidation(o)}return e.passedValidation(c.data)}},u=class extends Error{constructor(e){super("The given data was invalid.");this.errors=e;this.name="FormValidationError"}statusCode=422;toResponse(){return new Response(JSON.stringify({message:this.message,errors:this.errors}),{status:422,headers:{"Content-Type":"application/json"}})}},d=class extends Error{statusCode=403;constructor(t="This action is unauthorized."){super(t),this.name="FormAuthorizationError"}toResponse(){return new Response(JSON.stringify({message:this.message}),{status:403,headers:{"Content-Type":"application/json"}})}}});h();function E(r,t,e={}){return async s=>{let{superValidate:n,fail:i,message:p}=await import("sveltekit-superforms"),{zod:c}=await import("sveltekit-superforms/adapters"),o=await n(s,c(r));if(!o.valid)return i(400,{form:o});try{let a=await t(o.data,s);if(e.redirectTo){let{redirect:y}=await import("@sveltejs/kit");throw y(303,e.redirectTo)}return a??{form:o}}catch(a){if(a?.status>=300&&a?.status<400)throw a;return p(o,e.errorMessage||a.message||"An error occurred",{status:a.status||400})}}}async function P(r,t){let{superValidate:e}=await import("sveltekit-superforms"),{zod:s}=await import("sveltekit-superforms/adapters");return e(t??null,s(r))}async function j(r,t){let e=await r.request.formData(),s={};for(let[i,p]of e.entries())s[i]=p;let n=t.safeParse(s);if(!n.success){let{FormValidationError:i}=await Promise.resolve().then(()=>(h(),T));throw new i(n.error.flatten().fieldErrors)}return n.data}export{d as FormAuthorizationError,m as FormRequest,u as FormValidationError,E as createFormAction,P as loadForm,j as validateForm};