@regle/rules 1.2.3 → 1.3.0
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/README.md +13 -11
- package/dist/regle-rules.d.ts +209 -104
- package/dist/regle-rules.js +1210 -0
- package/dist/regle-rules.min.js +1 -0
- package/package.json +13 -13
- package/dist/regle-rules.min.mjs +0 -1
- package/dist/regle-rules.mjs +0 -1056
package/dist/regle-rules.d.ts
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { CommonAlphaOptions, CommonComparisonOptions, FormRuleDeclaration, InlineRuleDeclaration, Maybe, MaybeInput, MaybeReadonly, RegleRuleDefinition, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleMetadataDefinition, RegleRuleWithParamsDefinition, UnwrapRegleUniversalParams } from "@regle/core";
|
|
2
|
+
import { MaybeRef, MaybeRefOrGetter, Ref } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/helpers/withMessage.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* The withMessage wrapper lets you associate an error message with a rule. Pass your rule as the first argument and the error message as the second.
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* const { r$ } = useRegle({ name: '' }, {
|
|
10
|
+
name: {
|
|
11
|
+
customRule1: withMessage((value) => !!value, "Custom Error"),
|
|
12
|
+
customRule2: withMessage(customRuleInlineWithMetaData, "Custom Error"),
|
|
13
|
+
customRule3: withMessage(
|
|
14
|
+
customRuleInlineWithMetaData,
|
|
15
|
+
({ $value, foo }) => `Custom Error: ${$value} ${foo}`
|
|
16
|
+
),
|
|
17
|
+
}
|
|
18
|
+
})
|
|
19
|
+
* ```
|
|
20
|
+
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withmessage}
|
|
21
|
+
*/
|
|
4
22
|
/**
|
|
5
23
|
* The withMessage wrapper lets you associate an error message with a rule. Pass your rule as the first argument and the error message as the second.
|
|
6
24
|
*
|
|
@@ -18,17 +36,21 @@ import { Ref, MaybeRefOrGetter, MaybeRef } from 'vue';
|
|
|
18
36
|
* ```
|
|
19
37
|
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withmessage}
|
|
20
38
|
*/
|
|
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>, 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>;
|
|
39
|
+
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>;
|
|
40
|
+
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>;
|
|
41
|
+
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<TValue, TParams, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
24
42
|
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region src/helpers/withTooltip.d.ts
|
|
25
45
|
/**
|
|
26
46
|
* 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
47
|
*/
|
|
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>;
|
|
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>;
|
|
48
|
+
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>;
|
|
49
|
+
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>;
|
|
50
|
+
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>;
|
|
31
51
|
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/helpers/withAsync.d.ts
|
|
32
54
|
/**
|
|
33
55
|
* withAsync works like withParams, but is specifically designed for async rules that depend on external values.
|
|
34
56
|
*
|
|
@@ -47,9 +69,11 @@ declare function withTooltip<TValue extends any, TParams extends any[], TReturn
|
|
|
47
69
|
* ```
|
|
48
70
|
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withasync}
|
|
49
71
|
*/
|
|
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>;
|
|
72
|
+
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
73
|
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
74
|
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/helpers/withParams.d.ts
|
|
53
77
|
/**
|
|
54
78
|
* The withParams wrapper allows your rule to depend on external parameters, such as a reactive property in your component or store.
|
|
55
79
|
*
|
|
@@ -70,14 +94,18 @@ declare function withAsync<TValue extends any, TParams extends any[], TMetadata
|
|
|
70
94
|
* ```
|
|
71
95
|
* Docs: {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withparams}
|
|
72
96
|
*/
|
|
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[], 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>;
|
|
97
|
+
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>;
|
|
98
|
+
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
99
|
|
|
100
|
+
//#endregion
|
|
101
|
+
//#region src/helpers/applyIf.d.ts
|
|
76
102
|
/**
|
|
77
103
|
* The applyIf operator is similar to requiredIf, but it can be used with any rule. It simplifies conditional rule declarations.
|
|
78
104
|
*/
|
|
79
|
-
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: MaybeRefOrGetter<Maybe<boolean>>, rule: InlineRuleDeclaration<TValue, TParams, TReturn> | RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>): RegleRuleDefinition<TValue, [...TParams, condition: boolean], TAsync, TMetadata>;
|
|
105
|
+
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: MaybeRefOrGetter<Maybe<boolean>>, rule: InlineRuleDeclaration<TValue, TParams, TReturn> | RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>): RegleRuleDefinition<TValue, [...TParams, condition: boolean], TAsync, TMetadata>;
|
|
80
106
|
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/helpers/ruleHelpers/isFilled.d.ts
|
|
81
109
|
/**
|
|
82
110
|
* This is almost a must have for optional fields. It checks if any value you provided is defined (including arrays and objects). You can base your validator result on this.
|
|
83
111
|
*
|
|
@@ -88,21 +116,29 @@ declare function applyIf<TValue extends any, TParams extends any[], TReturn exte
|
|
|
88
116
|
*/
|
|
89
117
|
declare function isFilled<T extends unknown>(value: T, considerEmptyArrayInvalid?: boolean): value is NonNullable<T>;
|
|
90
118
|
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region src/helpers/ruleHelpers/isNumber.d.ts
|
|
91
121
|
/**
|
|
92
122
|
* This is a type guard that will check if the passed value is a real Number. This also returns false for NaN, so this is better than typeof value === "number".
|
|
93
123
|
*/
|
|
94
124
|
declare function isNumber(value: unknown): value is number;
|
|
95
125
|
|
|
126
|
+
//#endregion
|
|
127
|
+
//#region src/helpers/ruleHelpers/matchRegex.d.ts
|
|
96
128
|
/**
|
|
97
129
|
* This utility can take multiple regular expressions as arguments. It checks the input's validity and tests it against the provided regex patterns.
|
|
98
130
|
*/
|
|
99
131
|
declare function matchRegex(_value: string | number | null | undefined, ...expr: RegExp[]): boolean;
|
|
100
132
|
|
|
133
|
+
//#endregion
|
|
134
|
+
//#region src/helpers/ruleHelpers/getSize.d.ts
|
|
101
135
|
/**
|
|
102
136
|
* This helper will return the length of any data type you pass. It works with strings, arrays, objects and numbers.
|
|
103
137
|
*/
|
|
104
138
|
declare function getSize(value: MaybeRef<string | any[] | Record<string, any> | number>): number;
|
|
105
139
|
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/helpers/ruleHelpers/toNumber.d.ts
|
|
106
142
|
/**
|
|
107
143
|
* This utility converts any string (or number) into a number using the Number constructor.
|
|
108
144
|
*
|
|
@@ -110,13 +146,27 @@ declare function getSize(value: MaybeRef<string | any[] | Record<string, any> |
|
|
|
110
146
|
*/
|
|
111
147
|
declare function toNumber<T extends number | string | undefined>(argument: T): number;
|
|
112
148
|
|
|
149
|
+
//#endregion
|
|
150
|
+
//#region ../../node_modules/.pnpm/type-fest@4.40.1/node_modules/type-fest/source/observable-like.d.ts
|
|
113
151
|
declare global {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
153
|
+
interface SymbolConstructor {
|
|
154
|
+
readonly observable: symbol;
|
|
155
|
+
}
|
|
118
156
|
}
|
|
119
157
|
|
|
158
|
+
//#endregion
|
|
159
|
+
//#region ../../node_modules/.pnpm/type-fest@4.40.1/node_modules/type-fest/source/empty-object.d.ts
|
|
160
|
+
/**
|
|
161
|
+
@remarks
|
|
162
|
+
The TC39 observable proposal defines a `closed` property, but some implementations (such as xstream) do not as of 10/08/2021.
|
|
163
|
+
As well, some guidance on making an `Observable` to not include `closed` property.
|
|
164
|
+
@see https://github.com/tc39/proposal-observable/blob/master/src/Observable.js#L129-L130
|
|
165
|
+
@see https://github.com/staltz/xstream/blob/6c22580c1d84d69773ee4b0905df44ad464955b3/src/index.ts#L79-L85
|
|
166
|
+
@see https://github.com/benlesh/symbol-observable#making-an-object-observable
|
|
167
|
+
|
|
168
|
+
@category Observable
|
|
169
|
+
*/
|
|
120
170
|
declare const emptyObjectSymbol: unique symbol;
|
|
121
171
|
|
|
122
172
|
/**
|
|
@@ -145,8 +195,27 @@ Unfortunately, `Record<string, never>`, `Record<keyof any, never>` and `Record<n
|
|
|
145
195
|
|
|
146
196
|
@category Object
|
|
147
197
|
*/
|
|
148
|
-
type EmptyObject = {
|
|
198
|
+
type EmptyObject = {
|
|
199
|
+
[emptyObjectSymbol]?: never;
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
//#endregion
|
|
203
|
+
//#region ../shared/utils/isEmpty.d.ts
|
|
204
|
+
/**
|
|
205
|
+
Returns a `boolean` for whether the type is strictly equal to an empty plain object, the `{}` value.
|
|
206
|
+
|
|
207
|
+
@example
|
|
208
|
+
```
|
|
209
|
+
import type {IsEmptyObject} from 'type-fest';
|
|
149
210
|
|
|
211
|
+
type Pass = IsEmptyObject<{}>; //=> true
|
|
212
|
+
type Fail = IsEmptyObject<[]>; //=> false
|
|
213
|
+
type Fail = IsEmptyObject<null>; //=> false
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
@see EmptyObject
|
|
217
|
+
@category Object
|
|
218
|
+
*/
|
|
150
219
|
/**
|
|
151
220
|
* This is the inverse of isFilled. It will check if the value is in any way empty (including arrays and objects)
|
|
152
221
|
*
|
|
@@ -157,24 +226,30 @@ type EmptyObject = {[emptyObjectSymbol]?: never};
|
|
|
157
226
|
*/
|
|
158
227
|
declare function isEmpty(value: unknown, considerEmptyArrayInvalid?: boolean): value is null | undefined | [] | EmptyObject;
|
|
159
228
|
|
|
229
|
+
//#endregion
|
|
230
|
+
//#region ../shared/utils/isDate.d.ts
|
|
160
231
|
/**
|
|
161
232
|
* This is a useful helper that can check if the provided value is a Date, it is used internally for date rules. This can also check strings.
|
|
162
233
|
*/
|
|
163
234
|
declare function isDate(value: unknown): value is Date;
|
|
164
235
|
|
|
236
|
+
//#endregion
|
|
237
|
+
//#region ../shared/utils/toDate.d.ts
|
|
165
238
|
/**
|
|
166
239
|
* This utility will coerce any string, number or Date value into a Date using the Date constructor.
|
|
167
240
|
*/
|
|
168
241
|
declare function toDate(argument: Maybe<Date | number | string>): Date;
|
|
169
242
|
|
|
243
|
+
//#endregion
|
|
244
|
+
//#region src/types/utils/params.utils.d.ts
|
|
170
245
|
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>] : [];
|
|
171
246
|
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>] : [];
|
|
172
247
|
type ExtractAsync<T extends [...any[]]> = T extends [infer F, ...infer R] ? F extends true ? true : F extends false ? ExtractAsync<R> : false : false;
|
|
173
248
|
type GuessAsyncFromRules<T extends any[]> = ExtractAsync<ExtractAsyncStatesFromRules<T>>;
|
|
174
249
|
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>] : [];
|
|
175
250
|
type MetadataBase = {
|
|
176
|
-
|
|
177
|
-
|
|
251
|
+
$valid: boolean;
|
|
252
|
+
[x: string]: any;
|
|
178
253
|
};
|
|
179
254
|
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>] : [];
|
|
180
255
|
type ExtractMetadata<T extends [...any[]]> = T extends [infer F, ...infer R] ? F & ExtractMetadata<R> : {};
|
|
@@ -182,51 +257,57 @@ type GuessMetadataFromRules<T extends any[], TMeta = ExtractMetadata<ExtractMeta
|
|
|
182
257
|
type FilterTuple<T extends any[]> = T extends [infer F, ...infer R] ? [F] extends [[]] ? [...FilterTuple<R>] : [F, ...FilterTuple<R>] : [];
|
|
183
258
|
type UnwrapTuples<T extends any[]> = FilterTuple<T> extends [infer U extends any[]] ? U : FilterTuple<T>;
|
|
184
259
|
|
|
260
|
+
//#endregion
|
|
261
|
+
//#region src/helpers/and.d.ts
|
|
185
262
|
/**
|
|
186
263
|
* The and operator combines multiple rules and validates successfully only if all provided rules are valid.
|
|
187
264
|
*/
|
|
188
265
|
declare function and<const TRules extends [FormRuleDeclaration<any, any>, ...FormRuleDeclaration<any, any>[]]>(...rules: [...TRules]): RegleRuleDefinition<ExtractValueFromRules<TRules>[number], UnwrapTuples<ExtractParamsFromRules<TRules>>, GuessAsyncFromRules<TRules>, GuessMetadataFromRules<TRules>>;
|
|
189
266
|
|
|
267
|
+
//#endregion
|
|
268
|
+
//#region src/helpers/or.d.ts
|
|
190
269
|
/**
|
|
191
270
|
* The or operator validates successfully if at least one of the provided rules is valid.
|
|
192
271
|
*/
|
|
193
272
|
declare function or<TRules extends [FormRuleDeclaration<any, any>, ...FormRuleDeclaration<any, any>[]]>(...rules: [...TRules]): RegleRuleDefinition<ExtractValueFromRules<TRules>[number], UnwrapTuples<ExtractParamsFromRules<TRules>>, GuessAsyncFromRules<TRules>, GuessMetadataFromRules<TRules>>;
|
|
194
273
|
|
|
274
|
+
//#endregion
|
|
275
|
+
//#region src/helpers/not.d.ts
|
|
195
276
|
/**
|
|
196
277
|
* The not operator passes when the provided rule fails and fails when the rule passes. It can be combined with other rules.
|
|
197
278
|
*/
|
|
198
|
-
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<TValue, TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
279
|
+
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<TValue, TParams, TMetadata>, string | string[]>): RegleRuleDefinition<TValue, TParams, TAsync, TMetadata>;
|
|
199
280
|
|
|
281
|
+
//#endregion
|
|
282
|
+
//#region src/rules/alpha.d.ts
|
|
200
283
|
/**
|
|
201
284
|
* Allows only alphabetic characters.
|
|
202
285
|
*
|
|
203
286
|
* @param [options] - Alpha rules options
|
|
204
287
|
* */
|
|
205
|
-
declare const alpha: RegleRuleWithParamsDefinition<string, [
|
|
206
|
-
options?: CommonAlphaOptions | undefined
|
|
207
|
-
], false, boolean, MaybeInput<string>, string>;
|
|
288
|
+
declare const alpha: RegleRuleWithParamsDefinition<string, [options?: CommonAlphaOptions | undefined], false, boolean, MaybeInput<string>, string>;
|
|
208
289
|
|
|
290
|
+
//#endregion
|
|
291
|
+
//#region src/rules/alphaNum.d.ts
|
|
209
292
|
/**
|
|
210
293
|
* Allows only alphanumeric characters.
|
|
211
294
|
*
|
|
212
295
|
* @param [options] - Alpha rules options
|
|
213
296
|
*/
|
|
214
|
-
declare const alphaNum: RegleRuleWithParamsDefinition<string | number, [
|
|
215
|
-
options?: CommonAlphaOptions | undefined
|
|
216
|
-
], false, boolean, MaybeInput<string>>;
|
|
297
|
+
declare const alphaNum: RegleRuleWithParamsDefinition<string | number, [options?: CommonAlphaOptions | undefined], false, boolean, MaybeInput<string>>;
|
|
217
298
|
|
|
299
|
+
//#endregion
|
|
300
|
+
//#region src/rules/between.d.ts
|
|
218
301
|
/**
|
|
219
302
|
* Checks if a number is in specified bounds. min and max are both inclusive.
|
|
220
303
|
*
|
|
221
304
|
* @param min - the minimum limit
|
|
222
305
|
* @param max - the maximum limit
|
|
223
306
|
*/
|
|
224
|
-
declare const between: RegleRuleWithParamsDefinition<number, [
|
|
225
|
-
min: number,
|
|
226
|
-
max: number,
|
|
227
|
-
options?: CommonComparisonOptions
|
|
228
|
-
], false, boolean, MaybeInput<number>>;
|
|
307
|
+
declare const between: RegleRuleWithParamsDefinition<number, [min: number, max: number, options?: CommonComparisonOptions], false, boolean, MaybeInput<number>>;
|
|
229
308
|
|
|
309
|
+
//#endregion
|
|
310
|
+
//#region src/rules/boolean.d.ts
|
|
230
311
|
/**
|
|
231
312
|
* Requires a value to be a native boolean type
|
|
232
313
|
*
|
|
@@ -234,20 +315,24 @@ declare const between: RegleRuleWithParamsDefinition<number, [
|
|
|
234
315
|
*/
|
|
235
316
|
declare const boolean: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<boolean>, unknown>;
|
|
236
317
|
|
|
318
|
+
//#endregion
|
|
319
|
+
//#region src/rules/checked.d.ts
|
|
237
320
|
/**
|
|
238
321
|
* Requires a boolean value to be true. This is useful for checkbox inputs.
|
|
239
322
|
*/
|
|
240
323
|
declare const checked: RegleRuleDefinition<boolean, [], false, boolean, MaybeInput<boolean>>;
|
|
241
324
|
|
|
325
|
+
//#endregion
|
|
326
|
+
//#region src/rules/contains.d.ts
|
|
242
327
|
/**
|
|
243
328
|
* Checks if the string contains the specified substring.
|
|
244
329
|
*
|
|
245
330
|
* @param part - the part the value needs to contain
|
|
246
331
|
*/
|
|
247
|
-
declare const contains: RegleRuleWithParamsDefinition<string, [
|
|
248
|
-
part: MaybeInput<string>
|
|
249
|
-
], false, boolean, MaybeInput<string>>;
|
|
332
|
+
declare const contains: RegleRuleWithParamsDefinition<string, [part: MaybeInput<string>], false, boolean, MaybeInput<string>>;
|
|
250
333
|
|
|
334
|
+
//#endregion
|
|
335
|
+
//#region src/rules/date.d.ts
|
|
251
336
|
/**
|
|
252
337
|
* Requires a value to be a native Date constructor
|
|
253
338
|
*
|
|
@@ -255,40 +340,40 @@ declare const contains: RegleRuleWithParamsDefinition<string, [
|
|
|
255
340
|
*/
|
|
256
341
|
declare const date: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<Date>, unknown>;
|
|
257
342
|
|
|
343
|
+
//#endregion
|
|
344
|
+
//#region src/rules/dateAfter.d.ts
|
|
258
345
|
/**
|
|
259
346
|
* Checks if the date is after the given parameter.
|
|
260
347
|
*
|
|
261
348
|
* @param after - the date to compare to
|
|
262
349
|
* @param options - comparison options
|
|
263
350
|
*/
|
|
264
|
-
declare const dateAfter: RegleRuleWithParamsDefinition<string | Date, [
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
], false, true | {
|
|
268
|
-
$valid: false;
|
|
269
|
-
error: 'date-not-after';
|
|
351
|
+
declare const dateAfter: RegleRuleWithParamsDefinition<string | Date, [after: MaybeInput<string | Date>, options?: CommonComparisonOptions], false, true | {
|
|
352
|
+
$valid: false;
|
|
353
|
+
error: 'date-not-after';
|
|
270
354
|
} | {
|
|
271
|
-
|
|
272
|
-
|
|
355
|
+
$valid: false;
|
|
356
|
+
error: 'value-or-parameter-not-a-date';
|
|
273
357
|
}, MaybeInput<string | Date>>;
|
|
274
358
|
|
|
359
|
+
//#endregion
|
|
360
|
+
//#region src/rules/dateBefore.d.ts
|
|
275
361
|
/**
|
|
276
362
|
* Checks if the date is before the given parameter.
|
|
277
363
|
*
|
|
278
364
|
* @param before - the date to compare to
|
|
279
365
|
* @param options - comparison options
|
|
280
366
|
*/
|
|
281
|
-
declare const dateBefore: RegleRuleWithParamsDefinition<string | Date, [
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
], false, true | {
|
|
285
|
-
$valid: false;
|
|
286
|
-
error: 'date-not-before';
|
|
367
|
+
declare const dateBefore: RegleRuleWithParamsDefinition<string | Date, [before: MaybeInput<string | Date>, options?: CommonComparisonOptions], false, true | {
|
|
368
|
+
$valid: false;
|
|
369
|
+
error: 'date-not-before';
|
|
287
370
|
} | {
|
|
288
|
-
|
|
289
|
-
|
|
371
|
+
$valid: false;
|
|
372
|
+
error: 'value-or-parameter-not-a-date';
|
|
290
373
|
}, MaybeInput<string | Date>>;
|
|
291
374
|
|
|
375
|
+
//#endregion
|
|
376
|
+
//#region src/rules/dateBetween.d.ts
|
|
292
377
|
/**
|
|
293
378
|
* Checks if the date falls between the specified bounds.
|
|
294
379
|
*
|
|
@@ -296,130 +381,137 @@ declare const dateBefore: RegleRuleWithParamsDefinition<string | Date, [
|
|
|
296
381
|
* @param after - the maximum limit
|
|
297
382
|
* @param options - comparison options
|
|
298
383
|
*/
|
|
299
|
-
declare const dateBetween: RegleRuleWithParamsDefinition<string | Date, [
|
|
300
|
-
before: MaybeInput<string | Date>,
|
|
301
|
-
after: MaybeInput<string | Date>,
|
|
302
|
-
options?: CommonComparisonOptions
|
|
303
|
-
], false, boolean, MaybeInput<string | Date>>;
|
|
384
|
+
declare const dateBetween: RegleRuleWithParamsDefinition<string | Date, [before: MaybeInput<string | Date>, after: MaybeInput<string | Date>, options?: CommonComparisonOptions], false, boolean, MaybeInput<string | Date>>;
|
|
304
385
|
|
|
386
|
+
//#endregion
|
|
387
|
+
//#region src/rules/decimal.d.ts
|
|
305
388
|
/**
|
|
306
389
|
* Allows positive and negative decimal numbers.
|
|
307
390
|
*/
|
|
308
|
-
declare const decimal: RegleRuleDefinition<string | number, [
|
|
309
|
-
], false, boolean, MaybeInput<number | undefined>>;
|
|
391
|
+
declare const decimal: RegleRuleDefinition<string | number, [], false, boolean, MaybeInput<number | undefined>>;
|
|
310
392
|
|
|
393
|
+
//#endregion
|
|
394
|
+
//#region src/rules/email.d.ts
|
|
311
395
|
/**
|
|
312
396
|
* Validates email addresses. Always verify on the server to ensure the address is real and not already in use.
|
|
313
397
|
*/
|
|
314
398
|
declare const email: RegleRuleDefinition<string, [], false, boolean, MaybeInput<string>>;
|
|
315
399
|
|
|
400
|
+
//#endregion
|
|
401
|
+
//#region src/rules/endsWith.d.ts
|
|
316
402
|
/**
|
|
317
403
|
* Checks if the string ends with the specified substring.
|
|
318
404
|
*
|
|
319
405
|
* @param part - the value the field must end with
|
|
320
406
|
*/
|
|
321
|
-
declare const endsWith: RegleRuleWithParamsDefinition<string, [
|
|
322
|
-
part: MaybeInput<string>
|
|
323
|
-
], false, boolean, MaybeInput<string>>;
|
|
407
|
+
declare const endsWith: RegleRuleWithParamsDefinition<string, [part: MaybeInput<string>], false, boolean, MaybeInput<string>>;
|
|
324
408
|
|
|
409
|
+
//#endregion
|
|
410
|
+
//#region src/rules/exactLength.d.ts
|
|
325
411
|
/**
|
|
326
412
|
* Requires the input value to have a strict specified length, inclusive. Works with arrays, objects and strings.
|
|
327
413
|
*
|
|
328
414
|
* @param count - the required length
|
|
329
415
|
*/
|
|
330
|
-
declare const exactLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [
|
|
331
|
-
count: number
|
|
332
|
-
], false, boolean>;
|
|
416
|
+
declare const exactLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [count: number], false, boolean>;
|
|
333
417
|
|
|
418
|
+
//#endregion
|
|
419
|
+
//#region src/rules/exactValue.d.ts
|
|
334
420
|
/**
|
|
335
421
|
* Requires a field to have a strict numeric value.
|
|
336
422
|
*/
|
|
337
|
-
declare const exactValue: RegleRuleWithParamsDefinition<number, [
|
|
338
|
-
count: number
|
|
339
|
-
], false, boolean, MaybeInput<number>>;
|
|
423
|
+
declare const exactValue: RegleRuleWithParamsDefinition<number, [count: number], false, boolean, MaybeInput<number>>;
|
|
340
424
|
|
|
425
|
+
//#endregion
|
|
426
|
+
//#region src/rules/hexadecimal.d.ts
|
|
341
427
|
/**
|
|
342
428
|
* Allows only hexadecimal values.
|
|
343
429
|
*/
|
|
344
430
|
declare const hexadecimal: RegleRuleDefinition<string, [], false, boolean, MaybeInput<string>>;
|
|
345
431
|
|
|
432
|
+
//#endregion
|
|
433
|
+
//#region src/rules/integer.d.ts
|
|
346
434
|
/**
|
|
347
435
|
* Allows only integers (positive and negative).
|
|
348
436
|
*/
|
|
349
437
|
declare const integer: RegleRuleDefinition<string | number, [], false, boolean, MaybeInput<number>>;
|
|
350
438
|
|
|
439
|
+
//#endregion
|
|
440
|
+
//#region src/rules/ipv4Address.d.ts
|
|
351
441
|
/**
|
|
352
442
|
* Validates IPv4 addresses in dotted decimal notation 127.0.0.1.
|
|
353
443
|
*/
|
|
354
444
|
declare const ipv4Address: RegleRuleDefinition<string, [], false, boolean, MaybeInput<string>>;
|
|
355
445
|
|
|
446
|
+
//#endregion
|
|
447
|
+
//#region src/rules/literal.d.ts
|
|
356
448
|
/**
|
|
357
449
|
* Allow only one possible literal value
|
|
358
450
|
*/
|
|
359
451
|
declare function literal<const TValue extends string | number>(literal: MaybeRefOrGetter<TValue>): RegleRuleDefinition<TValue, [literal: TValue], false, boolean, MaybeInput<TValue>, string | number>;
|
|
360
452
|
|
|
453
|
+
//#endregion
|
|
454
|
+
//#region src/rules/macAddress.d.ts
|
|
361
455
|
/**
|
|
362
456
|
* Validates MAC addresses. Call as a function to specify a custom separator (e.g., ':' or an empty string for 00ff1122334455).
|
|
363
457
|
*
|
|
364
458
|
* @param separator - the custom separator
|
|
365
459
|
*/
|
|
366
|
-
declare const macAddress: RegleRuleWithParamsDefinition<string, [
|
|
367
|
-
separator?: string | undefined
|
|
368
|
-
], false, boolean, MaybeInput<string>>;
|
|
460
|
+
declare const macAddress: RegleRuleWithParamsDefinition<string, [separator?: string | undefined], false, boolean, MaybeInput<string>>;
|
|
369
461
|
|
|
462
|
+
//#endregion
|
|
463
|
+
//#region src/rules/maxLength.d.ts
|
|
370
464
|
/**
|
|
371
465
|
* Requires the input value to have a maximum specified length, inclusive. Works with arrays, objects and strings.
|
|
372
466
|
*
|
|
373
467
|
* @param max - the maximum length
|
|
374
468
|
* @param options - comparison options
|
|
375
469
|
*/
|
|
376
|
-
declare const maxLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [
|
|
377
|
-
count: number,
|
|
378
|
-
options?: CommonComparisonOptions
|
|
379
|
-
], false, boolean>;
|
|
470
|
+
declare const maxLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
380
471
|
|
|
472
|
+
//#endregion
|
|
473
|
+
//#region src/rules/maxValue.d.ts
|
|
381
474
|
/**
|
|
382
475
|
* Requires a field to have a specified maximum numeric value.
|
|
383
476
|
*
|
|
384
477
|
* @param max - the maximum value
|
|
385
478
|
* @param options - comparison options
|
|
386
479
|
*/
|
|
387
|
-
declare const maxValue: RegleRuleWithParamsDefinition<number, [
|
|
388
|
-
count: number,
|
|
389
|
-
options?: CommonComparisonOptions
|
|
390
|
-
], false, boolean, MaybeInput<number>>;
|
|
480
|
+
declare const maxValue: RegleRuleWithParamsDefinition<number, [count: number, options?: CommonComparisonOptions], false, boolean, MaybeInput<number>>;
|
|
391
481
|
|
|
482
|
+
//#endregion
|
|
483
|
+
//#region src/rules/minLength.d.ts
|
|
392
484
|
/**
|
|
393
485
|
* Requires the input value to have a minimum specified length, inclusive. Works with arrays, objects and strings.
|
|
394
486
|
*
|
|
395
487
|
* @param min - the minimum value
|
|
396
488
|
* @param options - comparison options
|
|
397
489
|
*/
|
|
398
|
-
declare const minLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [
|
|
399
|
-
count: number,
|
|
400
|
-
options?: CommonComparisonOptions
|
|
401
|
-
], false, boolean>;
|
|
490
|
+
declare const minLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
402
491
|
|
|
492
|
+
//#endregion
|
|
493
|
+
//#region src/rules/minValue.d.ts
|
|
403
494
|
/**
|
|
404
495
|
* Requires a field to have a specified minimum numeric value.
|
|
405
496
|
*
|
|
406
497
|
* @param count - the minimum count
|
|
407
498
|
* @param options - comparison options
|
|
408
499
|
*/
|
|
409
|
-
declare const minValue: RegleRuleWithParamsDefinition<number, [
|
|
410
|
-
count: number,
|
|
411
|
-
options?: CommonComparisonOptions
|
|
412
|
-
], false, boolean, MaybeInput<number>>;
|
|
500
|
+
declare const minValue: RegleRuleWithParamsDefinition<number, [count: number, options?: CommonComparisonOptions], false, boolean, MaybeInput<number>>;
|
|
413
501
|
|
|
502
|
+
//#endregion
|
|
503
|
+
//#region src/rules/nativeEnum.d.ts
|
|
414
504
|
type EnumLike = {
|
|
415
|
-
|
|
416
|
-
|
|
505
|
+
[k: string]: string | number;
|
|
506
|
+
[nu: number]: string;
|
|
417
507
|
};
|
|
418
508
|
/**
|
|
419
509
|
* Validate against a native Typescript enum value.
|
|
420
510
|
*/
|
|
421
511
|
declare function nativeEnum<T extends EnumLike>(enumLike: T): RegleRuleDefinition<MaybeInput<T[keyof T]>, [enumLike: T], false, boolean, MaybeInput<T[keyof T]>, string | number>;
|
|
422
512
|
|
|
513
|
+
//#endregion
|
|
514
|
+
//#region src/rules/number.d.ts
|
|
423
515
|
/**
|
|
424
516
|
* Requires a value to be a native number type
|
|
425
517
|
*
|
|
@@ -427,31 +519,36 @@ declare function nativeEnum<T extends EnumLike>(enumLike: T): RegleRuleDefinitio
|
|
|
427
519
|
*/
|
|
428
520
|
declare const number: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<number>, unknown>;
|
|
429
521
|
|
|
522
|
+
//#endregion
|
|
523
|
+
//#region src/rules/numeric.d.ts
|
|
430
524
|
/**
|
|
431
525
|
* Allows only numeric values (including numeric strings).
|
|
432
526
|
*/
|
|
433
|
-
declare const numeric: RegleRuleDefinition<string | number, [
|
|
434
|
-
], false, boolean, MaybeInput<string | number>>;
|
|
527
|
+
declare const numeric: RegleRuleDefinition<string | number, [], false, boolean, MaybeInput<string | number>>;
|
|
435
528
|
|
|
529
|
+
//#endregion
|
|
530
|
+
//#region src/rules/oneOf.d.ts
|
|
436
531
|
/**
|
|
437
532
|
* Allow only one of the values from a fixed Array of possible entries.
|
|
438
533
|
*/
|
|
439
|
-
declare function oneOf<const TValues extends readonly [string | number, ...(string | number)[]]>(options: MaybeReadonly<MaybeRefOrGetter<[...TValues]>>): RegleRuleDefinition<TValues[number], [
|
|
440
|
-
options: TValues
|
|
441
|
-
], false, boolean, MaybeInput<TValues[number]>, string | number>;
|
|
534
|
+
declare function oneOf<const TValues extends readonly [string | number, ...(string | number)[]]>(options: MaybeReadonly<MaybeRefOrGetter<[...TValues]>>): RegleRuleDefinition<TValues[number], [options: TValues], false, boolean, MaybeInput<TValues[number]>, string | number>;
|
|
442
535
|
|
|
536
|
+
//#endregion
|
|
537
|
+
//#region src/rules/regex.d.ts
|
|
443
538
|
/**
|
|
444
539
|
* Checks if the value matches one or more regular expressions.
|
|
445
540
|
*/
|
|
446
|
-
declare const regex: RegleRuleWithParamsDefinition<string | number, [
|
|
447
|
-
regexp: RegExp | RegExp[]
|
|
448
|
-
], false, boolean, MaybeInput<string | number>>;
|
|
541
|
+
declare const regex: RegleRuleWithParamsDefinition<string | number, [regexp: RegExp | RegExp[]], false, boolean, MaybeInput<string | number>>;
|
|
449
542
|
|
|
543
|
+
//#endregion
|
|
544
|
+
//#region src/rules/required.d.ts
|
|
450
545
|
/**
|
|
451
546
|
* Requires non-empty data. Checks for empty arrays and strings containing only whitespaces.
|
|
452
547
|
*/
|
|
453
548
|
declare const required: RegleRuleDefinition<unknown, [], false, boolean, unknown>;
|
|
454
549
|
|
|
550
|
+
//#endregion
|
|
551
|
+
//#region src/rules/requiredIf.d.ts
|
|
455
552
|
/**
|
|
456
553
|
* Requires non-empty data, only if provided data property, ref, or a function resolves to true.
|
|
457
554
|
*
|
|
@@ -459,6 +556,8 @@ declare const required: RegleRuleDefinition<unknown, [], false, boolean, unknown
|
|
|
459
556
|
*/
|
|
460
557
|
declare const requiredIf: RegleRuleWithParamsDefinition<unknown, [condition: boolean], false, boolean>;
|
|
461
558
|
|
|
559
|
+
//#endregion
|
|
560
|
+
//#region src/rules/requiredUnless.d.ts
|
|
462
561
|
/**
|
|
463
562
|
* Requires non-empty data, only if provided data property, ref, or a function resolves to false.
|
|
464
563
|
*
|
|
@@ -466,23 +565,24 @@ declare const requiredIf: RegleRuleWithParamsDefinition<unknown, [condition: boo
|
|
|
466
565
|
*/
|
|
467
566
|
declare const requiredUnless: RegleRuleWithParamsDefinition<unknown, [condition: boolean], false, boolean>;
|
|
468
567
|
|
|
568
|
+
//#endregion
|
|
569
|
+
//#region src/rules/sameAs.d.ts
|
|
469
570
|
/**
|
|
470
571
|
* Checks if the value matches the specified property or ref.
|
|
471
572
|
*/
|
|
472
|
-
declare const sameAs: <const TTarget extends unknown>(target: MaybeRefOrGetter<TTarget>, otherName?: MaybeRefOrGetter<string>) => RegleRuleDefinition<unknown, [
|
|
473
|
-
target: TTarget,
|
|
474
|
-
otherName?: string
|
|
475
|
-
], false, boolean, TTarget extends MaybeInput<infer M> ? M : MaybeInput<TTarget>>;
|
|
573
|
+
declare const sameAs: <const TTarget extends unknown>(target: MaybeRefOrGetter<TTarget>, otherName?: MaybeRefOrGetter<string>) => RegleRuleDefinition<unknown, [target: TTarget, otherName?: string], false, boolean, TTarget extends MaybeInput<infer M> ? M : MaybeInput<TTarget>>;
|
|
476
574
|
|
|
575
|
+
//#endregion
|
|
576
|
+
//#region src/rules/startsWith.d.ts
|
|
477
577
|
/**
|
|
478
578
|
* Checks if the string starts with the specified substring.
|
|
479
579
|
*
|
|
480
580
|
* @private part - the value the field must start with
|
|
481
581
|
*/
|
|
482
|
-
declare const startsWith: RegleRuleWithParamsDefinition<string, [
|
|
483
|
-
part: MaybeInput<string>
|
|
484
|
-
], false, boolean, MaybeInput<string>>;
|
|
582
|
+
declare const startsWith: RegleRuleWithParamsDefinition<string, [part: MaybeInput<string>], false, boolean, MaybeInput<string>>;
|
|
485
583
|
|
|
584
|
+
//#endregion
|
|
585
|
+
//#region src/rules/string.d.ts
|
|
486
586
|
/**
|
|
487
587
|
* Requires a value to be a native string type
|
|
488
588
|
*
|
|
@@ -490,6 +590,8 @@ declare const startsWith: RegleRuleWithParamsDefinition<string, [
|
|
|
490
590
|
*/
|
|
491
591
|
declare const string: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<string>, unknown>;
|
|
492
592
|
|
|
593
|
+
//#endregion
|
|
594
|
+
//#region src/rules/type.d.ts
|
|
493
595
|
/**
|
|
494
596
|
* Define the input type of a rule. No runtime validation.
|
|
495
597
|
*
|
|
@@ -497,9 +599,12 @@ declare const string: RegleRuleDefinition<unknown, [], false, boolean, MaybeInpu
|
|
|
497
599
|
*/
|
|
498
600
|
declare function type<T>(): RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<T>>;
|
|
499
601
|
|
|
602
|
+
//#endregion
|
|
603
|
+
//#region src/rules/url.d.ts
|
|
500
604
|
/**
|
|
501
605
|
* Validates URLs.
|
|
502
606
|
*/
|
|
503
607
|
declare const url: RegleRuleDefinition<string, [], false, boolean, MaybeInput<string>>;
|
|
504
608
|
|
|
505
|
-
|
|
609
|
+
//#endregion
|
|
610
|
+
export { EnumLike, alpha, alphaNum, and, applyIf, between, boolean, checked, contains, date, dateAfter, dateBefore, dateBetween, decimal, email, endsWith, exactLength, exactValue, getSize, hexadecimal, integer, ipv4Address, isDate, isEmpty, isFilled, isNumber, literal, macAddress, matchRegex, maxLength, maxValue, minLength, minValue, nativeEnum, not, number, numeric, oneOf, or, regex, required, requiredIf, requiredUnless, sameAs, startsWith, string, toDate, toNumber, type, url, withAsync, withMessage, withParams, withTooltip };
|