mobx-react-form
Version:
Reactive MobX Form State Management
2 lines • 2.71 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("_")):"function"==typeof define&&define.amd?define(["_"],t):"object"==typeof exports?exports.MobxReactFormValidatorSVK=t(require("_")):e.MobxReactFormValidatorSVK=t(e._)}(self,(e=>(()=>{"use strict";var t={324:function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=a(r(479));class n{constructor({config:e,state:t=null,promises:r=[]}){Object.defineProperty(this,"promises",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"extend",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"validator",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:null}),this.state=t,this.promises=r,this.extend=null==e?void 0:e.extend,this.schema=e.schema,this.initAJV(e)}extendOptions(e={}){return Object.assign(e,{errorDataPath:"property",allErrors:!0,coerceTypes:!0,v5:!0})}initAJV(e){const t=new(0,e.package)(this.extendOptions(e.options));"function"==typeof this.extend&&this.extend({form:this.state.form,validator:t}),this.validator=t.compile(this.schema)}validate(e){const t=this.validator(e.state.form.validatedValues);if(!(r=t)||"function"!=typeof r.then||"object"!=typeof r&&"function"!=typeof r){var r;this.handleSyncError(e,this.validator.errors)}else{const r=t.then((()=>e.setValidationAsyncData(!0))).catch((t=>t&&this.handleAsyncError(e,t.errors))).then((()=>this.executeAsyncValidation(e)));this.promises.push(r)}}handleSyncError(e,t){const r=this.findError(e.path,t);if(i.default.isUndefined(r))return;const a=`${e.label} ${r.message}`;e.invalidate(a,!1)}handleAsyncError(e,t){const r=this.findError(e.path,t);if(i.default.isUndefined(r))return;const a=`${e.label} ${r.message}`;e.setValidationAsyncData(!1,a)}findError(e,t){return i.default.find(t,(({dataPath:t})=>{let r;return r=i.default.trimStart(t,"."),r=i.default.replace(r,"]",""),r=i.default.replace(r,"[","."),i.default.includes(r,e)}))}executeAsyncValidation(e){!1===e.validationAsyncData.valid&&e.invalidate(e.validationAsyncData.message,!1,!0)}}t.default=e=>({class:n,config:e})},479:t=>{t.exports=e}},r={};return function e(a){var i=r[a];if(void 0!==i)return i.exports;var n=r[a]={exports:{}};return t[a].call(n.exports,n,n.exports,e),n.exports}(324)})()));
//# sourceMappingURL=MobxReactFormValidatorSVK.umd.min.js.map