@regle/rules 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/regle-rules.d.cts +9 -17
- package/dist/regle-rules.d.ts +9 -17
- package/dist/regle-rules.min.cjs +1 -1
- package/dist/regle-rules.min.mjs +1 -1
- package/package.json +3 -3
package/dist/regle-rules.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RegleRuleMetadataDefinition, RegleRuleWithParamsDefinition, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleDefinition, InlineRuleDeclaration, UnwrapRegleUniversalParams, Maybe, FormRuleDeclaration } from '@regle/core';
|
|
1
|
+
import { RegleRuleMetadataDefinition, RegleRuleWithParamsDefinition, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleDefinition, InlineRuleDeclaration, UnwrapRegleUniversalParams, Maybe, FormRuleDeclaration, CommonComparationOptions } from '@regle/core';
|
|
2
2
|
import { Ref, MaybeRefOrGetter, MaybeRef } from 'vue';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -18,16 +18,16 @@ import { Ref, MaybeRefOrGetter, MaybeRef } from 'vue';
|
|
|
18
18
|
* ```
|
|
19
19
|
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withmessage}
|
|
20
20
|
*/
|
|
21
|
-
declare function withMessage<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition
|
|
22
|
-
declare function withMessage<TValue extends any, TParams extends unknown[], TMetadata extends RegleRuleMetadataDefinition
|
|
23
|
-
declare function withMessage<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition
|
|
21
|
+
declare function withMessage<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
22
|
+
declare function withMessage<TValue extends any, TParams extends unknown[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
23
|
+
declare function withMessage<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: InlineRuleDeclaration<TValue, TParams, TReturn>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* The withTooltip wrapper allows you to display additional messages for your field that aren’t necessarily errors. Tooltips are aggregated and accessible via $fields.xxx.$tooltips .
|
|
27
27
|
*/
|
|
28
|
+
declare function withTooltip<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
29
|
+
declare function withTooltip<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
28
30
|
declare function withTooltip<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: InlineRuleDeclaration<TValue, TParams, TReturn>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
29
|
-
declare function withTooltip<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition, TReturn extends TMetadata | Promise<TMetadata>, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
30
|
-
declare function withTooltip<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition, TReturn extends TMetadata | Promise<TMetadata>, TAsync extends boolean>(rule: RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* withAsync works like withParams, but is specifically designed for async rules that depend on external values.
|
|
@@ -47,8 +47,8 @@ declare function withTooltip<TValue extends any, TParams extends any[], TMetadat
|
|
|
47
47
|
* ```
|
|
48
48
|
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withasync}
|
|
49
49
|
*/
|
|
50
|
-
declare function withAsync<TValue, TParams extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends
|
|
51
|
-
declare function withAsync<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition
|
|
50
|
+
declare function withAsync<TValue, TParams extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends Promise<RegleRuleMetadataDefinition> = Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn>(rule: InlineRuleDeclaration<TValue, TParams, TReturn>, depsArray?: [...TParams]): RegleRuleDefinition<TValue, UnwrapRegleUniversalParams<TParams>, true, TMetadata>;
|
|
51
|
+
declare function withAsync<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition>(rule: RegleRuleWithParamsDefinition<TValue, TParams, true, TMetadata>, depsArray?: [...TParams]): RegleRuleWithParamsDefinition<TValue, TParams, true, TMetadata>;
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
54
|
* The withParams wrapper allows your rule to depend on external parameters, such as a reactive property in your component or store.
|
|
@@ -71,7 +71,7 @@ declare function withAsync<TValue extends any, TParams extends any[], TMetadata
|
|
|
71
71
|
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withparams}
|
|
72
72
|
*/
|
|
73
73
|
declare function withParams<TValue, TParams extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: InlineRuleDeclaration<TValue, TParams, TReturn> | RegleRuleDefinition<TValue, any[], TAsync, TMetadata>, depsArray: [...TParams]): RegleRuleDefinition<TValue, UnwrapRegleUniversalParams<TParams>, TAsync, TMetadata>;
|
|
74
|
-
declare function withParams<TValue extends any, TParams extends any[],
|
|
74
|
+
declare function withParams<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>, depsArray: [...TParams]): RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
77
|
* The applyIf operator is similar to requiredIf, but it can be used with any rule. It simplifies conditional rule declarations.
|
|
@@ -239,14 +239,6 @@ declare function not<TValue, TParams extends any[] = [], TReturn extends RegleRu
|
|
|
239
239
|
*/
|
|
240
240
|
declare const required: RegleRuleDefinition<unknown, [], false, boolean, unknown>;
|
|
241
241
|
|
|
242
|
-
interface CommonComparationOptions {
|
|
243
|
-
/**
|
|
244
|
-
* Change the behaviour of the rule to check only if the value is equal in addition to be strictly superior or inferior
|
|
245
|
-
* @default true
|
|
246
|
-
*/
|
|
247
|
-
allowEqual?: boolean;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
242
|
/**
|
|
251
243
|
* Requires the input value to have a maximum specified length, inclusive. Works with arrays, objects and strings.
|
|
252
244
|
*
|
package/dist/regle-rules.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RegleRuleMetadataDefinition, RegleRuleWithParamsDefinition, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleDefinition, InlineRuleDeclaration, UnwrapRegleUniversalParams, Maybe, FormRuleDeclaration } from '@regle/core';
|
|
1
|
+
import { RegleRuleMetadataDefinition, RegleRuleWithParamsDefinition, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleDefinition, InlineRuleDeclaration, UnwrapRegleUniversalParams, Maybe, FormRuleDeclaration, CommonComparationOptions } from '@regle/core';
|
|
2
2
|
import { Ref, MaybeRefOrGetter, MaybeRef } from 'vue';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -18,16 +18,16 @@ import { Ref, MaybeRefOrGetter, MaybeRef } from 'vue';
|
|
|
18
18
|
* ```
|
|
19
19
|
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withmessage}
|
|
20
20
|
*/
|
|
21
|
-
declare function withMessage<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition
|
|
22
|
-
declare function withMessage<TValue extends any, TParams extends unknown[], TMetadata extends RegleRuleMetadataDefinition
|
|
23
|
-
declare function withMessage<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition
|
|
21
|
+
declare function withMessage<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
22
|
+
declare function withMessage<TValue extends any, TParams extends unknown[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
23
|
+
declare function withMessage<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: InlineRuleDeclaration<TValue, TParams, TReturn>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* The withTooltip wrapper allows you to display additional messages for your field that aren’t necessarily errors. Tooltips are aggregated and accessible via $fields.xxx.$tooltips .
|
|
27
27
|
*/
|
|
28
|
+
declare function withTooltip<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
29
|
+
declare function withTooltip<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
28
30
|
declare function withTooltip<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: InlineRuleDeclaration<TValue, TParams, TReturn>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
29
|
-
declare function withTooltip<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition, TReturn extends TMetadata | Promise<TMetadata>, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
30
|
-
declare function withTooltip<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition, TReturn extends TMetadata | Promise<TMetadata>, TAsync extends boolean>(rule: RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TValue, TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* withAsync works like withParams, but is specifically designed for async rules that depend on external values.
|
|
@@ -47,8 +47,8 @@ declare function withTooltip<TValue extends any, TParams extends any[], TMetadat
|
|
|
47
47
|
* ```
|
|
48
48
|
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withasync}
|
|
49
49
|
*/
|
|
50
|
-
declare function withAsync<TValue, TParams extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends
|
|
51
|
-
declare function withAsync<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition
|
|
50
|
+
declare function withAsync<TValue, TParams extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends Promise<RegleRuleMetadataDefinition> = Promise<RegleRuleMetadataDefinition>, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn>(rule: InlineRuleDeclaration<TValue, TParams, TReturn>, depsArray?: [...TParams]): RegleRuleDefinition<TValue, UnwrapRegleUniversalParams<TParams>, true, TMetadata>;
|
|
51
|
+
declare function withAsync<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition>(rule: RegleRuleWithParamsDefinition<TValue, TParams, true, TMetadata>, depsArray?: [...TParams]): RegleRuleWithParamsDefinition<TValue, TParams, true, TMetadata>;
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
54
|
* The withParams wrapper allows your rule to depend on external parameters, such as a reactive property in your component or store.
|
|
@@ -71,7 +71,7 @@ declare function withAsync<TValue extends any, TParams extends any[], TMetadata
|
|
|
71
71
|
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withparams}
|
|
72
72
|
*/
|
|
73
73
|
declare function withParams<TValue, TParams extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: InlineRuleDeclaration<TValue, TParams, TReturn> | RegleRuleDefinition<TValue, any[], TAsync, TMetadata>, depsArray: [...TParams]): RegleRuleDefinition<TValue, UnwrapRegleUniversalParams<TParams>, TAsync, TMetadata>;
|
|
74
|
-
declare function withParams<TValue extends any, TParams extends any[],
|
|
74
|
+
declare function withParams<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(rule: RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>, depsArray: [...TParams]): RegleRuleWithParamsDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
77
|
* The applyIf operator is similar to requiredIf, but it can be used with any rule. It simplifies conditional rule declarations.
|
|
@@ -239,14 +239,6 @@ declare function not<TValue, TParams extends any[] = [], TReturn extends RegleRu
|
|
|
239
239
|
*/
|
|
240
240
|
declare const required: RegleRuleDefinition<unknown, [], false, boolean, unknown>;
|
|
241
241
|
|
|
242
|
-
interface CommonComparationOptions {
|
|
243
|
-
/**
|
|
244
|
-
* Change the behaviour of the rule to check only if the value is equal in addition to be strictly superior or inferior
|
|
245
|
-
* @default true
|
|
246
|
-
*/
|
|
247
|
-
allowEqual?: boolean;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
242
|
/**
|
|
251
243
|
* Requires the input value to have a maximum specified length, inclusive. Works with arrays, objects and strings.
|
|
252
244
|
*
|
package/dist/regle-rules.min.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var core=require('@regle/core'),vue=require('vue');function P(e,t){let r,a,s,R;typeof e=="function"&&!("_validator"in e)?(r=core.InternalRuleType.Inline,a=e):{_type:r,validator:a,_active:s,_params:R}=e;let l=core.createRule({type:r,validator:a,active:s,message:t}),u=[...R??[]];if(l._params=u,l._message_patched=true,typeof l=="function"){let n=l(...u);return n._message_patched=true,n}else return l}function _(e,t){let r,a,s,R,l;typeof e=="function"&&!("_validator"in e)?(r=core.InternalRuleType.Inline,a=e):{_type:r,validator:a,_active:s,_params:R,_message:l}=e;let u=core.createRule({type:r,validator:a,active:s,message:l,tooltip:t}),n=[...R??[]];if(u._params=n,u._tooltip_patched=true,typeof u=="function"){let m=u(...n);return u._tooltip_patched=true,m}else return u}function E(e,t){let r,a,s=[],R="";typeof e=="function"?(r=core.InternalRuleType.Inline,a=async(u,...n)=>e(u,...n),s=[t]):({_type:r,_message:R}=e,s=s=e._params?.concat(t),a=async(...u)=>e.validator(u));let l=core.createRule({type:core.InternalRuleType.Async,validator:a,message:R});return l._params=l._params?.concat(s),l(...t??[])}function w(e,t){let r,a,s=[],R="";typeof e=="function"?(r=core.InternalRuleType.Inline,a=(u,...n)=>e(u,...n),s=[t]):({_type:r,validator:a,_message:R}=e,s=s=e._params?.concat(t));let l=core.createRule({type:core.InternalRuleType.Inline,validator:a,message:R});return l._params=l._params?.concat(s),l(...t)}function L(e,t){let r,a,s=[],R="";typeof t=="function"?(r=core.InternalRuleType.Inline,a=t,s=[e]):({_type:r,validator:a,_message:R}=t,s=t._params?.concat([e]));function l(o,...p){let[b]=core.unwrapRuleParameters([e]);return b?a(o,...p):true}function u(o){let[p]=core.unwrapRuleParameters([e]);return p}let n=core.createRule({type:r,validator:l,active:u,message:R}),m=[...s??[]];return n._params=m,typeof n=="function"?n(...m):n}function f(e,t=true){return e==null?true:e instanceof Date?isNaN(e.getTime()):e.constructor.name=="File"||e.constructor.name=="FileList"?e.size<=0:Array.isArray(e)?t?e.length===0:false:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function x(e){if(f(e))return false;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="string"){let r=new Date(e);if(r.toString()==="Invalid Date")return !1;t=r;}return !!t}catch{return false}}function T(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function i(e,t=true){return !f(typeof e=="string"?e.trim():e,t)}function y(e){return e==null||typeof e!="number"?false:!isNaN(e)}function c(e,...t){if(f(e))return true;let r=typeof e=="number"?e.toString():e;return t.every(a=>(a.lastIndex=0,a.test(r)))}function D(e){let t=vue.unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function d(e){return typeof e=="number"?e:e!=null?typeof e=="string"?e.trim()!==e?NaN:+e:NaN:NaN}function q(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),r=e.map(n=>{if(typeof n=="function")return null;{let m=n._params;return m?.length?m:[]}}).flat().filter(n=>!!n);function a(n,m,...o){let p=[],b=0;for(let g of n)if(typeof g=="function")p.push(g(m)),b++;else {let M=g._params?.length??0;p.push(g.validator(m,...o.slice(b,M))),M&&(b+=M);}return p}function s(n){return n?.some(o=>typeof o!="boolean")?{$valid:n.every(o=>typeof o=="boolean"?!!o:o.$valid),...n.reduce((o,p)=>{if(typeof p=="boolean")return o;let{$valid:b,...g}=p;return {...o,...g}},{})}:n.every(o=>!!o)}let R;e.length?R=t?async(n,...m)=>{let o=await Promise.all(a(e,n,...m));return s(o)}:(n,...m)=>{let o=a(e,n,...m);return s(o)}:R=n=>false;let l=core.createRule({type:"and",validator:R,message:"The value does not match all of the provided validators"}),u=[...r??[]];return l._params=u,typeof l=="function"?l(...u):l}function G(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),r=e.map(n=>typeof n=="function"?null:n._params).flat().filter(n=>!!n);function a(n,m,...o){let p=[],b=0;for(let g of n)if(typeof g=="function")p.push(g(m)),b++;else {let M=g._params?.length??0;p.push(g.validator(m,...o.slice(b,M))),M&&(b+=M);}return p}function s(n){return n.some(o=>typeof o!="boolean")?{$valid:n.some(o=>typeof o=="boolean"?!!o:o.$valid),...n.reduce((o,p)=>{if(typeof p=="boolean")return o;let{$valid:b,...g}=p;return {...o,...g}},{})}:n.some(o=>!!o)}let l=core.createRule({type:"or",validator:t?async(n,...m)=>{let o=await Promise.all(a(e,n,...m));return s(o)}:(n,...m)=>{let o=a(e,n,...m);return s(o)},message:"The value does not match any of the provided validators"}),u=[...r??[]];return l._params=u,typeof l=="function"?l(...u):l}function B(e,t){let r,a,s,R,l;typeof e=="function"?(a=e,l=e.constructor.name==="AsyncFunction"):({_type:r,validator:a,_params:R}=e,l=e._async),l?s=async(m,...o)=>i(m)?!await a(m,...o):true:s=(m,...o)=>i(m)?!a(m,...o):true;let u=core.createRule({type:"not",validator:s,message:t??"Error"}),n=[...R??[]];return u._params=n,typeof u=="function"?u(...n):u}var Bt=core.createRule({type:"required",validator:e=>i(e),message:"This field is required"});var Qt=core.createRule({type:"maxLength",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e,false)&&i(t)?y(t)?a?D(e)<=t:D(e)<t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),false):true},message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var er=core.createRule({type:"required",validator(e,t){return t?i(e):true},message:"This field is required",active({$params:[e]}){return e}});var X=/^[a-zA-Z]*$/,ar=core.createRule({type:"alpha",validator(e){return f(e)?true:c(e,X)},message:"The value is not alphabetical"});var j=/^[a-zA-Z0-9]*$/,lr=core.createRule({type:"alpha",validator(e){return f(e)?true:c(e,j)},message:"The value must be alpha-numeric"});var Rr=core.createRule({type:"between",validator:(e,t,r,a)=>{let{allowEqual:s=true}=a??{};if(i(e)&&i(t)&&i(r)){let R=d(e),l=d(t),u=d(r);return y(R)&&y(l)&&y(u)?s?R>=l&&R<=u:R>l&&R<u:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${r}`),false)}return true},message:({$params:[e,t]})=>`The value must be between ${e} and ${t}`});var re=/^[-]?\d*(\.\d+)?$/,dr=core.createRule({type:"decimal",validator(e){return f(e)?true:c(e,re)},message:"Value must be decimal"});var ae=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,br=core.createRule({type:"email",validator(e){return f(e)?true:c(e,ae)},message:"Value must be an valid email address"});var oe=/(^[0-9]*$)|(^-[0-9]+$)/,Pr=core.createRule({type:"integer",validator(e){return f(e)?true:c(e,oe)},message:"Value must be an integer"});var Ar=core.createRule({type:"maxValue",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e)&&i(t)?y(t)&&!isNaN(d(e))?a?d(e)<=t:d(e)<t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true},message:({$params:[e,t]})=>{let{allowEqual:r=true}=t??{};return r?`Value must be less than or equal to ${e}`:`Value must be less than ${e}`}});var Cr=core.createRule({type:"minLength",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e,false)&&i(t)?y(t)?a?D(e)>=t:D(e)>t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),false):true},message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var Ir=core.createRule({type:"minValue",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e)&&i(t)?y(t)&&!isNaN(d(e))?a?d(e)>=t:d(e)>t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true},message:({$params:[e,t]})=>{let{allowEqual:r=true}=t??{};return r?`Value must be greater than or equal to ${e}`:`Value must be greater than ${e}`}});var zr=core.createRule({type:"exactValue",validator:(e,t)=>i(e)&&i(t)?y(t)&&!isNaN(d(e))?d(e)===t:(console.warn(`[exactValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true,message:({$params:[e]})=>`The value must be equal to ${e}`});var Gr=core.createRule({type:"exactLength",validator:(e,t)=>i(e,false)&&i(t)?y(t)?D(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),false):true,message:({$params:[e]})=>`This field should be exactly ${e} characters long`});var pe=/^\d*(\.\d+)?$/,Jr=core.createRule({type:"numeric",validator(e){return f(e)?true:c(e,pe)},message:"This field must be numeric"});var Yr=core.createRule({type:"required",validator(e,t){return t?true:i(e)},message:"This field is required",active({$params:[e]}){return !e}});var rn=core.createRule({type:"sameAs",validator(e,t,r="other"){return f(e)?true:e===t},message({$params:[e,t]}){return `Value must be equal to the ${t} value`}});var ge=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,sn=core.createRule({type:"url",validator(e){return f(e)?true:c(e,ge)},message:"The value is not a valid URL address"});function Te(){return navigator.languages!=null?navigator.languages[0]:navigator.language}function h(e){return e?new Intl.DateTimeFormat(Te(),{dateStyle:"short"}).format(new Date(e)):"?"}var pn=core.createRule({type:"dateAfter",validator:(e,t)=>i(e)&&i(t)?x(e)&&x(t)?T(e).getTime()>T(t).getTime()?true:{$valid:false,error:"date-not-after"}:{$valid:false,error:"value-or-paramater-not-a-date"}:true,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be after ${h(e)}`});var Tn=core.createRule({type:"dateBefore",validator:(e,t)=>i(e)&&i(t)?x(e)&&x(t)?T(e).getTime()<T(t).getTime()?true:{$valid:false,error:"date-not-before"}:{$valid:false,error:"value-or-paramater-not-a-date"}:true,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The fields must be Dates":`The date must be before ${h(e)}`});var hn=core.createRule({type:"dateBetween",validator:(e,t,r)=>x(e)&&x(t)&&x(r)?T(e).getTime()>T(t).getTime()&&T(e).getTime()<T(r).getTime():true,message:({$params:[e,t]})=>`The date must be between ${h(e)} and ${h(t)}`});function he(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return false;let t=+e|0;return t>=0&&t<=255}var $n=core.createRule({type:"ipAddress",validator(e){if(f(e))return true;if(typeof e!="string")return false;let t=e.split(".");return t.length===4&&t.every(he)},message:"The value is not a valid IP address"});var Fn=core.createRule({type:"macAddress",validator(e,t=":"){if(f(e))return true;if(typeof e!="string")return false;let r=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return r!==null&&(r.length===6||r.length===8)&&r.every(we)},message:"The value is not a valid MAC Address"}),we=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var En=core.createRule({type:"checked",validator:e=>i(e)?e===true:true,message:"This field must be checked"});var Ln=core.createRule({type:"contains",validator(e,t){return i(e)&&i(t)?e.includes(t):true},message({$params:[e]}){return `Field must contain ${e}`}});var Un=core.createRule({type:"startsWith",validator(e,t){return i(e)&&i(t)?e.startsWith(t):true},message({$params:[e]}){return `Field must end with ${e}`}});var Zn=core.createRule({type:"endsWith",validator(e,t){return i(e)&&i(t)?e.endsWith(t):true},message({$params:[e]}){return `Field must end with ${e}`}});var Xn=core.createRule({type:"regex",validator(e,t){if(i(e)){let r=Array.isArray(t)?t:[t];return c(e,...r)}return true},message:"This field does not match the required pattern"});function ta(e){let t=vue.computed(()=>vue.toValue(e));return P(w((a,s)=>i(a)&&i(s,false)?s.includes(a):true,[t]),({$params:[a]})=>`Value should be one of those options: ${a.join(", ")}.`)}function Ee(e){let t=Object.keys(e).filter(a=>typeof e[e[a]]!="number"),r={};for(let a of t)r[a]=e[a];return Object.values(r)}function ia(e){let t=vue.computed(()=>vue.toValue(e));return P(w((a,s)=>i(a)&&!f(s)?Ee(s).includes(a):true,[t]),({$params:[a]})=>`Value should be one of those options: ${Object.values(a).join(", ")}.`)}exports.alpha=ar;exports.alphaNum=lr;exports.and=q;exports.applyIf=L;exports.between=Rr;exports.checked=En;exports.contains=Ln;exports.dateAfter=pn;exports.dateBefore=Tn;exports.dateBetween=hn;exports.decimal=dr;exports.email=br;exports.endsWith=Zn;exports.exactLength=Gr;exports.exactValue=zr;exports.getSize=D;exports.integer=Pr;exports.ipAddress=$n;exports.isDate=x;exports.isEmpty=f;exports.isFilled=i;exports.isNumber=y;exports.macAddress=Fn;exports.matchRegex=c;exports.maxLength=Qt;exports.maxValue=Ar;exports.minLength=Cr;exports.minValue=Ir;exports.nativeEnum=ia;exports.not=B;exports.numeric=Jr;exports.oneOf=ta;exports.or=G;exports.regex=Xn;exports.required=Bt;exports.requiredIf=er;exports.requiredUnless=Yr;exports.sameAs=rn;exports.startsWith=Un;exports.toDate=T;exports.toNumber=d;exports.url=sn;exports.withAsync=E;exports.withMessage=P;exports.withParams=w;exports.withTooltip=_;
|
|
1
|
+
'use strict';var core=require('@regle/core'),vue=require('vue');function P(e,t){let r,a,s,R;typeof e=="function"&&!("_validator"in e)?(r=core.InternalRuleType.Inline,a=e):{_type:r,validator:a,_active:s,_params:R}=e;let l=core.createRule({type:r,validator:a,active:s,message:t}),u=[...R??[]];if(l._params=u,l._message_patched=true,typeof l=="function"){let n=l(...u);return n._message_patched=true,n}else return l}function _(e,t){let r,a,s,R,l;typeof e=="function"&&!("_validator"in e)?(r=core.InternalRuleType.Inline,a=e):{_type:r,validator:a,_active:s,_params:R,_message:l}=e;let u=core.createRule({type:r,validator:a,active:s,message:l,tooltip:t}),n=[...R??[]];if(u._params=n,u._tooltip_patched=true,typeof u=="function"){let m=u(...n);return u._tooltip_patched=true,m}else return u}function E(e,t){let r,a,s=[],R="";typeof e=="function"?(r=core.InternalRuleType.Inline,a=async(u,...n)=>e(u,...n),s=[t]):({_type:r,_message:R}=e,s=s=e._params?.concat(t),a=async(...u)=>e.validator(u));let l=core.createRule({type:core.InternalRuleType.Async,validator:a,message:R});return l._params=l._params?.concat(s),l(...t??[])}function w(e,t){let r,a,s=[],R="";typeof e=="function"?(r=core.InternalRuleType.Inline,a=(u,...n)=>e(u,...n),s=[t]):({_type:r,validator:a,_message:R}=e,s=s=e._params?.concat(t));let l=core.createRule({type:core.InternalRuleType.Inline,validator:a,message:R});return l._params=l._params?.concat(s),l(...t)}function L(e,t){let r,a,s=[],R="";typeof t=="function"?(r=core.InternalRuleType.Inline,a=t,s=[e]):({_type:r,validator:a,_message:R}=t,s=t._params?.concat([e]));function l(o,...p){let[b]=core.unwrapRuleParameters([e]);return b?a(o,...p):true}function u(o){let[p]=core.unwrapRuleParameters([e]);return p}let n=core.createRule({type:r,validator:l,active:u,message:R}),m=[...s??[]];return n._params=m,typeof n=="function"?n(...m):n}function f(e,t=true){return e==null?true:e instanceof Date?isNaN(e.getTime()):e.constructor.name=="File"||e.constructor.name=="FileList"?e.size<=0:Array.isArray(e)?t?e.length===0:false:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function x(e){if(f(e))return false;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="string"){let r=new Date(e);if(r.toString()==="Invalid Date")return !1;t=r;}return !!t}catch{return false}}function T(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function i(e,t=true){return !f(typeof e=="string"?e.trim():e,t)}function y(e){return e==null||typeof e!="number"?false:!isNaN(e)}function g(e,...t){if(f(e))return true;let r=typeof e=="number"?e.toString():e;return t.every(a=>(a.lastIndex=0,a.test(r)))}function D(e){let t=vue.unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function c(e){return typeof e=="number"?e:e!=null?typeof e=="string"?e.trim()!==e?NaN:+e:NaN:NaN}function q(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),r=e.map(n=>{if(typeof n=="function")return null;{let m=n._params;return m?.length?m:[]}}).flat().filter(n=>!!n);function a(n,m,...o){let p=[],b=0;for(let d of n)if(typeof d=="function")p.push(d(m)),b++;else {let M=d._params?.length??0;p.push(d.validator(m,...o.slice(b,M))),M&&(b+=M);}return p}function s(n){return n?.some(o=>typeof o!="boolean")?{$valid:n.every(o=>typeof o=="boolean"?!!o:o.$valid),...n.reduce((o,p)=>{if(typeof p=="boolean")return o;let{$valid:b,...d}=p;return {...o,...d}},{})}:n.every(o=>!!o)}let R;e.length?R=t?async(n,...m)=>{let o=await Promise.all(a(e,n,...m));return s(o)}:(n,...m)=>{let o=a(e,n,...m);return s(o)}:R=n=>false;let l=core.createRule({type:"and",validator:R,message:"The value does not match all of the provided validators"}),u=[...r??[]];return l._params=u,typeof l=="function"?l(...u):l}function G(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),r=e.map(n=>typeof n=="function"?null:n._params).flat().filter(n=>!!n);function a(n,m,...o){let p=[],b=0;for(let d of n)if(typeof d=="function")p.push(d(m)),b++;else {let M=d._params?.length??0;p.push(d.validator(m,...o.slice(b,M))),M&&(b+=M);}return p}function s(n){return n.some(o=>typeof o!="boolean")?{$valid:n.some(o=>typeof o=="boolean"?!!o:o.$valid),...n.reduce((o,p)=>{if(typeof p=="boolean")return o;let{$valid:b,...d}=p;return {...o,...d}},{})}:n.some(o=>!!o)}let l=core.createRule({type:"or",validator:t?async(n,...m)=>{let o=await Promise.all(a(e,n,...m));return s(o)}:(n,...m)=>{let o=a(e,n,...m);return s(o)},message:"The value does not match any of the provided validators"}),u=[...r??[]];return l._params=u,typeof l=="function"?l(...u):l}function B(e,t){let r,a,s,R,l;typeof e=="function"?(a=e,l=e.constructor.name==="AsyncFunction"):({_type:r,validator:a,_params:R}=e,l=e._async),l?s=async(m,...o)=>i(m)?!await a(m,...o):true:s=(m,...o)=>i(m)?!a(m,...o):true;let u=core.createRule({type:"not",validator:s,message:t??"Error"}),n=[...R??[]];return u._params=n,typeof u=="function"?u(...n):u}var Bt=core.createRule({type:"required",validator:e=>i(e),message:"This field is required"});var Qt=core.createRule({type:"maxLength",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e,false)&&i(t)?y(t)?a?D(e)<=t:D(e)<t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),false):true},message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var er=core.createRule({type:"required",validator(e,t){return t?i(e):true},message:"This field is required",active({$params:[e]}){return e}});var X=/^[a-zA-Z]*$/,ar=core.createRule({type:"alpha",validator(e){return f(e)?true:g(e,X)},message:"The value is not alphabetical"});var j=/^[a-zA-Z0-9]*$/,lr=core.createRule({type:"alpha",validator(e){return f(e)?true:g(e,j)},message:"The value must be alpha-numeric"});var Rr=core.createRule({type:"between",validator:(e,t,r,a)=>{let{allowEqual:s=true}=a??{};if(i(e)&&i(t)&&i(r)){let R=c(e),l=c(t),u=c(r);return y(R)&&y(l)&&y(u)?s?R>=l&&R<=u:R>l&&R<u:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${r}`),false)}return true},message:({$params:[e,t]})=>`The value must be between ${e} and ${t}`});var re=/^[-]?\d*(\.\d+)?$/,cr=core.createRule({type:"decimal",validator(e){return f(e)?true:g(e,re)},message:"Value must be decimal"});var ae=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,br=core.createRule({type:"email",validator(e){return f(e)?true:g(e,ae)},message:"Value must be an valid email address"});var oe=/(^[0-9]*$)|(^-[0-9]+$)/,Pr=core.createRule({type:"integer",validator(e){return f(e)?true:g(e,oe)},message:"Value must be an integer"});var Ar=core.createRule({type:"maxValue",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e)&&i(t)?y(t)&&!isNaN(c(e))?a?c(e)<=t:c(e)<t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true},message:({$params:[e,t]})=>{let{allowEqual:r=true}=t??{};return r?`Value must be less than or equal to ${e}`:`Value must be less than ${e}`}});var Cr=core.createRule({type:"minLength",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e,false)&&i(t)?y(t)?a?D(e)>=t:D(e)>t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),false):true},message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var Ir=core.createRule({type:"minValue",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e)&&i(t)?y(t)&&!isNaN(c(e))?a?c(e)>=t:c(e)>t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true},message:({$params:[e,t]})=>{let{allowEqual:r=true}=t??{};return r?`Value must be greater than or equal to ${e}`:`Value must be greater than ${e}`}});var zr=core.createRule({type:"exactValue",validator:(e,t)=>i(e)&&i(t)?y(t)&&!isNaN(c(e))?c(e)===t:(console.warn(`[exactValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true,message:({$params:[e]})=>`The value must be equal to ${e}`});var Gr=core.createRule({type:"exactLength",validator:(e,t)=>i(e,false)&&i(t)?y(t)?D(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),false):true,message:({$params:[e]})=>`This field should be exactly ${e} characters long`});var pe=/^\d*(\.\d+)?$/,Jr=core.createRule({type:"numeric",validator(e){return f(e)?true:g(e,pe)},message:"This field must be numeric"});var Yr=core.createRule({type:"required",validator(e,t){return t?true:i(e)},message:"This field is required",active({$params:[e]}){return !e}});var rn=core.createRule({type:"sameAs",validator(e,t,r="other"){return f(e)?true:e===t},message({$params:[e,t]}){return `Value must be equal to the ${t} value`}});var de=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,sn=core.createRule({type:"url",validator(e){return f(e)?true:g(e,de)},message:"The value is not a valid URL address"});function Te(){return navigator.languages!=null?navigator.languages[0]:navigator.language}function h(e){return e?new Intl.DateTimeFormat(Te(),{dateStyle:"short"}).format(new Date(e)):"?"}var pn=core.createRule({type:"dateAfter",validator:(e,t)=>i(e)&&i(t)?x(e)&&x(t)?T(e).getTime()>T(t).getTime()?true:{$valid:false,error:"date-not-after"}:{$valid:false,error:"value-or-paramater-not-a-date"}:true,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be after ${h(e)}`});var Tn=core.createRule({type:"dateBefore",validator:(e,t)=>i(e)&&i(t)?x(e)&&x(t)?T(e).getTime()<T(t).getTime()?true:{$valid:false,error:"date-not-before"}:{$valid:false,error:"value-or-paramater-not-a-date"}:true,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The fields must be Dates":`The date must be before ${h(e)}`});var hn=core.createRule({type:"dateBetween",validator:(e,t,r)=>x(e)&&x(t)&&x(r)?T(e).getTime()>T(t).getTime()&&T(e).getTime()<T(r).getTime():true,message:({$params:[e,t]})=>`The date must be between ${h(e)} and ${h(t)}`});function he(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return false;let t=+e|0;return t>=0&&t<=255}var $n=core.createRule({type:"ipAddress",validator(e){if(f(e))return true;if(typeof e!="string")return false;let t=e.split(".");return t.length===4&&t.every(he)},message:"The value is not a valid IP address"});var Fn=core.createRule({type:"macAddress",validator(e,t=":"){if(f(e))return true;if(typeof e!="string")return false;let r=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return r!==null&&(r.length===6||r.length===8)&&r.every(we)},message:"The value is not a valid MAC Address"}),we=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var En=core.createRule({type:"checked",validator:e=>i(e)?e===true:true,message:"This field must be checked"});var Ln=core.createRule({type:"contains",validator(e,t){return i(e)&&i(t)?e.includes(t):true},message({$params:[e]}){return `Field must contain ${e}`}});var Un=core.createRule({type:"startsWith",validator(e,t){return i(e)&&i(t)?e.startsWith(t):true},message({$params:[e]}){return `Field must end with ${e}`}});var Zn=core.createRule({type:"endsWith",validator(e,t){return i(e)&&i(t)?e.endsWith(t):true},message({$params:[e]}){return `Field must end with ${e}`}});var Xn=core.createRule({type:"regex",validator(e,t){if(i(e)){let r=Array.isArray(t)?t:[t];return g(e,...r)}return true},message:"This field does not match the required pattern"});function ta(e){let t=vue.computed(()=>vue.toValue(e));return P(w((a,s)=>i(a)&&i(s,false)?s.includes(a):true,[t]),({$params:[a]})=>`Value should be one of those options: ${a.join(", ")}.`)}function Ee(e){let t=Object.keys(e).filter(a=>typeof e[e[a]]!="number"),r={};for(let a of t)r[a]=e[a];return Object.values(r)}function ia(e){let t=vue.computed(()=>vue.toValue(e));return P(w((a,s)=>i(a)&&!f(s)?Ee(s).includes(a):true,[t]),({$params:[a]})=>`Value should be one of those options: ${Object.values(a).join(", ")}.`)}exports.alpha=ar;exports.alphaNum=lr;exports.and=q;exports.applyIf=L;exports.between=Rr;exports.checked=En;exports.contains=Ln;exports.dateAfter=pn;exports.dateBefore=Tn;exports.dateBetween=hn;exports.decimal=cr;exports.email=br;exports.endsWith=Zn;exports.exactLength=Gr;exports.exactValue=zr;exports.getSize=D;exports.integer=Pr;exports.ipAddress=$n;exports.isDate=x;exports.isEmpty=f;exports.isFilled=i;exports.isNumber=y;exports.macAddress=Fn;exports.matchRegex=g;exports.maxLength=Qt;exports.maxValue=Ar;exports.minLength=Cr;exports.minValue=Ir;exports.nativeEnum=ia;exports.not=B;exports.numeric=Jr;exports.oneOf=ta;exports.or=G;exports.regex=Xn;exports.required=Bt;exports.requiredIf=er;exports.requiredUnless=Yr;exports.sameAs=rn;exports.startsWith=Un;exports.toDate=T;exports.toNumber=c;exports.url=sn;exports.withAsync=E;exports.withMessage=P;exports.withParams=w;exports.withTooltip=_;
|
package/dist/regle-rules.min.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {createRule,InternalRuleType,unwrapRuleParameters}from'@regle/core';import {unref,computed,toValue}from'vue';function P(e,t){let r,a,s,R;typeof e=="function"&&!("_validator"in e)?(r=InternalRuleType.Inline,a=e):{_type:r,validator:a,_active:s,_params:R}=e;let l=createRule({type:r,validator:a,active:s,message:t}),u=[...R??[]];if(l._params=u,l._message_patched=true,typeof l=="function"){let n=l(...u);return n._message_patched=true,n}else return l}function _(e,t){let r,a,s,R,l;typeof e=="function"&&!("_validator"in e)?(r=InternalRuleType.Inline,a=e):{_type:r,validator:a,_active:s,_params:R,_message:l}=e;let u=createRule({type:r,validator:a,active:s,message:l,tooltip:t}),n=[...R??[]];if(u._params=n,u._tooltip_patched=true,typeof u=="function"){let m=u(...n);return u._tooltip_patched=true,m}else return u}function E(e,t){let r,a,s=[],R="";typeof e=="function"?(r=InternalRuleType.Inline,a=async(u,...n)=>e(u,...n),s=[t]):({_type:r,_message:R}=e,s=s=e._params?.concat(t),a=async(...u)=>e.validator(u));let l=createRule({type:InternalRuleType.Async,validator:a,message:R});return l._params=l._params?.concat(s),l(...t??[])}function w(e,t){let r,a,s=[],R="";typeof e=="function"?(r=InternalRuleType.Inline,a=(u,...n)=>e(u,...n),s=[t]):({_type:r,validator:a,_message:R}=e,s=s=e._params?.concat(t));let l=createRule({type:InternalRuleType.Inline,validator:a,message:R});return l._params=l._params?.concat(s),l(...t)}function L(e,t){let r,a,s=[],R="";typeof t=="function"?(r=InternalRuleType.Inline,a=t,s=[e]):({_type:r,validator:a,_message:R}=t,s=t._params?.concat([e]));function l(o,...p){let[b]=unwrapRuleParameters([e]);return b?a(o,...p):true}function u(o){let[p]=unwrapRuleParameters([e]);return p}let n=createRule({type:r,validator:l,active:u,message:R}),m=[...s??[]];return n._params=m,typeof n=="function"?n(...m):n}function f(e,t=true){return e==null?true:e instanceof Date?isNaN(e.getTime()):e.constructor.name=="File"||e.constructor.name=="FileList"?e.size<=0:Array.isArray(e)?t?e.length===0:false:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function x(e){if(f(e))return false;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="string"){let r=new Date(e);if(r.toString()==="Invalid Date")return !1;t=r;}return !!t}catch{return false}}function T(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function i(e,t=true){return !f(typeof e=="string"?e.trim():e,t)}function y(e){return e==null||typeof e!="number"?false:!isNaN(e)}function c(e,...t){if(f(e))return true;let r=typeof e=="number"?e.toString():e;return t.every(a=>(a.lastIndex=0,a.test(r)))}function D(e){let t=unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function d(e){return typeof e=="number"?e:e!=null?typeof e=="string"?e.trim()!==e?NaN:+e:NaN:NaN}function q(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),r=e.map(n=>{if(typeof n=="function")return null;{let m=n._params;return m?.length?m:[]}}).flat().filter(n=>!!n);function a(n,m,...o){let p=[],b=0;for(let g of n)if(typeof g=="function")p.push(g(m)),b++;else {let M=g._params?.length??0;p.push(g.validator(m,...o.slice(b,M))),M&&(b+=M);}return p}function s(n){return n?.some(o=>typeof o!="boolean")?{$valid:n.every(o=>typeof o=="boolean"?!!o:o.$valid),...n.reduce((o,p)=>{if(typeof p=="boolean")return o;let{$valid:b,...g}=p;return {...o,...g}},{})}:n.every(o=>!!o)}let R;e.length?R=t?async(n,...m)=>{let o=await Promise.all(a(e,n,...m));return s(o)}:(n,...m)=>{let o=a(e,n,...m);return s(o)}:R=n=>false;let l=createRule({type:"and",validator:R,message:"The value does not match all of the provided validators"}),u=[...r??[]];return l._params=u,typeof l=="function"?l(...u):l}function G(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),r=e.map(n=>typeof n=="function"?null:n._params).flat().filter(n=>!!n);function a(n,m,...o){let p=[],b=0;for(let g of n)if(typeof g=="function")p.push(g(m)),b++;else {let M=g._params?.length??0;p.push(g.validator(m,...o.slice(b,M))),M&&(b+=M);}return p}function s(n){return n.some(o=>typeof o!="boolean")?{$valid:n.some(o=>typeof o=="boolean"?!!o:o.$valid),...n.reduce((o,p)=>{if(typeof p=="boolean")return o;let{$valid:b,...g}=p;return {...o,...g}},{})}:n.some(o=>!!o)}let l=createRule({type:"or",validator:t?async(n,...m)=>{let o=await Promise.all(a(e,n,...m));return s(o)}:(n,...m)=>{let o=a(e,n,...m);return s(o)},message:"The value does not match any of the provided validators"}),u=[...r??[]];return l._params=u,typeof l=="function"?l(...u):l}function B(e,t){let r,a,s,R,l;typeof e=="function"?(a=e,l=e.constructor.name==="AsyncFunction"):({_type:r,validator:a,_params:R}=e,l=e._async),l?s=async(m,...o)=>i(m)?!await a(m,...o):true:s=(m,...o)=>i(m)?!a(m,...o):true;let u=createRule({type:"not",validator:s,message:t??"Error"}),n=[...R??[]];return u._params=n,typeof u=="function"?u(...n):u}var Bt=createRule({type:"required",validator:e=>i(e),message:"This field is required"});var Qt=createRule({type:"maxLength",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e,false)&&i(t)?y(t)?a?D(e)<=t:D(e)<t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),false):true},message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var er=createRule({type:"required",validator(e,t){return t?i(e):true},message:"This field is required",active({$params:[e]}){return e}});var X=/^[a-zA-Z]*$/,ar=createRule({type:"alpha",validator(e){return f(e)?true:c(e,X)},message:"The value is not alphabetical"});var j=/^[a-zA-Z0-9]*$/,lr=createRule({type:"alpha",validator(e){return f(e)?true:c(e,j)},message:"The value must be alpha-numeric"});var Rr=createRule({type:"between",validator:(e,t,r,a)=>{let{allowEqual:s=true}=a??{};if(i(e)&&i(t)&&i(r)){let R=d(e),l=d(t),u=d(r);return y(R)&&y(l)&&y(u)?s?R>=l&&R<=u:R>l&&R<u:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${r}`),false)}return true},message:({$params:[e,t]})=>`The value must be between ${e} and ${t}`});var re=/^[-]?\d*(\.\d+)?$/,dr=createRule({type:"decimal",validator(e){return f(e)?true:c(e,re)},message:"Value must be decimal"});var ae=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,br=createRule({type:"email",validator(e){return f(e)?true:c(e,ae)},message:"Value must be an valid email address"});var oe=/(^[0-9]*$)|(^-[0-9]+$)/,Pr=createRule({type:"integer",validator(e){return f(e)?true:c(e,oe)},message:"Value must be an integer"});var Ar=createRule({type:"maxValue",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e)&&i(t)?y(t)&&!isNaN(d(e))?a?d(e)<=t:d(e)<t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true},message:({$params:[e,t]})=>{let{allowEqual:r=true}=t??{};return r?`Value must be less than or equal to ${e}`:`Value must be less than ${e}`}});var Cr=createRule({type:"minLength",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e,false)&&i(t)?y(t)?a?D(e)>=t:D(e)>t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),false):true},message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var Ir=createRule({type:"minValue",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e)&&i(t)?y(t)&&!isNaN(d(e))?a?d(e)>=t:d(e)>t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true},message:({$params:[e,t]})=>{let{allowEqual:r=true}=t??{};return r?`Value must be greater than or equal to ${e}`:`Value must be greater than ${e}`}});var zr=createRule({type:"exactValue",validator:(e,t)=>i(e)&&i(t)?y(t)&&!isNaN(d(e))?d(e)===t:(console.warn(`[exactValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true,message:({$params:[e]})=>`The value must be equal to ${e}`});var Gr=createRule({type:"exactLength",validator:(e,t)=>i(e,false)&&i(t)?y(t)?D(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),false):true,message:({$params:[e]})=>`This field should be exactly ${e} characters long`});var pe=/^\d*(\.\d+)?$/,Jr=createRule({type:"numeric",validator(e){return f(e)?true:c(e,pe)},message:"This field must be numeric"});var Yr=createRule({type:"required",validator(e,t){return t?true:i(e)},message:"This field is required",active({$params:[e]}){return !e}});var rn=createRule({type:"sameAs",validator(e,t,r="other"){return f(e)?true:e===t},message({$params:[e,t]}){return `Value must be equal to the ${t} value`}});var ge=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,sn=createRule({type:"url",validator(e){return f(e)?true:c(e,ge)},message:"The value is not a valid URL address"});function Te(){return navigator.languages!=null?navigator.languages[0]:navigator.language}function h(e){return e?new Intl.DateTimeFormat(Te(),{dateStyle:"short"}).format(new Date(e)):"?"}var pn=createRule({type:"dateAfter",validator:(e,t)=>i(e)&&i(t)?x(e)&&x(t)?T(e).getTime()>T(t).getTime()?true:{$valid:false,error:"date-not-after"}:{$valid:false,error:"value-or-paramater-not-a-date"}:true,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be after ${h(e)}`});var Tn=createRule({type:"dateBefore",validator:(e,t)=>i(e)&&i(t)?x(e)&&x(t)?T(e).getTime()<T(t).getTime()?true:{$valid:false,error:"date-not-before"}:{$valid:false,error:"value-or-paramater-not-a-date"}:true,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The fields must be Dates":`The date must be before ${h(e)}`});var hn=createRule({type:"dateBetween",validator:(e,t,r)=>x(e)&&x(t)&&x(r)?T(e).getTime()>T(t).getTime()&&T(e).getTime()<T(r).getTime():true,message:({$params:[e,t]})=>`The date must be between ${h(e)} and ${h(t)}`});function he(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return false;let t=+e|0;return t>=0&&t<=255}var $n=createRule({type:"ipAddress",validator(e){if(f(e))return true;if(typeof e!="string")return false;let t=e.split(".");return t.length===4&&t.every(he)},message:"The value is not a valid IP address"});var Fn=createRule({type:"macAddress",validator(e,t=":"){if(f(e))return true;if(typeof e!="string")return false;let r=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return r!==null&&(r.length===6||r.length===8)&&r.every(we)},message:"The value is not a valid MAC Address"}),we=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var En=createRule({type:"checked",validator:e=>i(e)?e===true:true,message:"This field must be checked"});var Ln=createRule({type:"contains",validator(e,t){return i(e)&&i(t)?e.includes(t):true},message({$params:[e]}){return `Field must contain ${e}`}});var Un=createRule({type:"startsWith",validator(e,t){return i(e)&&i(t)?e.startsWith(t):true},message({$params:[e]}){return `Field must end with ${e}`}});var Zn=createRule({type:"endsWith",validator(e,t){return i(e)&&i(t)?e.endsWith(t):true},message({$params:[e]}){return `Field must end with ${e}`}});var Xn=createRule({type:"regex",validator(e,t){if(i(e)){let r=Array.isArray(t)?t:[t];return c(e,...r)}return true},message:"This field does not match the required pattern"});function ta(e){let t=computed(()=>toValue(e));return P(w((a,s)=>i(a)&&i(s,false)?s.includes(a):true,[t]),({$params:[a]})=>`Value should be one of those options: ${a.join(", ")}.`)}function Ee(e){let t=Object.keys(e).filter(a=>typeof e[e[a]]!="number"),r={};for(let a of t)r[a]=e[a];return Object.values(r)}function ia(e){let t=computed(()=>toValue(e));return P(w((a,s)=>i(a)&&!f(s)?Ee(s).includes(a):true,[t]),({$params:[a]})=>`Value should be one of those options: ${Object.values(a).join(", ")}.`)}export{ar as alpha,lr as alphaNum,q as and,L as applyIf,Rr as between,En as checked,Ln as contains,pn as dateAfter,Tn as dateBefore,hn as dateBetween,dr as decimal,br as email,Zn as endsWith,Gr as exactLength,zr as exactValue,D as getSize,Pr as integer,$n as ipAddress,x as isDate,f as isEmpty,i as isFilled,y as isNumber,Fn as macAddress,c as matchRegex,Qt as maxLength,Ar as maxValue,Cr as minLength,Ir as minValue,ia as nativeEnum,B as not,Jr as numeric,ta as oneOf,G as or,Xn as regex,Bt as required,er as requiredIf,Yr as requiredUnless,rn as sameAs,Un as startsWith,T as toDate,d as toNumber,sn as url,E as withAsync,P as withMessage,w as withParams,_ as withTooltip};
|
|
1
|
+
import {createRule,InternalRuleType,unwrapRuleParameters}from'@regle/core';import {unref,computed,toValue}from'vue';function P(e,t){let r,a,s,R;typeof e=="function"&&!("_validator"in e)?(r=InternalRuleType.Inline,a=e):{_type:r,validator:a,_active:s,_params:R}=e;let l=createRule({type:r,validator:a,active:s,message:t}),u=[...R??[]];if(l._params=u,l._message_patched=true,typeof l=="function"){let n=l(...u);return n._message_patched=true,n}else return l}function _(e,t){let r,a,s,R,l;typeof e=="function"&&!("_validator"in e)?(r=InternalRuleType.Inline,a=e):{_type:r,validator:a,_active:s,_params:R,_message:l}=e;let u=createRule({type:r,validator:a,active:s,message:l,tooltip:t}),n=[...R??[]];if(u._params=n,u._tooltip_patched=true,typeof u=="function"){let m=u(...n);return u._tooltip_patched=true,m}else return u}function E(e,t){let r,a,s=[],R="";typeof e=="function"?(r=InternalRuleType.Inline,a=async(u,...n)=>e(u,...n),s=[t]):({_type:r,_message:R}=e,s=s=e._params?.concat(t),a=async(...u)=>e.validator(u));let l=createRule({type:InternalRuleType.Async,validator:a,message:R});return l._params=l._params?.concat(s),l(...t??[])}function w(e,t){let r,a,s=[],R="";typeof e=="function"?(r=InternalRuleType.Inline,a=(u,...n)=>e(u,...n),s=[t]):({_type:r,validator:a,_message:R}=e,s=s=e._params?.concat(t));let l=createRule({type:InternalRuleType.Inline,validator:a,message:R});return l._params=l._params?.concat(s),l(...t)}function L(e,t){let r,a,s=[],R="";typeof t=="function"?(r=InternalRuleType.Inline,a=t,s=[e]):({_type:r,validator:a,_message:R}=t,s=t._params?.concat([e]));function l(o,...p){let[b]=unwrapRuleParameters([e]);return b?a(o,...p):true}function u(o){let[p]=unwrapRuleParameters([e]);return p}let n=createRule({type:r,validator:l,active:u,message:R}),m=[...s??[]];return n._params=m,typeof n=="function"?n(...m):n}function f(e,t=true){return e==null?true:e instanceof Date?isNaN(e.getTime()):e.constructor.name=="File"||e.constructor.name=="FileList"?e.size<=0:Array.isArray(e)?t?e.length===0:false:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function x(e){if(f(e))return false;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="string"){let r=new Date(e);if(r.toString()==="Invalid Date")return !1;t=r;}return !!t}catch{return false}}function T(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function i(e,t=true){return !f(typeof e=="string"?e.trim():e,t)}function y(e){return e==null||typeof e!="number"?false:!isNaN(e)}function g(e,...t){if(f(e))return true;let r=typeof e=="number"?e.toString():e;return t.every(a=>(a.lastIndex=0,a.test(r)))}function D(e){let t=unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function c(e){return typeof e=="number"?e:e!=null?typeof e=="string"?e.trim()!==e?NaN:+e:NaN:NaN}function q(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),r=e.map(n=>{if(typeof n=="function")return null;{let m=n._params;return m?.length?m:[]}}).flat().filter(n=>!!n);function a(n,m,...o){let p=[],b=0;for(let d of n)if(typeof d=="function")p.push(d(m)),b++;else {let M=d._params?.length??0;p.push(d.validator(m,...o.slice(b,M))),M&&(b+=M);}return p}function s(n){return n?.some(o=>typeof o!="boolean")?{$valid:n.every(o=>typeof o=="boolean"?!!o:o.$valid),...n.reduce((o,p)=>{if(typeof p=="boolean")return o;let{$valid:b,...d}=p;return {...o,...d}},{})}:n.every(o=>!!o)}let R;e.length?R=t?async(n,...m)=>{let o=await Promise.all(a(e,n,...m));return s(o)}:(n,...m)=>{let o=a(e,n,...m);return s(o)}:R=n=>false;let l=createRule({type:"and",validator:R,message:"The value does not match all of the provided validators"}),u=[...r??[]];return l._params=u,typeof l=="function"?l(...u):l}function G(...e){let t=e.some(n=>typeof n=="function"?n.constructor.name==="AsyncFunction":n._async),r=e.map(n=>typeof n=="function"?null:n._params).flat().filter(n=>!!n);function a(n,m,...o){let p=[],b=0;for(let d of n)if(typeof d=="function")p.push(d(m)),b++;else {let M=d._params?.length??0;p.push(d.validator(m,...o.slice(b,M))),M&&(b+=M);}return p}function s(n){return n.some(o=>typeof o!="boolean")?{$valid:n.some(o=>typeof o=="boolean"?!!o:o.$valid),...n.reduce((o,p)=>{if(typeof p=="boolean")return o;let{$valid:b,...d}=p;return {...o,...d}},{})}:n.some(o=>!!o)}let l=createRule({type:"or",validator:t?async(n,...m)=>{let o=await Promise.all(a(e,n,...m));return s(o)}:(n,...m)=>{let o=a(e,n,...m);return s(o)},message:"The value does not match any of the provided validators"}),u=[...r??[]];return l._params=u,typeof l=="function"?l(...u):l}function B(e,t){let r,a,s,R,l;typeof e=="function"?(a=e,l=e.constructor.name==="AsyncFunction"):({_type:r,validator:a,_params:R}=e,l=e._async),l?s=async(m,...o)=>i(m)?!await a(m,...o):true:s=(m,...o)=>i(m)?!a(m,...o):true;let u=createRule({type:"not",validator:s,message:t??"Error"}),n=[...R??[]];return u._params=n,typeof u=="function"?u(...n):u}var Bt=createRule({type:"required",validator:e=>i(e),message:"This field is required"});var Qt=createRule({type:"maxLength",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e,false)&&i(t)?y(t)?a?D(e)<=t:D(e)<t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),false):true},message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var er=createRule({type:"required",validator(e,t){return t?i(e):true},message:"This field is required",active({$params:[e]}){return e}});var X=/^[a-zA-Z]*$/,ar=createRule({type:"alpha",validator(e){return f(e)?true:g(e,X)},message:"The value is not alphabetical"});var j=/^[a-zA-Z0-9]*$/,lr=createRule({type:"alpha",validator(e){return f(e)?true:g(e,j)},message:"The value must be alpha-numeric"});var Rr=createRule({type:"between",validator:(e,t,r,a)=>{let{allowEqual:s=true}=a??{};if(i(e)&&i(t)&&i(r)){let R=c(e),l=c(t),u=c(r);return y(R)&&y(l)&&y(u)?s?R>=l&&R<=u:R>l&&R<u:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${r}`),false)}return true},message:({$params:[e,t]})=>`The value must be between ${e} and ${t}`});var re=/^[-]?\d*(\.\d+)?$/,cr=createRule({type:"decimal",validator(e){return f(e)?true:g(e,re)},message:"Value must be decimal"});var ae=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,br=createRule({type:"email",validator(e){return f(e)?true:g(e,ae)},message:"Value must be an valid email address"});var oe=/(^[0-9]*$)|(^-[0-9]+$)/,Pr=createRule({type:"integer",validator(e){return f(e)?true:g(e,oe)},message:"Value must be an integer"});var Ar=createRule({type:"maxValue",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e)&&i(t)?y(t)&&!isNaN(c(e))?a?c(e)<=t:c(e)<t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true},message:({$params:[e,t]})=>{let{allowEqual:r=true}=t??{};return r?`Value must be less than or equal to ${e}`:`Value must be less than ${e}`}});var Cr=createRule({type:"minLength",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e,false)&&i(t)?y(t)?a?D(e)>=t:D(e)>t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),false):true},message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var Ir=createRule({type:"minValue",validator:(e,t,r)=>{let{allowEqual:a=true}=r??{};return i(e)&&i(t)?y(t)&&!isNaN(c(e))?a?c(e)>=t:c(e)>t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true},message:({$params:[e,t]})=>{let{allowEqual:r=true}=t??{};return r?`Value must be greater than or equal to ${e}`:`Value must be greater than ${e}`}});var zr=createRule({type:"exactValue",validator:(e,t)=>i(e)&&i(t)?y(t)&&!isNaN(c(e))?c(e)===t:(console.warn(`[exactValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),true):true,message:({$params:[e]})=>`The value must be equal to ${e}`});var Gr=createRule({type:"exactLength",validator:(e,t)=>i(e,false)&&i(t)?y(t)?D(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),false):true,message:({$params:[e]})=>`This field should be exactly ${e} characters long`});var pe=/^\d*(\.\d+)?$/,Jr=createRule({type:"numeric",validator(e){return f(e)?true:g(e,pe)},message:"This field must be numeric"});var Yr=createRule({type:"required",validator(e,t){return t?true:i(e)},message:"This field is required",active({$params:[e]}){return !e}});var rn=createRule({type:"sameAs",validator(e,t,r="other"){return f(e)?true:e===t},message({$params:[e,t]}){return `Value must be equal to the ${t} value`}});var de=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,sn=createRule({type:"url",validator(e){return f(e)?true:g(e,de)},message:"The value is not a valid URL address"});function Te(){return navigator.languages!=null?navigator.languages[0]:navigator.language}function h(e){return e?new Intl.DateTimeFormat(Te(),{dateStyle:"short"}).format(new Date(e)):"?"}var pn=createRule({type:"dateAfter",validator:(e,t)=>i(e)&&i(t)?x(e)&&x(t)?T(e).getTime()>T(t).getTime()?true:{$valid:false,error:"date-not-after"}:{$valid:false,error:"value-or-paramater-not-a-date"}:true,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be after ${h(e)}`});var Tn=createRule({type:"dateBefore",validator:(e,t)=>i(e)&&i(t)?x(e)&&x(t)?T(e).getTime()<T(t).getTime()?true:{$valid:false,error:"date-not-before"}:{$valid:false,error:"value-or-paramater-not-a-date"}:true,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The fields must be Dates":`The date must be before ${h(e)}`});var hn=createRule({type:"dateBetween",validator:(e,t,r)=>x(e)&&x(t)&&x(r)?T(e).getTime()>T(t).getTime()&&T(e).getTime()<T(r).getTime():true,message:({$params:[e,t]})=>`The date must be between ${h(e)} and ${h(t)}`});function he(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return false;let t=+e|0;return t>=0&&t<=255}var $n=createRule({type:"ipAddress",validator(e){if(f(e))return true;if(typeof e!="string")return false;let t=e.split(".");return t.length===4&&t.every(he)},message:"The value is not a valid IP address"});var Fn=createRule({type:"macAddress",validator(e,t=":"){if(f(e))return true;if(typeof e!="string")return false;let r=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return r!==null&&(r.length===6||r.length===8)&&r.every(we)},message:"The value is not a valid MAC Address"}),we=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var En=createRule({type:"checked",validator:e=>i(e)?e===true:true,message:"This field must be checked"});var Ln=createRule({type:"contains",validator(e,t){return i(e)&&i(t)?e.includes(t):true},message({$params:[e]}){return `Field must contain ${e}`}});var Un=createRule({type:"startsWith",validator(e,t){return i(e)&&i(t)?e.startsWith(t):true},message({$params:[e]}){return `Field must end with ${e}`}});var Zn=createRule({type:"endsWith",validator(e,t){return i(e)&&i(t)?e.endsWith(t):true},message({$params:[e]}){return `Field must end with ${e}`}});var Xn=createRule({type:"regex",validator(e,t){if(i(e)){let r=Array.isArray(t)?t:[t];return g(e,...r)}return true},message:"This field does not match the required pattern"});function ta(e){let t=computed(()=>toValue(e));return P(w((a,s)=>i(a)&&i(s,false)?s.includes(a):true,[t]),({$params:[a]})=>`Value should be one of those options: ${a.join(", ")}.`)}function Ee(e){let t=Object.keys(e).filter(a=>typeof e[e[a]]!="number"),r={};for(let a of t)r[a]=e[a];return Object.values(r)}function ia(e){let t=computed(()=>toValue(e));return P(w((a,s)=>i(a)&&!f(s)?Ee(s).includes(a):true,[t]),({$params:[a]})=>`Value should be one of those options: ${Object.values(a).join(", ")}.`)}export{ar as alpha,lr as alphaNum,q as and,L as applyIf,Rr as between,En as checked,Ln as contains,pn as dateAfter,Tn as dateBefore,hn as dateBetween,cr as decimal,br as email,Zn as endsWith,Gr as exactLength,zr as exactValue,D as getSize,Pr as integer,$n as ipAddress,x as isDate,f as isEmpty,i as isFilled,y as isNumber,Fn as macAddress,g as matchRegex,Qt as maxLength,Ar as maxValue,Cr as minLength,Ir as minValue,ia as nativeEnum,B as not,Jr as numeric,ta as oneOf,G as or,Xn as regex,Bt as required,er as requiredIf,Yr as requiredUnless,rn as sameAs,Un as startsWith,T as toDate,c as toNumber,sn as url,E as withAsync,P as withMessage,w as withParams,_ as withTooltip};
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@regle/rules",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"description": "Collection of rules and helpers for Regle",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@regle/core": "1.0.
|
|
6
|
+
"@regle/core": "1.0.8"
|
|
7
7
|
},
|
|
8
8
|
"devDependencies": {
|
|
9
9
|
"@typescript-eslint/eslint-plugin": "8.28.0",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"prettier": "3.3.3",
|
|
20
20
|
"tsup": "8.4.0",
|
|
21
21
|
"type-fest": "4.38.0",
|
|
22
|
-
"typescript": "5.
|
|
22
|
+
"typescript": "5.8.2",
|
|
23
23
|
"vitest": "3.0.9",
|
|
24
24
|
"vue": "3.5.13",
|
|
25
25
|
"vue-eslint-parser": "9.4.3",
|