UNPKG

@adyen/adyen-web

Version:

[![npm](https://img.shields.io/npm/v/@adyen/adyen-web.svg)](https://www.npmjs.com/package/@adyen/adyen-web)

3 lines (2 loc) 4.15 kB
function e(e,r,l){return r in e?Object.defineProperty(e,r,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[r]=l,e}function r(r){for(var l=1;l<arguments.length;l++){var a=null!=arguments[l]?arguments[l]:{},t=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(a).filter(function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable}))),t.forEach(function(l){e(r,l,a[l])})}return r}function l(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);r.push.apply(r,l)}return r}(Object(r)).forEach(function(l){Object.defineProperty(e,l,Object.getOwnPropertyDescriptor(r,l))}),e}const a=(e,r)=>Object.keys(e).filter(e=>!r.includes(e)).reduce((r,l)=>(r[l]=e[l],r),{}),t=(e,a,t,o,d)=>a.reduce((e,a)=>{var i,s,n;return l(r({},e),{[a]:null!==(i=null!==(s=null!==(n=e[a])&&void 0!==n?n:null==d?void 0:d[a])&&void 0!==s?s:null==o?void 0:o[a])&&void 0!==i?i:t})},e);function o({schema:e,defaultData:a,processField:t,fieldProblems:o}){const d=e=>{var r,l;if(void 0===a[e])return{valid:!1,errors:null,data:null,fieldProblems:null!==(r=null==o?void 0:o[e])&&void 0!==r?r:null};const[d,i]=t({key:e,value:a[e],mode:"blur"},{state:{data:a}});return{valid:i.isValid&&!(null==o?void 0:o[e])||!1,errors:i.hasError()?i.getError():null,data:d,fieldProblems:null!==(l=null==o?void 0:o[e])&&void 0!==l?l:null}},i=e.reduce((e,a)=>{const{valid:t,errors:o,data:i,fieldProblems:s}=d(a);return{valid:l(r({},e.valid),{[a]:t}),errors:l(r({},e.errors),{[a]:o}),data:l(r({},e.data),{[a]:i}),fieldProblems:l(r({},e.fieldProblems),{[a]:s})}},{data:{},valid:{},errors:{},fieldProblems:{}});return{schema:e,data:i.data,valid:i.valid,errors:i.errors,fieldProblems:i.fieldProblems}}function d(e){return function(d,{type:i,key:s,value:n,mode:u,schema:c,defaultData:v,formValue:f,selectedSchema:m,fieldProblems:b,data:P}){const y=m||d.schema;switch(i){case"setData":return l(r({},d),{data:l(r({},d.data),{[s]:n})});case"mergeData":return l(r({},d),{data:r({},d.data,P)});case"setValid":return l(r({},d),{valid:l(r({},d.valid),{[s]:n})});case"setErrors":return l(r({},d),{errors:l(r({},d.errors),{[s]:n})});case"setFieldProblems":var p,O;return null!==(p=null==d||null===(O=d.schema)||void 0===O?void 0:O.reduce((e,a)=>{var t,o;return l(r({},e),{fieldProblems:l(r({},d.fieldProblems),{[a]:null!==(t=null==b?void 0:b[a])&&void 0!==t?t:null}),valid:l(r({},d.valid),{[a]:(null===(o=d.valid)||void 0===o?void 0:o[a])&&!b[a]})})},d))&&void 0!==p?p:d;case"updateField":{const[a,t]=e({key:s,value:n,mode:u},{state:d}),o=d.data[s],i=r({},d.fieldProblems);return o!==a&&(i[s]=null),l(r({},d),{data:l(r({},d.data),{[s]:a}),errors:l(r({},d.errors),{[s]:t.hasError()?t.getError():null}),valid:l(r({},d.valid),{[s]:t.isValid&&!i[s]||!1}),fieldProblems:i})}case"mergeForm":{const e=l(r({},d),{data:r({},d.data,f.data),errors:r({},d.errors,f.errors),valid:r({},d.valid,f.valid),fieldProblems:r({},d.fieldProblems,f.fieldProblems)});return e.valid&&(e.isValid=Object.values(e.valid).every(e=>e)),e}case"setSchema":{var h,j,g;const i=o({schema:c,defaultData:v,processField:e,fieldProblems:b}),s=d.schema.filter(e=>!c.includes(e)),n=c.filter(e=>!d.schema.includes(e)),u={data:a(d.data,n),errors:a(d.errors,n),valid:a(d.valid,n)},f=t(a(d.data,s),n,null,i.data,null===(h=d.local)||void 0===h?void 0:h.data),m=t(a(d.valid,s),n,!1,i.valid,null===(j=d.local)||void 0===j?void 0:j.valid),P=t(a(d.errors,s),n,null,i.errors,null===(g=d.local)||void 0===g?void 0:g.errors);return l(r({},d),{schema:c,data:f,valid:m,errors:P,local:u})}case"validateForm":{const a=y.reduce((a,t)=>{const[,o]=e({key:t,value:d.data[t],mode:"blur"},{state:d});return{valid:l(r({},a.valid),{[t]:o.isValid&&!d.fieldProblems[t]||!1}),errors:l(r({},a.errors),{[t]:o.hasError(!0)?o.getError(!0):null})}},{valid:d.valid,errors:d.errors});return l(r({},d),{valid:a.valid,errors:a.errors})}default:throw new Error("Undefined useForm action")}}}export{d as getReducer,o as init}; //# sourceMappingURL=reducer.js.map