UNPKG

@lunoxjs/validation

Version:

Lunox Request Validator

2 lines (1 loc) 2.77 kB
var f=Object.defineProperty;var r=(a,e)=>f(a,"name",{value:e,configurable:!0});import{Validator as b,Messages as g,extend as y}from"@kodepandai/node-input-validator";import{UploadedFile as V,useFacade as x,Facade as $,ServiceProvider as w,Request as p}from"@lunoxjs/core";var F=Object.defineProperty,P=r((a,e)=>F(a,"name",{value:e,configurable:!0}),"a$1");let o=r(class extends Error{status=422;validator;constructor(e){super("The given data was invalid."),this.validator=e}errors(){return this.validator.getErrors()}},"o");P(o,"ValidationException");var j=Object.defineProperty,O=r((a,e)=>j(a,"name",{value:e,configurable:!0}),"c$1");class l extends b{_inputs;constructor(e,t,s,i={}){super(e,t,s),this.niceNames(i),this._inputs=Object.keys(t).reduce((v,m)=>(v[m]=e[m],v),{})}async fails(){return!await super.validate()}async validate(e){const t=e||this._inputs;if(await super.validate(e))return Object.keys(t).reduce((s,i)=>(s[i]=t[i],s),{});throw new o(this)}}r(l,"o"),O(l,"Validator");var k=Object.defineProperty,E=r((a,e)=>k(a,"name",{value:e,configurable:!0}),"r$1");let n=r(class{static symbol=Symbol("ValidatorFactory");app;constructor(e){this.app=e}make(e,t,s={},i={}){return new l(e,t,s,i)}extend(e){return e.message&&g.extend({[e.name]:e.message}),y(e.name,t=>({name:e.name,handler:s=>e.passes(t,s)}))}},"i");E(n,"Factory");const S={name:"mimes",passes:async(a,e)=>{if(!a||a.length==0)throw new Error("Invalid rule args, the usage must be mime:a,b,c");if(e instanceof V){let t=!1;return a.forEach(s=>{e.getClientMimeType()?.includes(s)&&(t=!0)}),t}return!1},message:"The :attr must be a file of type: :args."};var q=Object.defineProperty,R=r((a,e)=>q(a,"name",{value:e,configurable:!0}),"e$2");class c extends ${static getFacadeAccessor(){return n.symbol}}r(c,"t"),R(c,"Validator");var d=x(c),T=Object.defineProperty,_=r((a,e)=>T(a,"name",{value:e,configurable:!0}),"e$1");let h=r(class extends w{async register(){this.app.singleton(n.symbol,()=>new n(this.app)),p.macro("validate",async function(e,t={},s={}){return await d.make(this.data,e,t,s).validate()})}async boot(){d.extend(S)}},"i");_(h,"ValidationServiceProvider");var D=Object.defineProperty,M=r((a,e)=>D(a,"name",{value:e,configurable:!0}),"e");class u extends p{validator=null;rules(){return{}}messages(){return{}}setValidator(e){return this.validator=e,this}attributes(){return{}}validateForm(){return this.getValidator().validate()}createDefaultValidator(e){return e.make(this.all(),this.rules(),this.messages(),this.attributes())}getValidator(){if(this.validator)return this.validator;const e=this.app.make(n.symbol);return this.validator=this.createDefaultValidator(e)}}r(u,"a"),M(u,"FormRequest");export{u as FormRequest,o as ValidationException,h as ValidationServiceProvider,d as Validator};