UNPKG

@chief-editor/flow

Version:

Old核心数据流

1 lines 1.75 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var base_1=require("@chief-editor/base"),validate_1=require("@co-hooks/validate"),wrap_1=require("../util/wrap");function extractValidate(e,a){var t=a||{catchable:!1,needValidate:!1,rules:[]},r=t.catchable,i=void 0!==r&&r,n=t.needValidate,l=void 0!==n&&n,u=t.rules;if(!l||0===u.length){var d={partial:!1,valid:!0,msg:""};return{needValidate:l,catchable:i,func:function(){return Promise.resolve(d)}}}var c=new validate_1.Validator(e);return c.updateRules(wrapValidate(e,u)),{needValidate:!!(a&&a.needValidate&&a.rules.length),catchable:!!a&&a.catchable,func:function(e,a,t){return c.updateValue(a,t),c.validate(e).then((function(){return c.getValidateInfo()}))}}}function wrapValidate(e,a){return a.map((function(a){var t={errorTip:a.errortip,trigger:a.trigger};switch(a.rule){case base_1.ValidateRule.FUNC:var r=t.fn?e.getHook(a.func):null,i=r||function(){return Promise.resolve()};t.fn=wrap_1.wrapFunction(i,e);break;case base_1.ValidateRule.MAX_COUNT:t.maxCount=a.maxCount;break;case base_1.ValidateRule.MIN_COUNT:t.minCount=a.minCount;break;case base_1.ValidateRule.MAX_LENGTH:t.maxLength=a.maxLength,t.maxLengthType=a.maxLengthType;break;case base_1.ValidateRule.MIN_LENGTH:t.minLength=a.minLength,t.minLengthType=a.minLengthType;break;case base_1.ValidateRule.REGEXP:t.regexp=a.regexp;break;case base_1.ValidateRule.REQUIRED:t.required=!0;break;case base_1.ValidateRule.TYPE:t.type=a.type,a.type===base_1.ValidateType.DATE&&(t.format=a.format)}return t}))}function getDefaultValidate(){return{catchable:!1,needValidate:!1,func:function(){return Promise.resolve({partial:!1,valid:!0,msg:""})}}}exports.extractValidate=extractValidate,exports.getDefaultValidate=getDefaultValidate;