UNPKG

vue-livr

Version:
2 lines (1 loc) 20.5 kB
var VueLIVR=function(r){"use strict";let t=null;const e=()=>t;var i=Array.isArray,n="object"==typeof global&&global&&global.Object===Object&&global,s="object"==typeof self&&self&&self.Object===Object&&self,o=n||s||Function("return this")(),u=o.Symbol,a=Object.prototype,l=a.hasOwnProperty,c=a.toString,f=u?u.toStringTag:void 0;var h=function(r){var t=l.call(r,f),e=r[f];try{r[f]=void 0;var i=!0}catch(r){}var n=c.call(r);return i&&(t?r[f]=e:delete r[f]),n},p=Object.prototype.toString;var d=function(r){return p.call(r)},v=u?u.toStringTag:void 0;var _=function(r){return null==r?void 0===r?"[object Undefined]":"[object Null]":v&&v in Object(r)?h(r):d(r)};var R=function(r){return null!=r&&"object"==typeof r};var O=function(r){return"symbol"==typeof r||R(r)&&"[object Symbol]"==_(r)},g=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y=/^\w*$/;var E=function(r,t){if(i(r))return!1;var e=typeof r;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=r&&!O(r))||(y.test(r)||!g.test(r)||null!=t&&r in Object(t))};var m=function(r){var t=typeof r;return null!=r&&("object"==t||"function"==t)};var b,A=function(r){if(!m(r))return!1;var t=_(r);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},T=o["__core-js_shared__"],N=(b=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||""))?"Symbol(src)_1."+b:"";var V=function(r){return!!N&&N in r},j=Function.prototype.toString;var M=function(r){if(null!=r){try{return j.call(r)}catch(r){}try{return r+""}catch(r){}}return""},P=/^\[object .+?Constructor\]$/,w=Function.prototype,$=Object.prototype,F=w.toString,L=$.hasOwnProperty,x=RegExp("^"+F.call(L).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var I=function(r){return!(!m(r)||V(r))&&(A(r)?x:P).test(M(r))};var D=function(r,t){return null==r?void 0:r[t]};var k=function(r,t){var e=D(r,t);return I(e)?e:void 0},S=k(Object,"create");var z=function(){this.__data__=S?S(null):{},this.size=0};var B=function(r){var t=this.has(r)&&delete this.__data__[r];return this.size-=t?1:0,t},C=Object.prototype.hasOwnProperty;var G=function(r){var t=this.__data__;if(S){var e=t[r];return"__lodash_hash_undefined__"===e?void 0:e}return C.call(t,r)?t[r]:void 0},H=Object.prototype.hasOwnProperty;var U=function(r){var t=this.__data__;return S?void 0!==t[r]:H.call(t,r)};var W=function(r,t){var e=this.__data__;return this.size+=this.has(r)?0:1,e[r]=S&&void 0===t?"__lodash_hash_undefined__":t,this};function q(r){var t=-1,e=null==r?0:r.length;for(this.clear();++t<e;){var i=r[t];this.set(i[0],i[1])}}q.prototype.clear=z,q.prototype.delete=B,q.prototype.get=G,q.prototype.has=U,q.prototype.set=W;var Y=q;var Q=function(){this.__data__=[],this.size=0};var Z=function(r,t){return r===t||r!=r&&t!=t};var J=function(r,t){for(var e=r.length;e--;)if(Z(r[e][0],t))return e;return-1},K=Array.prototype.splice;var X=function(r){var t=this.__data__,e=J(t,r);return!(e<0)&&(e==t.length-1?t.pop():K.call(t,e,1),--this.size,!0)};var rr=function(r){var t=this.__data__,e=J(t,r);return e<0?void 0:t[e][1]};var tr=function(r){return J(this.__data__,r)>-1};var er=function(r,t){var e=this.__data__,i=J(e,r);return i<0?(++this.size,e.push([r,t])):e[i][1]=t,this};function ir(r){var t=-1,e=null==r?0:r.length;for(this.clear();++t<e;){var i=r[t];this.set(i[0],i[1])}}ir.prototype.clear=Q,ir.prototype.delete=X,ir.prototype.get=rr,ir.prototype.has=tr,ir.prototype.set=er;var nr=ir,sr=k(o,"Map");var or=function(){this.size=0,this.__data__={hash:new Y,map:new(sr||nr),string:new Y}};var ur=function(r){var t=typeof r;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==r:null===r};var ar=function(r,t){var e=r.__data__;return ur(t)?e["string"==typeof t?"string":"hash"]:e.map};var lr=function(r){var t=ar(this,r).delete(r);return this.size-=t?1:0,t};var cr=function(r){return ar(this,r).get(r)};var fr=function(r){return ar(this,r).has(r)};var hr=function(r,t){var e=ar(this,r),i=e.size;return e.set(r,t),this.size+=e.size==i?0:1,this};function pr(r){var t=-1,e=null==r?0:r.length;for(this.clear();++t<e;){var i=r[t];this.set(i[0],i[1])}}pr.prototype.clear=or,pr.prototype.delete=lr,pr.prototype.get=cr,pr.prototype.has=fr,pr.prototype.set=hr;var dr=pr;function vr(r,t){if("function"!=typeof r||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var e=function(){var i=arguments,n=t?t.apply(this,i):i[0],s=e.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return e.cache=s.set(n,o)||s,o};return e.cache=new(vr.Cache||dr),e}vr.Cache=dr;var _r=vr;var Rr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Or=/\\(\\)?/g,gr=function(r){var t=_r(r,(function(r){return 500===e.size&&e.clear(),r})),e=t.cache;return t}((function(r){var t=[];return 46===r.charCodeAt(0)&&t.push(""),r.replace(Rr,(function(r,e,i,n){t.push(i?n.replace(Or,"$1"):e||r)})),t}));var yr=function(r,t){for(var e=-1,i=null==r?0:r.length,n=Array(i);++e<i;)n[e]=t(r[e],e,r);return n},Er=u?u.prototype:void 0,mr=Er?Er.toString:void 0;var br=function r(t){if("string"==typeof t)return t;if(i(t))return yr(t,r)+"";if(O(t))return mr?mr.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e};var Ar=function(r){return null==r?"":br(r)};var Tr=function(r,t){return i(r)?r:E(r,t)?[r]:gr(Ar(r))};var Nr=function(r){if("string"==typeof r||O(r))return r;var t=r+"";return"0"==t&&1/r==-1/0?"-0":t};var Vr=function(r,t){for(var e=0,i=(t=Tr(t,r)).length;null!=r&&e<i;)r=r[Nr(t[e++])];return e&&e==i?r:void 0};var jr=function(r,t,e){var i=null==r?void 0:Vr(r,t);return void 0===i?e:i};let Mr={errorBagName:"errors",extendedErrors:!1,extraRules:{},aliasedRules:[]};const Pr=()=>Mr,wr=r=>{const t=jr(r,"$options.$_livr",{});return{...Mr,...t}},$r=r=>{Mr={...Mr,...r}};var Fr={isPrimitiveValue:r=>"string"==typeof r||(!("number"!=typeof r||!isFinite(r))||"boolean"==typeof r),looksLikeNumber:r=>!isNaN(+r),isObject:r=>Object(r)===r&&Object.getPrototypeOf(r)===Object.prototype,isEmptyObject(r){for(const t in r)if(r.hasOwnProperty(t))return!1;return!0},escapeRegExp:r=>r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),isNoValue:r=>null==r||""===r};const Lr={};let xr=0;class Ir{constructor(r,t){this.isPrepared=!1,this.livrRules=r,this.validators={},this.validatorBuilders={},this.errors=null,this.isAutoTrim=null!=t?t:xr,this.registerRules(Lr)}static getDefaultRules(){return Lr}static registerAliasedDefaultRule(r){if(!r.name)throw"Alias name required";Lr[r.name]=this._buildAliasedRule(r.rules,r.error)}static registerDefaultRules(r){for(const t in r)Lr[t]=r[t]}static defaultAutoTrim(r){xr=!!r}static _buildAliasedRule(r,t){if(!r)throw"Alias rules required";const e={value:r};return r=>{const i=new Ir(e).registerRules(r).prepare();return(r,e,n)=>{const s=i.validate({value:r});return s?void n.push(s.value):t||i.getErrors().value}}}prepare(){const r=this.livrRules;for(const t in r){let e=r[t];Array.isArray(e)||(e=[e]);const i=[];for(const r of e){const t=this._parseRule(r);i.push(this._buildValidator(t.name,t.args))}this.validators[t]=i}return this.isPrepared=!0,this}validate(r){if(this.isPrepared||this.prepare(),!Fr.isObject(r))return void(this.errors="FORMAT_ERROR");this.isAutoTrim&&(r=this._autoTrim(r));const t={},e={};for(const i in this.validators){const n=this.validators[i];if(!n||!n.length)continue;const s=r[i];for(const o of n){const n=[],u=o(e.hasOwnProperty(i)?e[i]:s,r,n);if(u){t[i]=u;break}n.length?e[i]=n[0]:r.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=s)}}return Fr.isEmptyObject(t)?(this.errors=null,e):(this.errors=t,!1)}getErrors(){return this.errors}registerRules(r){for(const t in r)this.validatorBuilders[t]=r[t];return this}registerAliasedRule(r){if(!r.name)throw"Alias name required";return this.validatorBuilders[r.name]=this.constructor._buildAliasedRule(r.rules,r.error),this}getRules(){return this.validatorBuilders}_parseRule(r){let t,e;return Fr.isObject(r)?(t=Object.keys(r)[0],e=r[t],Array.isArray(e)||(e=[e])):(t=r,e=[]),{name:t,args:e}}_buildValidator(r,t){if(!this.validatorBuilders[r])throw"Rule ["+r+"] not registered";const e=[];return e.push.apply(e,t),e.push(this.getRules()),this.validatorBuilders[r].apply(null,e)}_autoTrim(r){const t=typeof r;if("object"!==t&&r)return r.replace?r.replace(/^\s*/,"").replace(/\s*$/,""):r;if("object"==t&&Array.isArray(r)){const t=[];for(const e of r)t.push(this._autoTrim(e));return t}if("object"==t&&Fr.isObject(r)){const t={};for(const e in r)r.hasOwnProperty(e)&&(t[e]=this._autoTrim(r[e]));return t}return r}}var Dr=Ir;const kr={required:function(){return r=>{if(Fr.isNoValue(r))return"REQUIRED"}},not_empty:function(){return r=>{if(null!=r&&""===r)return"CANNOT_BE_EMPTY"}},not_empty_list:function(){return r=>void 0===r||""===r?"CANNOT_BE_EMPTY":Array.isArray(r)?r.length<1?"CANNOT_BE_EMPTY":void 0:"FORMAT_ERROR"},any_object:function(){return r=>{if(!Fr.isNoValue(r))return Fr.isObject(r)?void 0:"FORMAT_ERROR"}},string:function(){return(r,t,e)=>{if(!Fr.isNoValue(r))return Fr.isPrimitiveValue(r)?void e.push(r+""):"FORMAT_ERROR"}},eq:function(r){return(t,e,i)=>{if(!Fr.isNoValue(t)){if(!Fr.isPrimitiveValue(t))return"FORMAT_ERROR";if(t+""!=r+"")return"NOT_ALLOWED_VALUE";i.push(r)}}},one_of:function(r){return Array.isArray(r)||(r=Array.prototype.slice.call(arguments)).pop(),(t,e,i)=>{if(!Fr.isNoValue(t)){if(!Fr.isPrimitiveValue(t))return"FORMAT_ERROR";for(const e of r)if(t+""==e+"")return void i.push(e);return"NOT_ALLOWED_VALUE"}}},max_length:function(r){return(t,e,i)=>{if(!Fr.isNoValue(t)){if(!Fr.isPrimitiveValue(t))return"FORMAT_ERROR";if((t+="").length>r)return"TOO_LONG";i.push(t)}}},min_length:function(r){return(t,e,i)=>{if(!Fr.isNoValue(t)){if(!Fr.isPrimitiveValue(t))return"FORMAT_ERROR";if((t+="").length<r)return"TOO_SHORT";i.push(t)}}},length_equal:function(r){return(t,e,i)=>{if(!Fr.isNoValue(t))return Fr.isPrimitiveValue(t)?(t+="").length<r?"TOO_SHORT":t.length>r?"TOO_LONG":void i.push(t):"FORMAT_ERROR"}},length_between:function(r,t){return(e,i,n)=>{if(!Fr.isNoValue(e))return Fr.isPrimitiveValue(e)?(e+="").length<r?"TOO_SHORT":e.length>t?"TOO_LONG":void n.push(e):"FORMAT_ERROR"}},like:function(r,t){const e=3===arguments.length&&t.match("i"),i=new RegExp(r,e?"i":"");return(r,t,e)=>{if(!Fr.isNoValue(r)){if(!Fr.isPrimitiveValue(r))return"FORMAT_ERROR";if(!(r+="").match(i))return"WRONG_FORMAT";e.push(r)}}},integer:function(){return(r,t,e)=>{if(!Fr.isNoValue(r))return Fr.isPrimitiveValue(r)?Fr.looksLikeNumber(r)&&Number.isInteger(+r)?void e.push(+r):"NOT_INTEGER":"FORMAT_ERROR"}},positive_integer:function(){return(r,t,e)=>{if(!Fr.isNoValue(r))return Fr.isPrimitiveValue(r)?Fr.looksLikeNumber(r)?!Number.isInteger(+r)||+r<1?"NOT_POSITIVE_INTEGER":void e.push(+r):"NOT_POSITIVE_INTEGER":"FORMAT_ERROR"}},decimal:function(){return(r,t,e)=>{if(!Fr.isNoValue(r)){if(!Fr.isPrimitiveValue(r))return"FORMAT_ERROR";if(!Fr.looksLikeNumber(r))return"NOT_DECIMAL";if(!/^(?:\-?(?:(?:[0-9]+\.[0-9]+)|(?:[0-9]+)))$/.test(r+=""))return"NOT_DECIMAL";e.push(+r)}}},positive_decimal:function(){return(r,t,e)=>{if(!Fr.isNoValue(r)){if(!Fr.isPrimitiveValue(r))return"FORMAT_ERROR";if(!Fr.looksLikeNumber(r))return"NOT_POSITIVE_DECIMAL";if(!/^(?:(?:[0-9]*\.[0-9]+)|(?:[1-9][0-9]*))$/.test(r+=""))return"NOT_POSITIVE_DECIMAL";e.push(+r)}}},max_number:function(r){return(t,e,i)=>{if(!Fr.isNoValue(t))return Fr.isPrimitiveValue(t)?Fr.looksLikeNumber(t)?+t>+r?"TOO_HIGH":void i.push(+t):"NOT_NUMBER":"FORMAT_ERROR"}},min_number:function(r){return(t,e,i)=>{if(!Fr.isNoValue(t))return Fr.isPrimitiveValue(t)?Fr.looksLikeNumber(t)?+t<+r?"TOO_LOW":void i.push(+t):"NOT_NUMBER":"FORMAT_ERROR"}},number_between:function(r,t){return(e,i,n)=>{if(!Fr.isNoValue(e))return Fr.isPrimitiveValue(e)?Fr.looksLikeNumber(e)?+e<+r?"TOO_LOW":+e>+t?"TOO_HIGH":void n.push(+e):"NOT_NUMBER":"FORMAT_ERROR"}},email:function(){var r=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return t=>{if(!Fr.isNoValue(t))return Fr.isPrimitiveValue(t)?(t+="",r.test(t)?/\@.*\@/.test(t)||/\@.*_/.test(t)?"WRONG_EMAIL":void 0:"WRONG_EMAIL"):"FORMAT_ERROR"}},equal_to_field:function(r){return(t,e)=>{if(!Fr.isNoValue(t))return Fr.isPrimitiveValue(t)?t!=e[r]?"FIELDS_NOT_EQUAL":void 0:"FORMAT_ERROR"}},url:function(){const r=new RegExp("^(?:(?:http|https)://)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[0-1]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))\\.?|localhost)(?::\\d{2,5})?(?:[/?#]\\S*)?$","i");return t=>{if(!Fr.isNoValue(t)){if(!Fr.isPrimitiveValue(t))return"FORMAT_ERROR";if(!(t.length<2083&&r.test(t)))return"WRONG_URL"}}},iso_date:function(){return r=>{if(Fr.isNoValue(r))return;if(!Fr.isPrimitiveValue(r))return"FORMAT_ERROR";const t=r.match(/^(\d{4})-([0-1][0-9])-([0-3][0-9])$/);if(t){const e=Date.parse(r);if(!e&&0!==e)return"WRONG_DATE";const i=new Date(e);if(i.setTime(i.getTime()+60*i.getTimezoneOffset()*1e3),i.getFullYear()==t[1]&&i.getMonth()+1==+t[2]&&i.getDate()==+t[3])return}return"WRONG_DATE"}},nested_object:function(r,t){const e=new Dr(r).registerRules(t).prepare();return(r,t,i)=>{if(Fr.isNoValue(r))return;if(!Fr.isObject(r))return"FORMAT_ERROR";const n=e.validate(r);return n?void i.push(n):e.getErrors()}},variable_object:function(r,t,e){const i={};for(const r in t){const n=new Dr(t[r]).registerRules(e).prepare();i[r]=n}return(t,e,n)=>{if(Fr.isNoValue(t))return;if(!Fr.isObject(t)||!t[r]||!i[t[r]])return"FORMAT_ERROR";const s=i[t[r]],o=s.validate(t);return o?void n.push(o):s.getErrors()}},list_of:function(r,t){Array.isArray(r)||(t=(r=Array.prototype.slice.call(arguments)).pop());const e={field:r},i=new Dr(e).registerRules(t).prepare();return(r,t,e)=>{if(Fr.isNoValue(r))return;if(!Array.isArray(r))return"FORMAT_ERROR";const n=[],s=[];let o=!1;for(const t of r){const r=i.validate({field:t});r?(n.push(r.field),s.push(null)):(o=!0,s.push(i.getErrors().field),n.push(null))}return o?s:void e.push(n)}},list_of_objects:function(r,t){const e=new Dr(r).registerRules(t).prepare();return(r,t,i)=>{if(Fr.isNoValue(r))return;if(!Array.isArray(r))return"FORMAT_ERROR";const n=[],s=[];let o=!1;for(const t of r){const r=e.validate(t);r?(n.push(r),s.push(null)):(o=!0,s.push(e.getErrors()),n.push(null))}return o?s:void i.push(n)}},or:function(){const r=Array.prototype.slice.call(arguments),t=r.pop(),e=r.map(r=>new Dr({field:r}).registerRules(t).prepare());return(r,t,i)=>{let n;for(const t of e){const e=t.validate({field:r});if(e)return void i.push(e.field);n=t.getErrors().field}return n}},list_of_different_objects:function(r,t,e){const i={};for(const r in t){const n=new Dr(t[r]).registerRules(e).prepare();i[r]=n}return(t,e,n)=>{if(Fr.isNoValue(t))return;if(!Array.isArray(t))return"FORMAT_ERROR";const s=[],o=[];let u=!1;for(const e of t){if("object"!=typeof e||!e[r]||!i[e[r]]){o.push("FORMAT_ERROR");continue}const t=i[e[r]],n=t.validate(e);n?(s.push(n),o.push(null)):(u=!0,o.push(t.getErrors()),s.push(null))}return u?o:void n.push(s)}},default:r=>(t,e,i)=>{Fr.isNoValue(t)&&i.push(r)},trim:function(){return(r,t,e)=>{Fr.isNoValue(r)||"object"==typeof r||(r+="",e.push(r.replace(/^\s*/,"").replace(/\s*$/,"")))}},to_lc:function(){return(r,t,e)=>{Fr.isNoValue(r)||"object"==typeof r||(r+="",e.push(r.toLowerCase()))}},to_uc:function(){return(r,t,e)=>{Fr.isNoValue(r)||"object"==typeof r||(r+="",e.push(r.toUpperCase()))}},remove:function(r){r=Fr.escapeRegExp(r);const t=new RegExp("["+r+"]","g");return(r,e,i)=>{Fr.isNoValue(r)||"object"==typeof r||(r+="",i.push(r.replace(t,"")))}},leave_only:function(r){r=Fr.escapeRegExp(r);const t=new RegExp("[^"+r+"]","g");return(r,e,i)=>{Fr.isNoValue(r)||"object"==typeof r||(r+="",i.push(r.replace(t,"")))}}};Dr.registerDefaultRules(kr);var Sr={Validator:Dr,rules:kr,util:Fr},zr=function(){try{var r=k(Object,"defineProperty");return r({},"",{}),r}catch(r){}}();var Br=function(r,t,e){"__proto__"==t&&zr?zr(r,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):r[t]=e},Cr=Object.prototype.hasOwnProperty;var Gr=function(r,t,e){var i=r[t];Cr.call(r,t)&&Z(i,e)&&(void 0!==e||t in r)||Br(r,t,e)},Hr=/^(?:0|[1-9]\d*)$/;var Ur=function(r,t){var e=typeof r;return!!(t=null==t?9007199254740991:t)&&("number"==e||"symbol"!=e&&Hr.test(r))&&r>-1&&r%1==0&&r<t};var Wr=function(r,t,e,i){if(!m(r))return r;for(var n=-1,s=(t=Tr(t,r)).length,o=s-1,u=r;null!=u&&++n<s;){var a=Nr(t[n]),l=e;if("__proto__"===a||"constructor"===a||"prototype"===a)return r;if(n!=o){var c=u[a];void 0===(l=i?i(c,a,u):void 0)&&(l=m(c)?c:Ur(t[n+1])?[]:{})}Gr(u,a,l),u=u[a]}return r};var qr=function(r,t,e){return null==r?r:Wr(r,t,e)};const Yr=(r={},t,e,i)=>{const n=r[e];return n?n(t,i):""},Qr=(r,t)=>(...e)=>{const i=t(...e),n=e.splice(0,e.length-1);return(...t)=>{const e=i(...t);if(e){const t={[r]:n};return Array.isArray(e)||null!==(s=e)&&s&&"object"==typeof s&&!Array.isArray(s)?e:{code:e,rule:t}}var s;return""}},Zr=(r,t,e=[])=>{const i=Array.isArray(r);return Object.entries(r).reduce((r,[n,s])=>{let o=[].concat(e);if(i||o.push(n),s&&s.code){const[[,r]]=Object.entries(s.rule);Object.assign(s,{msg:Yr(t,o.join("."),s.code,r)}),o=[]}else s&&Zr(s,t,o);return Object.assign(r,{[n]:s})},{})};class Jr{constructor(r,t={}){this.errorHandlers=t.errorHandlers,this.extendedErrors=t.extendedErrors,this.msgPath=this.extendedErrors?"msg":"",this.allTouched=!1,r&&r instanceof Jr?(this.items=r.items,this.touchedFields=r.touchedFields):(this.items={},this.touchedFields={})}setTouched(r){qr(this.touchedFields,r,!0)}setAllTouched(r=!1){this.allTouched=r}setError(r,t){const e=this.extendedErrors?Zr(r,this.errorHandlers):r,i=t?this.items:{};if(this.items={...i,...e},t){jr(e,t,!1)||qr(this.items,t,"")}}clearErrors(){this.items={}}clearError(r){this.setError({},r)}getError(r,t=0){if(!this.hasError(r,t))return"";const e=this.getErrors(r);return this.getMessage(e[t])}getMessage(r){return this.msgPath&&r?r[this.msgPath]:r}getErrors(r){return[].concat(jr(this.items,r,[]))}hasError(r,t=0){const e=this.allTouched||jr(this.touchedFields,r,!1),i=this.getErrors(r);return e&&!(r=>null==r||""===r)(this.getMessage(i[t]))}}class Kr{constructor(r){this.fields={items:[]},this.extendedErrors=r.extendedErrors,this.errors=new Jr(null,r)}validate(r,t,e){const i=new Sr.Validator(r),n=i.validate(t),s=n||i.getErrors();return n?(this.errors.clearError(e),s):(this.errors.setError(Object.assign({},s),e),this.errors.setTouched(e),{errors:this.errors.items})}validateAll(r,t){this.validator=new Sr.Validator(r);const e=this.validator.validate(t),i=e||this.validator.getErrors();return e?(this.errors.clearErrors(),i):(this.errors.setError(i),this.errors.setAllTouched(!0),{errors:this.errors.items})}clearErrors(){this.errors.clearErrors()}clearError(r){this.errors.clearError(r)}}var Xr={data:()=>({$livr:e()}),beforeCreate(){if(this.$parent||$r(this.$options.$_livr||{}),this.$livr||(this.$livr=e()),!this.$livr)return;const r=wr(this);this.$options._base.util.defineReactive(this.$livr,"errors",this.$livr.errors),this.$options.computed||(this.$options.computed={}),this.$options.computed[r.errorBagName||"errors"]=function(){return this.$livr.errors}},methods:{$livrMixin_defineReactive(){const r=wr(this);this.$options._base.util.defineReactive(this.$livr,"errors",this.$livr.errors),this.$options.computed||(this.$options.computed={}),this.$options.computed[r.errorBagName||"errors"]=function(){return this.$livr.errors}},$livrMixin_setNewValidatorContext(){const r=wr(this);this.$livr=new Kr(r),this.$livrMixin_defineReactive()}}};function rt(r){const{extraRules:t,extendedErrors:e,aliasedRules:i=[]}=r;if(Sr.Validator.registerDefaultRules(t),i.forEach(r=>Sr.Validator.registerAliasedDefaultRule(r)),e){const r=(n=Sr.Validator.getDefaultRules(),Object.entries(n).reduce((r,[t,e])=>Object.assign(r,{[t]:Qr(t,e)}),{}));Sr.Validator.registerDefaultRules(r)}var n}let tt,et;class it{constructor(r){var e;this.configure(r),et=this,this.livrInstance=(e=new Kr(this.config),t=e,e)}configure(r){$r(r)}get config(){return Pr()}static get config(){return Pr()}static get instance(){return et}}var nt={mixin:Xr,install:function(r,t={}){tt&&r===tt?"production"!==process.env.NODE_ENV&&console.warn("already installed, Vue.use(LivrPlugin) should only be called once."):(tt=r,rt(t),et=new it(t))}};return r.default=nt,r}({});