/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@ignorance/vue-validator@0.0.50/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
/*!
 * @ignorance/vue-validator 0.0.50 (https://github.com/yesixuan/@ignorance/vue-validator)
 * API https://github.com/yesixuan/@ignorance/vue-validator/blob/master/doc/api.md
 * Copyright 2017-2019 yesixuan. All Rights Reserved
 * Licensed under MIT (https://github.com/yesixuan/@ignorance/vue-validator/blob/master/LICENSE)
 */
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0}),require("core-js/modules/es6.object.keys"),require("core-js/modules/es6.array.some"),require("core-js/modules/web.dom.iterable"),require("core-js/modules/es6.array.for-each"),require("core-js/modules/es6.object.assign"),require("core-js/modules/es6.function.bind"),require("core-js/modules/es6.function.name");var CommonValidator=require("@ignorance/validator"),CommonValidator__default=_interopDefault(CommonValidator);function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},i=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),i.forEach((function(t){_defineProperty(e,t,r[t])}))}return e}var partial=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return function(){for(var t=arguments.length,i=new Array(t),a=0;a<t;a++)i[a]=arguments[a];return e.apply(void 0,r.concat(i))}},Validator=function(){function e(t,r,i,a){var n=this,o=r.arg,l=r.value,s=r.value,c=s.fields,u=s.rules,d=s.trigger,v=void 0===d?"blur":d,f=r.modifiers,h=i.context;_classCallCheck(this,e),this.focusListener=function(e){var t=e.target,r=t.nodeName,i=t.name;"INPUT"!==r&&"SELECT"!==r&&"TEXTAREA"!==r||n.$vec[i]&&n.vm.$set(n.$vec,i,{valid:!0,msg:""})},this.submitListener=function(e){(e.preventDefault(),n.autoCatch)?n.checkAll().valid&&n.submitMethod():n.submitMethod()},this.vm=h,this._Vue=a,this.ref=h.$refs[l.ref],this.ref.validator=this.checkAll.bind(this),this.formData=h[l.formData],this.fields=c,this.rules=u,this.trigger=v,this.autoCatch=!!f.autoCatch,this.submitMethod=this.vm[o],this.listeners=[],this.commonValidator=new CommonValidator__default(this.formData,this.rules,!1),this.createReactiveData(),this.initEachEvent(t)}return _createClass(e,[{key:"createReactiveData",value:function(){var e=this.commonValidator.initVRes();this._Vue.util.defineReactive(this.vm._data,"$vec",e)}},{key:"createValidateData",value:function(e,t,r){!e.valid&&r.valid&&e.validator!==r.validator||(Object.assign(e,r),this.vm.$set(this.$vec,t,e))}},{key:"verifySingle",value:function(e,t,r){var i=_objectSpread({},this.$vec[r],CommonValidator.verifySingle(r,e,t),{dirty:!0});return this.vm.$set(this.$vec,r,i),i}},{key:"verifyRule",value:function(e,t,r){var i=_objectSpread({},this.$vec[r],{dirty:!0}),a=partial(this.createValidateData.bind(this),i,r);return""===e&&!this.ref[r].required||CommonValidator.createValidator(t.validator)(e)?(a({valid:!0,msg:"",validator:t.validator}),i):(a({valid:!1,msg:t.msg||"默认校验不通过消息",validator:t.validator}),i)}},{key:"checkAll",value:function(){var e=this,t={valid:!0};return this.fields.forEach((function(r){var i=e.verifySingle(e.formData[r],e.rules[r],r);!i.valid&&t.valid&&(t=_objectSpread({},i,{name:r}))})),this.vm.$forceUpdate(),t}},{key:"bindEvent",value:function(e,t){var r=this,i=_toConsumableArray(t);this.ref[e].required=i.some((function(e){return"required"===e.validator})),i.reverse().forEach((function(t){var i=function(i){var a=i.target;r.verifyRule(a.value,t,e),r.vm.$forceUpdate()},a=t.trigger||r.trigger;r.ref[e].addEventListener(a,i),r.listeners.push((function(){r.ref[e].removeEventListener(a,i)}))}))}},{key:"initEachEvent",value:function(e){var t=this;Object.keys(this.rules).forEach((function(e){t.bindEvent(e,t.rules[e])})),this.ref.addEventListener("click",this.focusListener),e.addEventListener("click",this.submitListener)}},{key:"unbindEvent",value:function(e){this.ref.removeEventListener("click",this.focusListener),e.removeEventListener("click",this.submitListener),this.listeners.forEach((function(e){return e()}))}},{key:"$vec",get:function(){return this.vm._data.$vec}}]),e}(),rules=CommonValidator.rules,validate=function(e,t){return{inserted:function(r,i,a){e.validators instanceof Array||(e.validators=[]),e.createValidator(e,r,i,a,t),a.context.isFormComponent=!0},unbind:function(t,r,i){var a=i.context;e.validators["cid_".concat(a._uid)].unbindEvent(t),e.validators["cid_".concat(a._uid)]=null}}};function isError(e){return!!this._data.$vec&&!this._data.$vec[e].valid}var deleteProp=function(e,t){var r=_objectSpread({},e);return r[t]&&delete r[t],r},deleteAllProp=function(e){var t=_objectSpread({},e);return Object.keys(t).forEach((function(e){return t[e]=deleteProp(t[e],"validator")})),t};function verify(e){var t=_objectSpread({},this._data.$vec);return e?t?deleteProp(t[e],"validator"):{valid:!0,msg:""}:t?deleteAllProp(t):{}}var ValidatePlugin=function(){function e(){throw _classCallCheck(this,e),new Error("不允许实例化 ValidatePlugin")}return _createClass(e,null,[{key:"createValidator",value:function(e,t,r,i,a){e.validators["cid_".concat(i.context._uid)]=new Validator(t,r,i,a)}},{key:"install",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.validation||(e.validation={},r.regexpMap&&rules.extendRegexp(r.regexpMap),r.validatorMap&&rules.extendValidator(r.validatorMap)),t.directive("validate",validate(e,t)),t.prototype.$isError=isError,t.prototype.$verify=verify}}]),e}();exports.default=ValidatePlugin,exports.rules=rules;
//# sourceMappingURL=/sm/38d2e1e32d1736290cd4454fa3f24e593a0a8c58f73f6f1d1e6d320ee0727f04.map