@regle/rules 0.1.5 → 0.1.7
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/index.cjs +823 -0
- package/dist/index.d.cts +202 -0
- package/dist/index.d.ts +36 -29
- package/dist/index.js +22 -6
- package/package.json +3 -2
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { RegleRuleMetadataDefinition, InlineRuleDeclaration, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleDefinition, RegleRuleWithParamsDefinition, UnwrapRegleUniversalParams, ParamDecl, Maybe, FormRuleDeclaration } from '@regle/core';
|
|
2
|
+
import { Ref, MaybeRef } from 'vue';
|
|
3
|
+
|
|
4
|
+
declare function withMessage<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>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TParams, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<TValue, [], TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
5
|
+
declare function withMessage<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>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TParams, TMetadata>, string | string[]>): RegleRuleWithParamsDefinition<TValue, TParams, TAsync>;
|
|
6
|
+
declare function withMessage<TValue extends any, TParams extends any[], TMetadata extends RegleRuleMetadataDefinition, TReturn extends TMetadata | Promise<TMetadata>, TAsync extends boolean>(rule: RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
7
|
+
|
|
8
|
+
declare function withAsync<TValue, TParams extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = 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>;
|
|
9
|
+
|
|
10
|
+
declare function withParams<TValue, TParams extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn>(rule: InlineRuleDeclaration<TValue, TParams, TReturn>, depsArray: [...TParams]): RegleRuleDefinition<TValue, UnwrapRegleUniversalParams<TParams>, true, TMetadata>;
|
|
11
|
+
|
|
12
|
+
declare function applyIf<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = RegleRuleMetadataDefinition, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(_condition: ParamDecl<boolean>, rule: InlineRuleDeclaration<TValue, TParams, TReturn> | RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>): RegleRuleDefinition<TValue, [], TAsync, TMetadata>;
|
|
13
|
+
|
|
14
|
+
declare global {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
16
|
+
interface SymbolConstructor {
|
|
17
|
+
readonly observable: symbol;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare const emptyObjectSymbol: unique symbol;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
Represents a strictly empty plain object, the `{}` value.
|
|
25
|
+
|
|
26
|
+
When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)).
|
|
27
|
+
|
|
28
|
+
@example
|
|
29
|
+
```
|
|
30
|
+
import type {EmptyObject} from 'type-fest';
|
|
31
|
+
|
|
32
|
+
// The following illustrates the problem with `{}`.
|
|
33
|
+
const foo1: {} = {}; // Pass
|
|
34
|
+
const foo2: {} = []; // Pass
|
|
35
|
+
const foo3: {} = 42; // Pass
|
|
36
|
+
const foo4: {} = {a: 1}; // Pass
|
|
37
|
+
|
|
38
|
+
// With `EmptyObject` only the first case is valid.
|
|
39
|
+
const bar1: EmptyObject = {}; // Pass
|
|
40
|
+
const bar2: EmptyObject = 42; // Fail
|
|
41
|
+
const bar3: EmptyObject = []; // Fail
|
|
42
|
+
const bar4: EmptyObject = {a: 1}; // Fail
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Unfortunately, `Record<string, never>`, `Record<keyof any, never>` and `Record<never, never>` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}.
|
|
46
|
+
|
|
47
|
+
@category Object
|
|
48
|
+
*/
|
|
49
|
+
type EmptyObject = {[emptyObjectSymbol]?: never};
|
|
50
|
+
|
|
51
|
+
declare function isEmpty(value: unknown): value is null | undefined | [] | EmptyObject;
|
|
52
|
+
|
|
53
|
+
declare function isFilled<T extends unknown>(value: T): value is NonNullable<T>;
|
|
54
|
+
|
|
55
|
+
declare function isNumber(value: unknown): value is number;
|
|
56
|
+
|
|
57
|
+
declare function regex$1(_value: string | number | null | undefined, ...expr: RegExp[]): boolean;
|
|
58
|
+
|
|
59
|
+
declare function size(value: MaybeRef<string | any[] | Record<string, any> | number>): number;
|
|
60
|
+
|
|
61
|
+
declare function isDate(value: unknown): value is Date;
|
|
62
|
+
|
|
63
|
+
declare function toDate(argument: Maybe<Date | number | string>): Date;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @returns ⚠️ Warning, returned value can be NaN
|
|
67
|
+
*/
|
|
68
|
+
declare function toNumber<T extends number | string | undefined>(argument: T): number;
|
|
69
|
+
|
|
70
|
+
declare const ruleHelpers: {
|
|
71
|
+
isEmpty: typeof isEmpty;
|
|
72
|
+
isFilled: typeof isFilled;
|
|
73
|
+
size: typeof size;
|
|
74
|
+
regex: typeof regex$1;
|
|
75
|
+
isNumber: typeof isNumber;
|
|
76
|
+
isDate: typeof isDate;
|
|
77
|
+
toDate: typeof toDate;
|
|
78
|
+
toNumber: typeof toNumber;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
type ExtractValueFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<infer V, any, any, any> ? [V, ...ExtractValueFromRules<R>] : F extends InlineRuleDeclaration<infer V, any> ? [V, ...ExtractValueFromRules<R>] : [F, ...ExtractValueFromRules<R>] : [];
|
|
82
|
+
type ExtractAsyncStatesFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<any, any, infer A, any> ? [A, ...ExtractValueFromRules<R>] : F extends InlineRuleDeclaration<any, any> ? [ReturnType<F> extends Promise<any> ? true : false, ...ExtractValueFromRules<R>] : [F, ...ExtractValueFromRules<R>] : [];
|
|
83
|
+
type ExtractAsync<T extends [...any[]]> = T extends [infer F, ...infer R] ? F extends true ? true : F extends false ? ExtractAsync<R> : false : false;
|
|
84
|
+
type GuessAsyncFromRules<T extends any[]> = ExtractAsync<ExtractAsyncStatesFromRules<T>>;
|
|
85
|
+
type ExtractParamsFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<any, infer P, any, any> ? [P, ...ExtractParamsFromRules<R>] : [F, ...ExtractParamsFromRules<R>] : [];
|
|
86
|
+
type MetadataBase = {
|
|
87
|
+
$valid: boolean;
|
|
88
|
+
[x: string]: any;
|
|
89
|
+
};
|
|
90
|
+
type ExtractMetaDataFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<any, any, any, infer M extends MetadataBase> ? [M, ...ExtractMetaDataFromRules<R>] : F extends InlineRuleDeclaration<any, any[], infer M extends MetadataBase | Promise<MetadataBase>> ? [M, ...ExtractMetaDataFromRules<R>] : [...ExtractMetaDataFromRules<R>] : [];
|
|
91
|
+
type ExtractMetadata<T extends [...any[]]> = T extends [infer F, ...infer R] ? F & ExtractMetadata<R> : {};
|
|
92
|
+
type GuessMetadataFromRules<T extends any[], TMeta = ExtractMetadata<ExtractMetaDataFromRules<T>>> = TMeta extends EmptyObject ? boolean : TMeta;
|
|
93
|
+
type CreateFn<T extends any[]> = (...args: T) => any;
|
|
94
|
+
type FilterTuple<T extends any[]> = T extends [infer F, ...infer R] ? [F] extends [[]] ? [...FilterTuple<R>] : [F, ...FilterTuple<R>] : [];
|
|
95
|
+
type UnwrapTuplesRaw<T extends any[] = [], F = CreateFn<T>> = [T] extends [[]] ? [] : Parameters<F extends (...args: infer Args) => any ? (...args: {
|
|
96
|
+
[K in keyof Args]: Args[K] extends Array<infer U> ? U : never;
|
|
97
|
+
}) => any : never>;
|
|
98
|
+
type UnwrapTuples<T extends any[]> = FilterTuple<UnwrapTuplesRaw<T>>;
|
|
99
|
+
|
|
100
|
+
declare function and<TRules extends FormRuleDeclaration<any, any>[]>(...rules: [...TRules]): RegleRuleDefinition<ExtractValueFromRules<TRules>[number], UnwrapTuples<ExtractParamsFromRules<TRules>>, GuessAsyncFromRules<TRules>, GuessMetadataFromRules<TRules>>;
|
|
101
|
+
|
|
102
|
+
declare function or<TRules extends FormRuleDeclaration<any, any>[]>(...rules: [...TRules]): RegleRuleDefinition<ExtractValueFromRules<TRules>[number], UnwrapTuples<ExtractParamsFromRules<TRules>>, GuessAsyncFromRules<TRules>, GuessMetadataFromRules<TRules>>;
|
|
103
|
+
|
|
104
|
+
declare function not<TValue, TParams extends any[] = [], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = 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> | InlineRuleDeclaration<TValue, TParams, TReturn>, message?: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
105
|
+
|
|
106
|
+
declare const required: RegleRuleDefinition<unknown, [], false, boolean, unknown>;
|
|
107
|
+
|
|
108
|
+
declare const maxLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [
|
|
109
|
+
count: number
|
|
110
|
+
], false, boolean>;
|
|
111
|
+
|
|
112
|
+
declare const requiredIf: RegleRuleWithParamsDefinition<unknown, [
|
|
113
|
+
condition: boolean
|
|
114
|
+
], false, boolean>;
|
|
115
|
+
|
|
116
|
+
declare const alpha: RegleRuleDefinition<string, [], false, boolean, string>;
|
|
117
|
+
|
|
118
|
+
declare const alphaNum: RegleRuleDefinition<string | number, [], false, boolean, string | number>;
|
|
119
|
+
|
|
120
|
+
declare const between: RegleRuleWithParamsDefinition<number, [
|
|
121
|
+
min: number,
|
|
122
|
+
max: number
|
|
123
|
+
], false, boolean>;
|
|
124
|
+
|
|
125
|
+
declare const decimal: RegleRuleDefinition<string | number, [], false, boolean, string | number>;
|
|
126
|
+
|
|
127
|
+
declare const email: RegleRuleDefinition<string, [], false, boolean, string>;
|
|
128
|
+
|
|
129
|
+
declare const integer: RegleRuleDefinition<string | number, [], false, boolean, string | number>;
|
|
130
|
+
|
|
131
|
+
declare const maxValue: RegleRuleWithParamsDefinition<number, [count: number], false, boolean>;
|
|
132
|
+
|
|
133
|
+
declare const minLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [
|
|
134
|
+
count: number
|
|
135
|
+
], false, boolean>;
|
|
136
|
+
|
|
137
|
+
declare const minValue: RegleRuleWithParamsDefinition<number, [count: number], false, boolean>;
|
|
138
|
+
|
|
139
|
+
declare const exactLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [
|
|
140
|
+
count: number
|
|
141
|
+
], false, boolean>;
|
|
142
|
+
|
|
143
|
+
declare const numeric: RegleRuleDefinition<string | number, [], false, boolean, string | number>;
|
|
144
|
+
|
|
145
|
+
declare const requiredUnless: RegleRuleWithParamsDefinition<unknown, [
|
|
146
|
+
condition: boolean
|
|
147
|
+
], false, boolean>;
|
|
148
|
+
|
|
149
|
+
declare const sameAs: RegleRuleWithParamsDefinition<unknown, [target: unknown], false, boolean>;
|
|
150
|
+
|
|
151
|
+
declare const url: RegleRuleDefinition<string, [], false, boolean, string>;
|
|
152
|
+
|
|
153
|
+
declare const dateAfter: RegleRuleWithParamsDefinition<string | Date, [
|
|
154
|
+
after: Maybe<string | Date>
|
|
155
|
+
], false, true | {
|
|
156
|
+
$valid: false;
|
|
157
|
+
error: 'date-not-after';
|
|
158
|
+
} | {
|
|
159
|
+
$valid: false;
|
|
160
|
+
error: 'value-or-paramater-not-a-date';
|
|
161
|
+
}>;
|
|
162
|
+
|
|
163
|
+
declare const dateBefore: RegleRuleWithParamsDefinition<string | Date, [
|
|
164
|
+
before: Maybe<string | Date>
|
|
165
|
+
], false, true | {
|
|
166
|
+
$valid: false;
|
|
167
|
+
error: 'date-not-before';
|
|
168
|
+
} | {
|
|
169
|
+
$valid: false;
|
|
170
|
+
error: 'value-or-paramater-not-a-date';
|
|
171
|
+
}>;
|
|
172
|
+
|
|
173
|
+
declare const dateBetween: RegleRuleWithParamsDefinition<string | Date, [
|
|
174
|
+
before: Maybe<string | Date>,
|
|
175
|
+
after: Maybe<string | Date>
|
|
176
|
+
], false, boolean>;
|
|
177
|
+
|
|
178
|
+
declare const ipAddress: RegleRuleDefinition<string, [], false, boolean, string>;
|
|
179
|
+
|
|
180
|
+
declare const macAddress: RegleRuleWithParamsDefinition<string, [
|
|
181
|
+
separator?: string | undefined
|
|
182
|
+
], false, boolean>;
|
|
183
|
+
|
|
184
|
+
declare const checked: RegleRuleDefinition<boolean, [], false, boolean, boolean>;
|
|
185
|
+
|
|
186
|
+
declare const contains: RegleRuleWithParamsDefinition<string, [
|
|
187
|
+
part: Maybe<string>
|
|
188
|
+
], false, boolean>;
|
|
189
|
+
|
|
190
|
+
declare const startsWith: RegleRuleWithParamsDefinition<string, [
|
|
191
|
+
part: Maybe<string>
|
|
192
|
+
], false, boolean>;
|
|
193
|
+
|
|
194
|
+
declare const endsWith: RegleRuleWithParamsDefinition<string, [
|
|
195
|
+
part: Maybe<string>
|
|
196
|
+
], false, boolean>;
|
|
197
|
+
|
|
198
|
+
declare const regex: RegleRuleWithParamsDefinition<string | number, [
|
|
199
|
+
regexp: RegExp
|
|
200
|
+
], false, boolean>;
|
|
201
|
+
|
|
202
|
+
export { alpha, alphaNum, and, applyIf, between, checked, contains, dateAfter, dateBefore, dateBetween, decimal, email, endsWith, exactLength, integer, ipAddress, macAddress, maxLength, maxValue, minLength, minValue, not, numeric, or, regex, required, requiredIf, requiredUnless, ruleHelpers, sameAs, startsWith, url, withAsync, withMessage, withParams };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RegleRuleMetadataDefinition, InlineRuleDeclaration, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleDefinition, RegleRuleWithParamsDefinition, UnwrapRegleUniversalParams, ParamDecl,
|
|
1
|
+
import { RegleRuleMetadataDefinition, InlineRuleDeclaration, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleDefinition, RegleRuleWithParamsDefinition, UnwrapRegleUniversalParams, ParamDecl, Maybe, FormRuleDeclaration } from '@regle/core';
|
|
2
2
|
import { Ref, MaybeRef } from 'vue';
|
|
3
3
|
|
|
4
4
|
declare function withMessage<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>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue, RegleRuleMetadataConsumer<TParams, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<TValue, [], TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
@@ -11,33 +11,6 @@ declare function withParams<TValue, TParams extends (Ref<unknown> | (() => unkno
|
|
|
11
11
|
|
|
12
12
|
declare function applyIf<TValue extends any, TParams extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = RegleRuleMetadataDefinition, TMetadata extends RegleRuleMetadataDefinition = TReturn extends Promise<infer M> ? M : TReturn, TAsync extends boolean = TReturn extends Promise<any> ? true : false>(_condition: ParamDecl<boolean>, rule: InlineRuleDeclaration<TValue, TParams, TReturn> | RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>): RegleRuleDefinition<TValue, [], TAsync, TMetadata>;
|
|
13
13
|
|
|
14
|
-
declare function isEmpty(value: unknown): value is null | undefined;
|
|
15
|
-
|
|
16
|
-
declare function isFilled<T extends unknown>(value: T): value is NonNullable<T>;
|
|
17
|
-
|
|
18
|
-
declare function isNumber(value: unknown): value is number;
|
|
19
|
-
|
|
20
|
-
declare function regex(_value: string | number | null | undefined, ...expr: RegExp[]): boolean;
|
|
21
|
-
|
|
22
|
-
declare function size(value: MaybeRef<string | any[] | Record<string, any> | number>): number;
|
|
23
|
-
|
|
24
|
-
declare function isDate(value: unknown): value is Date;
|
|
25
|
-
|
|
26
|
-
declare function toDate(argument: Date): Date;
|
|
27
|
-
|
|
28
|
-
declare function toNumber(argument: number | string): number | null;
|
|
29
|
-
|
|
30
|
-
declare const ruleHelpers: {
|
|
31
|
-
isEmpty: typeof isEmpty;
|
|
32
|
-
isFilled: typeof isFilled;
|
|
33
|
-
size: typeof size;
|
|
34
|
-
regex: typeof regex;
|
|
35
|
-
isNumber: typeof isNumber;
|
|
36
|
-
isDate: typeof isDate;
|
|
37
|
-
toDate: typeof toDate;
|
|
38
|
-
toNumber: typeof toNumber;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
14
|
declare global {
|
|
42
15
|
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
43
16
|
interface SymbolConstructor {
|
|
@@ -75,6 +48,36 @@ Unfortunately, `Record<string, never>`, `Record<keyof any, never>` and `Record<n
|
|
|
75
48
|
*/
|
|
76
49
|
type EmptyObject = {[emptyObjectSymbol]?: never};
|
|
77
50
|
|
|
51
|
+
declare function isEmpty(value: unknown): value is null | undefined | [] | EmptyObject;
|
|
52
|
+
|
|
53
|
+
declare function isFilled<T extends unknown>(value: T): value is NonNullable<T>;
|
|
54
|
+
|
|
55
|
+
declare function isNumber(value: unknown): value is number;
|
|
56
|
+
|
|
57
|
+
declare function regex$1(_value: string | number | null | undefined, ...expr: RegExp[]): boolean;
|
|
58
|
+
|
|
59
|
+
declare function size(value: MaybeRef<string | any[] | Record<string, any> | number>): number;
|
|
60
|
+
|
|
61
|
+
declare function isDate(value: unknown): value is Date;
|
|
62
|
+
|
|
63
|
+
declare function toDate(argument: Maybe<Date | number | string>): Date;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @returns ⚠️ Warning, returned value can be NaN
|
|
67
|
+
*/
|
|
68
|
+
declare function toNumber<T extends number | string | undefined>(argument: T): number;
|
|
69
|
+
|
|
70
|
+
declare const ruleHelpers: {
|
|
71
|
+
isEmpty: typeof isEmpty;
|
|
72
|
+
isFilled: typeof isFilled;
|
|
73
|
+
size: typeof size;
|
|
74
|
+
regex: typeof regex$1;
|
|
75
|
+
isNumber: typeof isNumber;
|
|
76
|
+
isDate: typeof isDate;
|
|
77
|
+
toDate: typeof toDate;
|
|
78
|
+
toNumber: typeof toNumber;
|
|
79
|
+
};
|
|
80
|
+
|
|
78
81
|
type ExtractValueFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<infer V, any, any, any> ? [V, ...ExtractValueFromRules<R>] : F extends InlineRuleDeclaration<infer V, any> ? [V, ...ExtractValueFromRules<R>] : [F, ...ExtractValueFromRules<R>] : [];
|
|
79
82
|
type ExtractAsyncStatesFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<any, any, infer A, any> ? [A, ...ExtractValueFromRules<R>] : F extends InlineRuleDeclaration<any, any> ? [ReturnType<F> extends Promise<any> ? true : false, ...ExtractValueFromRules<R>] : [F, ...ExtractValueFromRules<R>] : [];
|
|
80
83
|
type ExtractAsync<T extends [...any[]]> = T extends [infer F, ...infer R] ? F extends true ? true : F extends false ? ExtractAsync<R> : false : false;
|
|
@@ -192,4 +195,8 @@ declare const endsWith: RegleRuleWithParamsDefinition<string, [
|
|
|
192
195
|
part: Maybe<string>
|
|
193
196
|
], false, boolean>;
|
|
194
197
|
|
|
195
|
-
|
|
198
|
+
declare const regex: RegleRuleWithParamsDefinition<string | number, [
|
|
199
|
+
regexp: RegExp
|
|
200
|
+
], false, boolean>;
|
|
201
|
+
|
|
202
|
+
export { alpha, alphaNum, and, applyIf, between, checked, contains, dateAfter, dateBefore, dateBetween, decimal, email, endsWith, exactLength, integer, ipAddress, macAddress, maxLength, maxValue, minLength, minValue, not, numeric, or, regex, required, requiredIf, requiredUnless, ruleHelpers, sameAs, startsWith, url, withAsync, withMessage, withParams };
|