UNPKG

mobx-react-form

Version:
2 lines 2.73 kB
!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 i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(r(479));class o{constructor({config:e,state:t=null,promises:r=[]}){Object.defineProperty(this,"promises",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extend",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.state=t,this.promises=r,this.config=e,this.extend=null==e?void 0:e.extend,this.schema=e.schema,this.initValidator()}extendOptions(e={}){return Object.assign(Object.assign({},e),{errorDataPath:"property",allErrors:!0,coerceTypes:!0,v5:!0})}initValidator(){const e=new(0,this.config.package)(this.extendOptions(this.config.options));"function"==typeof this.extend&&this.extend({form:this.state.form,validator:e}),this.validator=e.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(!r)return;const i=`${e.label} ${r.message}`;e.invalidate(i,!1)}handleAsyncError(e,t){const r=this.findError(e.path,t);if(!r)return;const i=`${e.label} ${r.message}`;e.setValidationAsyncData(!1,i)}findError(e,t){return a.default.find(t,(({dataPath:t})=>{let r;return r=a.default.trimStart(t,"."),r=a.default.replace(r,"]",""),r=a.default.replace(r,"[","."),a.default.includes(r,e)}))}executeAsyncValidation(e){const t=e.validationAsyncData;!1===t.valid&&e.invalidate(t.message,!1,!0)}}t.default=e=>({class:o,config:e})},479:t=>{t.exports=e}},r={};return function e(i){var a=r[i];if(void 0!==a)return a.exports;var o=r[i]={exports:{}};return t[i].call(o.exports,o,o.exports,e),o.exports}(324)})())); //# sourceMappingURL=MobxReactFormValidatorSVK.umd.min.js.map