UNPKG

@leancodepl/validation

Version:

CQRS validation helpers for command and query validation

2 lines (1 loc) 1.08 kB
(function(t,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(t=typeof globalThis<"u"?globalThis:t||self,r(t["@leancodepl/validation"]={}))})(this,(function(t){"use strict";function r(n,s,i=[]){return{handle:(e,c)=>{let o;for(const u of Array.isArray(e)?e:[e]){const l=n.find(d=>d.ErrorCode===s[u]);if(l){o=c(u,l);break}}let f=i;return o!==void 0&&(f=[...f,o]),r(n,s,f)},handleAll:(e,c)=>{let o;const u=(Array.isArray(e)?e:[e]).reduce((d,h)=>{const y=n.filter(g=>g.ErrorCode===s[h]);return y.length===0?d:[...d,{errorName:h,errors:y}]},[]);u.length>0&&(o=c(u));let l=i;return o!==void 0&&(l=[...l,o]),r(n,s,l)},check:(e=>{if(e)return i.reduce(e.reducer,e.initialValue)})}}function E(n,s){const i={...s,success:-1,failure:-2},a=n.isSuccess?n.result.WasSuccessful?[{ErrorMessage:"",PropertyName:"",ErrorCode:-1}]:n.result.ValidationErrors:[{ErrorMessage:"",PropertyName:"",ErrorCode:-2}];return r(a,i)}t.handleResponse=E,t.handleValidationErrors=r,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));