@regle/rules 1.17.4 → 1.18.0-beta.2
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.ts +167 -76
- package/dist/regle-rules.js +485 -328
- package/dist/regle-rules.min.js +2 -2
- package/package.json +2 -2
package/dist/regle-rules.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @regle/rules v1.
|
|
2
|
+
* @regle/rules v1.18.0-beta.2
|
|
3
3
|
* (c) 2026 Victor Garcia
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { CommonAlphaOptions, CommonComparisonOptions, ExtendedRulesDeclarations, FormRuleDeclaration, InlineRuleDeclaration, Maybe, MaybeInput, MaybeReadonly, NonEmptyTuple, RegleRuleDecl, RegleRuleDefinition, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleMetadataDefinition, RegleRuleWithParamsDefinition, RegleRuleWithParamsDefinitionInput, UnwrapRegleUniversalParams } from "@regle/core";
|
|
7
|
+
import { CommonAlphaOptions, CommonComparisonOptions, ExtendedRulesDeclarations, FormRuleDeclaration, InlineRuleDeclaration, Maybe, MaybeInput, MaybeReadonly, NonEmptyTuple, Prettify, RegleRuleDecl, RegleRuleDefinition, RegleRuleDefinitionWithMetadataProcessor, RegleRuleMetadataConsumer, RegleRuleMetadataDefinition, RegleRuleWithParamsDefinition, RegleRuleWithParamsDefinitionInput, UnwrapRegleUniversalParams } from "@regle/core";
|
|
8
8
|
import { ComputedRef, MaybeRef, MaybeRefOrGetter, Ref } from "vue";
|
|
9
|
-
import { EmptyObject } from "type-fest";
|
|
9
|
+
import { EmptyObject, IsTuple, IsUnknown } from "type-fest";
|
|
10
10
|
/**
|
|
11
11
|
* The `withMessage` wrapper lets you associate an error message with a rule.
|
|
12
12
|
* Pass your rule as the first argument and the error message as the second.
|
|
@@ -33,10 +33,10 @@ import { EmptyObject } from "type-fest";
|
|
|
33
33
|
*
|
|
34
34
|
* @see {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withmessage Documentation}
|
|
35
35
|
*/
|
|
36
|
-
declare function withMessage<TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
37
|
-
declare function withMessage<TValue$1 extends any, TParams$1 extends unknown[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
38
|
-
declare function withMessage<TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: InlineRuleDeclaration<TValue$1, TParams$1, TReturn>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
39
|
-
declare function withMessage<TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: (...args: any[]) => RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
36
|
+
declare function withMessage<TType$1 extends string | unknown, TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
37
|
+
declare function withMessage<TType$1 extends string | unknown, TValue$1 extends any, TParams$1 extends unknown[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
38
|
+
declare function withMessage<TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: InlineRuleDeclaration<TValue$1, TParams$1, TReturn>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<unknown, TValue$1, TParams$1, TAsync$1, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
39
|
+
declare function withMessage<TType$1 extends string | unknown, TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: (...args: any[]) => RegleRuleDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>, newMessage: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
40
40
|
/**
|
|
41
41
|
* The `withTooltip` wrapper allows you to display additional messages for your field that aren't necessarily errors.
|
|
42
42
|
* Tooltips are aggregated and accessible via `$tooltips` property.
|
|
@@ -63,9 +63,9 @@ declare function withMessage<TValue$1 extends any, TParams$1 extends any[], TRet
|
|
|
63
63
|
*
|
|
64
64
|
* @see {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withtooltip Documentation}
|
|
65
65
|
*/
|
|
66
|
-
declare function withTooltip<TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
67
|
-
declare function withTooltip<TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
68
|
-
declare function withTooltip<TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: InlineRuleDeclaration<TValue$1, TParams$1, TReturn>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
66
|
+
declare function withTooltip<TType$1 extends string | unknown, TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
67
|
+
declare function withTooltip<TType$1 extends string | unknown, TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
68
|
+
declare function withTooltip<TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: InlineRuleDeclaration<TValue$1, TParams$1, TReturn>, newTooltip: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TReturn extends Promise<infer M> ? M : TReturn>, string | string[]>): RegleRuleDefinition<unknown, TValue$1, TParams$1, TAsync$1, TReturn extends Promise<infer M> ? M : TReturn>;
|
|
69
69
|
/**
|
|
70
70
|
* `withAsync` works like `withParams`, but is specifically designed for async rules that depend on external values.
|
|
71
71
|
*
|
|
@@ -89,8 +89,8 @@ declare function withTooltip<TValue$1 extends any, TParams$1 extends any[], TRet
|
|
|
89
89
|
*
|
|
90
90
|
* @see {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withasync Documentation}
|
|
91
91
|
*/
|
|
92
|
-
declare function withAsync<TValue$1, TParams$1 extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends Promise<RegleRuleMetadataDefinition> = Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn)>(rule: InlineRuleDeclaration<TValue$1, TParams$1, TReturn>, depsArray?: [...TParams$1]): RegleRuleDefinition<TValue$1, UnwrapRegleUniversalParams<TParams$1>, true, TMetadata$1>;
|
|
93
|
-
declare function withAsync<TValue$1 extends any, TParams$1 extends any[], TMetadata$1 extends RegleRuleMetadataDefinition>(rule: RegleRuleWithParamsDefinition<TValue$1, TParams$1, true, TMetadata$1>, depsArray?: [...TParams$1]): RegleRuleWithParamsDefinition<TValue$1, TParams$1, true, TMetadata$1>;
|
|
92
|
+
declare function withAsync<TValue$1, TParams$1 extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends Promise<RegleRuleMetadataDefinition> = Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn)>(rule: InlineRuleDeclaration<TValue$1, TParams$1, TReturn>, depsArray?: [...TParams$1]): RegleRuleDefinition<unknown, TValue$1, UnwrapRegleUniversalParams<TParams$1>, true, TMetadata$1>;
|
|
93
|
+
declare function withAsync<TType$1 extends string | unknown, TValue$1 extends any, TParams$1 extends any[], TMetadata$1 extends RegleRuleMetadataDefinition>(rule: RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, true, TMetadata$1>, depsArray?: [...TParams$1]): RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, true, TMetadata$1>;
|
|
94
94
|
/**
|
|
95
95
|
* The `withParams` wrapper allows your rule to depend on external parameters,
|
|
96
96
|
* such as a reactive property in your component or store.
|
|
@@ -118,8 +118,14 @@ declare function withAsync<TValue$1 extends any, TParams$1 extends any[], TMetad
|
|
|
118
118
|
*
|
|
119
119
|
* @see {@link https://reglejs.dev/core-concepts/rules/rule-wrappers#withparams Documentation}
|
|
120
120
|
*/
|
|
121
|
-
declare function withParams<TValue$1, TParams$1 extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: InlineRuleDeclaration<TValue$1, TParams$1, TReturn> | RegleRuleDefinition<TValue$1, any[], TAsync$1, TMetadata$1>, depsArray: [...TParams$1]): RegleRuleDefinition<TValue$1, UnwrapRegleUniversalParams<TParams$1>, TAsync$1, TMetadata$1>;
|
|
122
|
-
declare function withParams<TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>, depsArray: [...TParams$1]): RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
121
|
+
declare function withParams<TType$1 extends string | unknown, TValue$1, TParams$1 extends (Ref<unknown> | (() => unknown))[] = [], TReturn extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: InlineRuleDeclaration<TValue$1, TParams$1, TReturn> | RegleRuleDefinition<TType$1, TValue$1, any[], TAsync$1, TMetadata$1>, depsArray: [...TParams$1]): RegleRuleDefinition<TType$1, TValue$1, UnwrapRegleUniversalParams<TParams$1>, TAsync$1, TMetadata$1>;
|
|
122
|
+
declare function withParams<TType$1 extends string | unknown, TValue$1 extends any, TParams$1 extends any[], TReturn extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>, depsArray: [...TParams$1]): RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
123
|
+
interface ApplyIfOptions {
|
|
124
|
+
/**
|
|
125
|
+
* ⚠️ Internal use for the `pipe` operator.
|
|
126
|
+
*/
|
|
127
|
+
hideParams?: boolean;
|
|
128
|
+
}
|
|
123
129
|
/**
|
|
124
130
|
* The `applyIf` operator is similar to `requiredIf`, but it can be used with **any rule**.
|
|
125
131
|
* It simplifies conditional rule declarations.
|
|
@@ -143,7 +149,7 @@ declare function withParams<TValue$1 extends any, TParams$1 extends any[], TRetu
|
|
|
143
149
|
*
|
|
144
150
|
* @see {@link https://reglejs.dev/core-concepts/rules/rules-operators#applyif Documentation}
|
|
145
151
|
*/
|
|
146
|
-
declare function applyIf<TRule extends FormRuleDeclaration<any>>(_condition: MaybeRefOrGetter<Maybe<boolean>>, rule: TRule): TRule extends InlineRuleDeclaration<infer TValue, infer TParams, infer TReturn> ? RegleRuleDefinition<TValue, [...TParams, condition: boolean], TReturn extends Promise<any> ? true : false, TReturn extends Promise<infer M> ? M : TReturn> : TRule extends RegleRuleWithParamsDefinitionInput<infer TValue, infer TParams, infer TAsync, infer TMetadata> ? RegleRuleDefinition<TValue, [...TParams, condition: boolean], TAsync, TMetadata> : TRule extends RegleRuleDefinition<infer TValue, any[], infer TAsync, infer TMetadata> ? RegleRuleDefinition<TValue, [condition: boolean], TAsync, TMetadata> : TRule;
|
|
152
|
+
declare function applyIf<TRule extends FormRuleDeclaration<any>>(_condition: MaybeRefOrGetter<Maybe<boolean>>, rule: TRule, options?: ApplyIfOptions): TRule extends InlineRuleDeclaration<infer TValue, infer TParams, infer TReturn> ? RegleRuleDefinition<'applyIf', TValue, [...TParams, condition: boolean], TReturn extends Promise<any> ? true : false, TReturn extends Promise<infer M> ? M : TReturn> : TRule extends RegleRuleWithParamsDefinitionInput<infer TType, infer TValue, infer TParams, infer TAsync, infer TMetadata> ? RegleRuleDefinition<TType, TValue, [...TParams, condition: boolean], TAsync, TMetadata> : TRule extends RegleRuleDefinition<infer TType, infer TValue, any[], infer TAsync, infer TMetadata> ? RegleRuleDefinition<TType, TValue, [condition: boolean], TAsync, TMetadata> : TRule;
|
|
147
153
|
/**
|
|
148
154
|
* Checks if any value you provide is defined (including arrays and objects).
|
|
149
155
|
* This is almost a must-have for optional fields when writing custom rules.
|
|
@@ -174,7 +180,7 @@ declare function applyIf<TRule extends FormRuleDeclaration<any>>(_condition: May
|
|
|
174
180
|
*
|
|
175
181
|
* @see {@link https://reglejs.dev/core-concepts/rules/validations-helpers#isfilled Documentation}
|
|
176
182
|
*/
|
|
177
|
-
declare function isFilled<T extends unknown>(value: T, considerEmptyArrayInvalid?: boolean): value is NonNullable<T>;
|
|
183
|
+
declare function isFilled<T extends unknown>(value: T, considerEmptyArrayInvalid?: boolean, considerEmptyObjectInvalid?: boolean): value is NonNullable<T>;
|
|
178
184
|
/**
|
|
179
185
|
* Type guard that checks if the passed value is a real `Number`.
|
|
180
186
|
* Returns `false` for `NaN`, making it safer than `typeof value === "number"`.
|
|
@@ -305,7 +311,7 @@ declare function toNumber<T extends number | string | undefined>(argument: T): n
|
|
|
305
311
|
*
|
|
306
312
|
* @see {@link https://reglejs.dev/core-concepts/rules/validations-helpers#isempty Documentation}
|
|
307
313
|
*/
|
|
308
|
-
declare function isEmpty(value: unknown, considerEmptyArrayInvalid?: boolean): value is null | undefined | [] | EmptyObject;
|
|
314
|
+
declare function isEmpty(value: unknown, considerEmptyArrayInvalid?: boolean, considerEmptyObjectInvalid?: boolean): value is null | undefined | [] | EmptyObject;
|
|
309
315
|
/**
|
|
310
316
|
* Checks if the provided value is a valid Date. Used internally for date rules.
|
|
311
317
|
* Can also validate date strings.
|
|
@@ -350,16 +356,18 @@ declare function isDate(value: unknown): value is Date | string;
|
|
|
350
356
|
* @see {@link https://reglejs.dev/core-concepts/rules/validations-helpers#todate Documentation}
|
|
351
357
|
*/
|
|
352
358
|
declare function toDate(argument: Date | number | string | null | undefined): Date;
|
|
353
|
-
type
|
|
354
|
-
type
|
|
355
|
-
type
|
|
356
|
-
type GuessAsyncFromRules<T extends any[]> =
|
|
357
|
-
type
|
|
359
|
+
type ExtractBoolean<T extends [...any[]]> = T extends [infer F, ...infer R] ? F extends true ? true : F extends false ? ExtractBoolean<R> : false : false;
|
|
360
|
+
type ExtractValueFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<unknown, infer V, any, any, any> ? [V, ...ExtractValueFromRules<R>] : F extends InlineRuleDeclaration<infer V, any> ? [V, ...ExtractValueFromRules<R>] : [F, ...ExtractValueFromRules<R>] : [];
|
|
361
|
+
type ExtractAsyncStatesFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<unknown, 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>] : [];
|
|
362
|
+
type GuessAsyncFromRules<T extends any[]> = ExtractBoolean<ExtractAsyncStatesFromRules<T>>;
|
|
363
|
+
type ExtractNoEmptyStatesFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<unknown, any, any, any, any, any, any, infer NonEmpty extends boolean> ? [NonEmpty, ...ExtractNoEmptyStatesFromRules<R>] : [false, ...ExtractNoEmptyStatesFromRules<R>] : [];
|
|
364
|
+
type GuessNoEmptyFromRules<T extends any[]> = ExtractBoolean<ExtractNoEmptyStatesFromRules<T>>;
|
|
365
|
+
type ExtractParamsFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<unknown, any, infer P, any, any> ? [P, ...ExtractParamsFromRules<R>] : [F, ...ExtractParamsFromRules<R>] : [];
|
|
358
366
|
type MetadataBase = {
|
|
359
367
|
$valid: boolean;
|
|
360
368
|
[x: string]: any;
|
|
361
369
|
};
|
|
362
|
-
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>] : [];
|
|
370
|
+
type ExtractMetaDataFromRules<T extends any[]> = T extends [infer F, ...infer R] ? F extends RegleRuleDefinition<unknown, 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>] : [];
|
|
363
371
|
type ExtractMetadata<T extends [...any[]]> = T extends [infer F, ...infer R] ? F & ExtractMetadata<R> : {};
|
|
364
372
|
type GuessMetadataFromRules<T extends any[], TMeta = ExtractMetadata<ExtractMetaDataFromRules<T>>> = TMeta extends EmptyObject ? boolean : TMeta;
|
|
365
373
|
type FilterTuple<T extends any[]> = T extends [infer F, ...infer R] ? [F] extends [[]] ? [...FilterTuple<R>] : [F, ...FilterTuple<R>] : [];
|
|
@@ -391,7 +399,7 @@ type UnwrapTuples<T extends any[]> = FilterTuple<T> extends [infer U extends any
|
|
|
391
399
|
*
|
|
392
400
|
* @see {@link https://reglejs.dev/core-concepts/rules/rules-operators#and Documentation}
|
|
393
401
|
*/
|
|
394
|
-
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>>;
|
|
402
|
+
declare function and<const TRules extends [FormRuleDeclaration<any, any>, ...FormRuleDeclaration<any, any>[]]>(...rules: [...TRules]): RegleRuleDefinition<'and', ExtractValueFromRules<TRules>[number], UnwrapTuples<ExtractParamsFromRules<TRules>>, GuessAsyncFromRules<TRules>, GuessMetadataFromRules<TRules>, ExtractValueFromRules<TRules>[number], ExtractValueFromRules<TRules>[number], GuessNoEmptyFromRules<TRules>>;
|
|
395
403
|
/**
|
|
396
404
|
* The `or` operator validates successfully if **at least one** of the provided rules is valid.
|
|
397
405
|
*
|
|
@@ -419,7 +427,35 @@ declare function and<const TRules extends [FormRuleDeclaration<any, any>, ...For
|
|
|
419
427
|
*
|
|
420
428
|
* @see {@link https://reglejs.dev/core-concepts/rules/rules-operators#or Documentation}
|
|
421
429
|
*/
|
|
422
|
-
declare function or<TRules extends [FormRuleDeclaration<any, any>, ...FormRuleDeclaration<any, any>[]]>(...rules: [...TRules]): RegleRuleDefinition<ExtractValueFromRules<TRules>[number], UnwrapTuples<ExtractParamsFromRules<TRules>>, GuessAsyncFromRules<TRules>, GuessMetadataFromRules<TRules>>;
|
|
430
|
+
declare function or<TRules extends [FormRuleDeclaration<any, any>, ...FormRuleDeclaration<any, any>[]]>(...rules: [...TRules]): RegleRuleDefinition<'or', ExtractValueFromRules<TRules>[number], UnwrapTuples<ExtractParamsFromRules<TRules>>, GuessAsyncFromRules<TRules>, GuessMetadataFromRules<TRules>>;
|
|
431
|
+
/**
|
|
432
|
+
* The `xor` operator validates successfully if **exactly one** of the provided rules is valid (exclusive or).
|
|
433
|
+
*
|
|
434
|
+
* @param rules - Two or more rules to combine
|
|
435
|
+
* @returns A combined rule that passes when exactly one of the provided rules passes
|
|
436
|
+
*
|
|
437
|
+
* @example
|
|
438
|
+
* ```ts
|
|
439
|
+
* import { useRegle } from '@regle/core';
|
|
440
|
+
* import { xor, contains, withMessage } from '@regle/rules';
|
|
441
|
+
*
|
|
442
|
+
* const { r$ } = useRegle(
|
|
443
|
+
* { code: '' },
|
|
444
|
+
* {
|
|
445
|
+
* code: {
|
|
446
|
+
* myError: withMessage(
|
|
447
|
+
* xor(contains('A'), contains('B')),
|
|
448
|
+
* ({ $params: [charA, charB] }) =>
|
|
449
|
+
* `Field should contain either "${charA}" or "${charB}", but not both`
|
|
450
|
+
* ),
|
|
451
|
+
* },
|
|
452
|
+
* }
|
|
453
|
+
* );
|
|
454
|
+
* ```
|
|
455
|
+
*
|
|
456
|
+
* @see {@link https://reglejs.dev/core-concepts/rules/rules-operators#xor Documentation}
|
|
457
|
+
*/
|
|
458
|
+
declare function xor<TRules extends [FormRuleDeclaration<any, any>, ...FormRuleDeclaration<any, any>[]]>(...rules: [...TRules]): RegleRuleDefinition<'xor', ExtractValueFromRules<TRules>[number], UnwrapTuples<ExtractParamsFromRules<TRules>>, GuessAsyncFromRules<TRules>, GuessMetadataFromRules<TRules>>;
|
|
423
459
|
/**
|
|
424
460
|
* The `not` operator passes when the provided rule **fails** and fails when the rule **passes**.
|
|
425
461
|
* It can be combined with other rules.
|
|
@@ -449,7 +485,7 @@ declare function or<TRules extends [FormRuleDeclaration<any, any>, ...FormRuleDe
|
|
|
449
485
|
*
|
|
450
486
|
* @see {@link https://reglejs.dev/core-concepts/rules/rules-operators#not Documentation}
|
|
451
487
|
*/
|
|
452
|
-
declare function not<TValue$1, TParams$1 extends any[] = [], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = RegleRuleMetadataDefinition, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1> | InlineRuleDeclaration<TValue$1, TParams$1, TReturn>, message?: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
488
|
+
declare function not<TType$1 extends string | unknown = unknown, TValue$1 = unknown, TParams$1 extends any[] = [], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = RegleRuleMetadataDefinition, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false)>(rule: RegleRuleDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1> | InlineRuleDeclaration<TValue$1, TParams$1, TReturn>, message?: RegleRuleDefinitionWithMetadataProcessor<TValue$1, RegleRuleMetadataConsumer<TValue$1, TParams$1, TMetadata$1>, string | string[]>): RegleRuleDefinition<IsUnknown<TType$1> extends true ? 'not' : `not:${TType$1 & string}`, TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
453
489
|
/**
|
|
454
490
|
* The `assignIf` is a shorthand for conditional destructuring assignment.
|
|
455
491
|
* It allows applying **multiple rules** to a field conditionally.
|
|
@@ -473,6 +509,37 @@ declare function not<TValue$1, TParams$1 extends any[] = [], TReturn extends Reg
|
|
|
473
509
|
* @see {@link https://reglejs.dev/core-concepts/rules/rules-operators#assignif Documentation}
|
|
474
510
|
*/
|
|
475
511
|
declare function assignIf<TValue$1 extends unknown = any, TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>, TRulesDelc extends RegleRuleDecl<TValue$1, TCustomRules> = RegleRuleDecl<TValue$1, TCustomRules>>(_condition: MaybeRefOrGetter<Maybe<boolean>>, rules: MaybeRefOrGetter<TRulesDelc>, otherwiseRules?: MaybeRefOrGetter<TRulesDelc>): ComputedRef<TRulesDelc>;
|
|
512
|
+
type PipeTupleToObject<TArray extends unknown[]> = { [Key in keyof TArray as TArray[Key] extends RegleRuleDefinition<infer TType extends string, any, any> ? `${TType & string}` : `anonymous${Key & (`${number}` | (IsTuple<TArray> extends true ? never : number))}`]: TArray[Key] };
|
|
513
|
+
interface PipeOptions {
|
|
514
|
+
debounce?: number;
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* The `pipe` operator chains multiple rules together, where each rule only runs
|
|
518
|
+
* if all previous rules have passed. This is useful for sequential validation
|
|
519
|
+
* where later rules depend on earlier ones passing.
|
|
520
|
+
*
|
|
521
|
+
* @param rules - Two or more rules to chain together
|
|
522
|
+
* @returns An object of rules that execute sequentially
|
|
523
|
+
*
|
|
524
|
+
* @example
|
|
525
|
+
* ```ts
|
|
526
|
+
* import { useRegle } from '@regle/core';
|
|
527
|
+
* import { pipe, required, minLength, email } from '@regle/rules';
|
|
528
|
+
*
|
|
529
|
+
* const { r$ } = useRegle(
|
|
530
|
+
* { email: '' },
|
|
531
|
+
* {
|
|
532
|
+
* email: pipe(required, minLength(5), email),
|
|
533
|
+
* }
|
|
534
|
+
* );
|
|
535
|
+
* // minLength only runs if required passes
|
|
536
|
+
* // email only runs if both required and minLength pass
|
|
537
|
+
* ```
|
|
538
|
+
*
|
|
539
|
+
* @see {@link https://reglejs.dev/core-concepts/rules/rules-operators#pipe Documentation}
|
|
540
|
+
*/
|
|
541
|
+
declare function pipe<const TRulesDelc extends [FormRuleDeclaration<any>, ...FormRuleDeclaration<any>[]]>(...rules: TRulesDelc): Prettify<PipeTupleToObject<TRulesDelc>>;
|
|
542
|
+
declare function pipe<const TRulesDelc extends [FormRuleDeclaration<any>, ...FormRuleDeclaration<any>[]]>(rules: TRulesDelc, options?: PipeOptions): Prettify<PipeTupleToObject<TRulesDelc>>;
|
|
476
543
|
/**
|
|
477
544
|
* Allows only alphabetic characters.
|
|
478
545
|
*
|
|
@@ -494,7 +561,7 @@ declare function assignIf<TValue$1 extends unknown = any, TCustomRules extends P
|
|
|
494
561
|
*
|
|
495
562
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#alpha Documentation}
|
|
496
563
|
*/
|
|
497
|
-
declare const alpha: RegleRuleWithParamsDefinition<string, [options?: CommonAlphaOptions | undefined], false, boolean, MaybeInput<string>, string>;
|
|
564
|
+
declare const alpha: RegleRuleWithParamsDefinition<'alpha', string, [options?: CommonAlphaOptions | undefined], false, boolean, MaybeInput<string>, string>;
|
|
498
565
|
/**
|
|
499
566
|
* Allows only alphanumeric characters.
|
|
500
567
|
*
|
|
@@ -516,7 +583,31 @@ declare const alpha: RegleRuleWithParamsDefinition<string, [options?: CommonAlph
|
|
|
516
583
|
*
|
|
517
584
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#alphanum Documentation}
|
|
518
585
|
*/
|
|
519
|
-
declare const alphaNum: RegleRuleWithParamsDefinition<string | number, [options?: CommonAlphaOptions | undefined], false, boolean, MaybeInput<string>>;
|
|
586
|
+
declare const alphaNum: RegleRuleWithParamsDefinition<'alphaNum', string | number, [options?: CommonAlphaOptions | undefined], false, boolean, MaybeInput<string>>;
|
|
587
|
+
interface AtLeastOneFn extends RegleRuleWithParamsDefinition<'atLeastOne', Record<string, unknown> | object, [keys?: string[] | undefined], false, boolean, false, Record<string, unknown> | object> {
|
|
588
|
+
<T extends Maybe<Record<string, unknown> | object> = Record<string, unknown>>(keys?: MaybeRefOrGetter<(keyof NoInfer<T> & string)[]>): RegleRuleDefinition<'atLeastOne', T, [keys?: (keyof NoInfer<T> & string)[] | undefined], false, boolean, false, T>;
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* Checks if at least one key is filled in the object.
|
|
592
|
+
*
|
|
593
|
+
* @example
|
|
594
|
+
* ```ts
|
|
595
|
+
* import { atLeastOne } from '@regle/rules';
|
|
596
|
+
*
|
|
597
|
+
* const { r$ } = useRegle({ user: { firstName: '', lastName: '' } }, {
|
|
598
|
+
* user: {
|
|
599
|
+
* atLeastOne,
|
|
600
|
+
* // or
|
|
601
|
+
* atLeastOne: atLeastOne(['firstName', 'lastName'])
|
|
602
|
+
* // or
|
|
603
|
+
* atLeastOne: atLeastOne<{ firstName: string; lastName: string }>(['firstName', 'lastName'])
|
|
604
|
+
* },
|
|
605
|
+
* });
|
|
606
|
+
* ```
|
|
607
|
+
*
|
|
608
|
+
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#atleastone Documentation}
|
|
609
|
+
*/
|
|
610
|
+
declare const atLeastOne: AtLeastOneFn;
|
|
520
611
|
/**
|
|
521
612
|
* Checks if a number is in specified bounds. `min` and `max` are both inclusive by default.
|
|
522
613
|
*
|
|
@@ -544,7 +635,7 @@ declare const alphaNum: RegleRuleWithParamsDefinition<string | number, [options?
|
|
|
544
635
|
*
|
|
545
636
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#between Documentation}
|
|
546
637
|
*/
|
|
547
|
-
declare const between: RegleRuleWithParamsDefinition<number, [min: number, max: number, options?: CommonComparisonOptions], false, boolean, MaybeInput<number>>;
|
|
638
|
+
declare const between: RegleRuleWithParamsDefinition<'between', number, [min: number, max: number, options?: CommonComparisonOptions], false, boolean, MaybeInput<number>>;
|
|
548
639
|
/**
|
|
549
640
|
* Requires a value to be a native boolean type.
|
|
550
641
|
*
|
|
@@ -564,7 +655,7 @@ declare const between: RegleRuleWithParamsDefinition<number, [min: number, max:
|
|
|
564
655
|
*
|
|
565
656
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#boolean Documentation}
|
|
566
657
|
*/
|
|
567
|
-
declare const boolean: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<boolean>, unknown>;
|
|
658
|
+
declare const boolean: RegleRuleDefinition<'boolean', unknown, [], false, boolean, MaybeInput<boolean>, unknown>;
|
|
568
659
|
/**
|
|
569
660
|
* Requires a boolean value to be `true`. This is useful for checkbox inputs like "accept terms".
|
|
570
661
|
*
|
|
@@ -579,7 +670,7 @@ declare const boolean: RegleRuleDefinition<unknown, [], false, boolean, MaybeInp
|
|
|
579
670
|
*
|
|
580
671
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#checked Documentation}
|
|
581
672
|
*/
|
|
582
|
-
declare const checked: RegleRuleDefinition<boolean, [], false, boolean, MaybeInput<boolean
|
|
673
|
+
declare const checked: RegleRuleDefinition<'checked', boolean, [], false, boolean, MaybeInput<boolean>, boolean, true>;
|
|
583
674
|
/**
|
|
584
675
|
* Checks if the string contains the specified substring.
|
|
585
676
|
*
|
|
@@ -598,7 +689,7 @@ declare const checked: RegleRuleDefinition<boolean, [], false, boolean, MaybeInp
|
|
|
598
689
|
*
|
|
599
690
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#contains Documentation}
|
|
600
691
|
*/
|
|
601
|
-
declare const contains: RegleRuleWithParamsDefinition<string, [part: MaybeInput<string>], false, boolean, MaybeInput<string>>;
|
|
692
|
+
declare const contains: RegleRuleWithParamsDefinition<'contains', string, [part: MaybeInput<string>], false, boolean, MaybeInput<string>>;
|
|
602
693
|
/**
|
|
603
694
|
* Requires a value to be a native `Date` constructor.
|
|
604
695
|
*
|
|
@@ -618,7 +709,7 @@ declare const contains: RegleRuleWithParamsDefinition<string, [part: MaybeInput<
|
|
|
618
709
|
*
|
|
619
710
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#date Documentation}
|
|
620
711
|
*/
|
|
621
|
-
declare const date: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<Date>, unknown>;
|
|
712
|
+
declare const date: RegleRuleDefinition<'date', unknown, [], false, boolean, MaybeInput<Date>, unknown>;
|
|
622
713
|
/**
|
|
623
714
|
* Checks if the date is after the given parameter.
|
|
624
715
|
*
|
|
@@ -641,7 +732,7 @@ declare const date: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<
|
|
|
641
732
|
*
|
|
642
733
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#dateafter Documentation}
|
|
643
734
|
*/
|
|
644
|
-
declare const dateAfter: RegleRuleWithParamsDefinition<string | Date, [after: MaybeInput<string | Date>, options?: CommonComparisonOptions], false, true | {
|
|
735
|
+
declare const dateAfter: RegleRuleWithParamsDefinition<'dateAfter', string | Date, [after: MaybeInput<string | Date>, options?: CommonComparisonOptions], false, true | {
|
|
645
736
|
$valid: false;
|
|
646
737
|
error: 'date-not-after';
|
|
647
738
|
} | {
|
|
@@ -670,7 +761,7 @@ declare const dateAfter: RegleRuleWithParamsDefinition<string | Date, [after: Ma
|
|
|
670
761
|
*
|
|
671
762
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#datebefore Documentation}
|
|
672
763
|
*/
|
|
673
|
-
declare const dateBefore: RegleRuleWithParamsDefinition<string | Date, [before: MaybeInput<string | Date>, options?: CommonComparisonOptions], false, true | {
|
|
764
|
+
declare const dateBefore: RegleRuleWithParamsDefinition<'dateBefore', string | Date, [before: MaybeInput<string | Date>, options?: CommonComparisonOptions], false, true | {
|
|
674
765
|
$valid: false;
|
|
675
766
|
error: 'date-not-before';
|
|
676
767
|
} | {
|
|
@@ -700,7 +791,7 @@ declare const dateBefore: RegleRuleWithParamsDefinition<string | Date, [before:
|
|
|
700
791
|
*
|
|
701
792
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#datebetween Documentation}
|
|
702
793
|
*/
|
|
703
|
-
declare const dateBetween: RegleRuleWithParamsDefinition<string | Date, [before: MaybeInput<string | Date>, after: MaybeInput<string | Date>, options?: CommonComparisonOptions], false, boolean, MaybeInput<string | Date>>;
|
|
794
|
+
declare const dateBetween: RegleRuleWithParamsDefinition<'dateBetween', string | Date, [before: MaybeInput<string | Date>, after: MaybeInput<string | Date>, options?: CommonComparisonOptions], false, boolean, MaybeInput<string | Date>>;
|
|
704
795
|
/**
|
|
705
796
|
* Allows positive and negative decimal numbers.
|
|
706
797
|
*
|
|
@@ -715,7 +806,7 @@ declare const dateBetween: RegleRuleWithParamsDefinition<string | Date, [before:
|
|
|
715
806
|
*
|
|
716
807
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#decimal Documentation}
|
|
717
808
|
*/
|
|
718
|
-
declare const decimal: RegleRuleDefinition<string | number, [], false, boolean, MaybeInput<number | undefined>>;
|
|
809
|
+
declare const decimal: RegleRuleDefinition<'decimal', string | number, [], false, boolean, MaybeInput<number | undefined>>;
|
|
719
810
|
/**
|
|
720
811
|
* Validates email addresses. Always verify on the server to ensure the address is real and not already in use.
|
|
721
812
|
*
|
|
@@ -730,7 +821,7 @@ declare const decimal: RegleRuleDefinition<string | number, [], false, boolean,
|
|
|
730
821
|
*
|
|
731
822
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#email Documentation}
|
|
732
823
|
*/
|
|
733
|
-
declare const email: RegleRuleDefinition<string, [], false, boolean, MaybeInput<string>>;
|
|
824
|
+
declare const email: RegleRuleDefinition<'email', string, [], false, boolean, MaybeInput<string>>;
|
|
734
825
|
/**
|
|
735
826
|
* Validates if the value is a valid emoji.
|
|
736
827
|
*
|
|
@@ -745,7 +836,7 @@ declare const email: RegleRuleDefinition<string, [], false, boolean, MaybeInput<
|
|
|
745
836
|
*
|
|
746
837
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#emoji Documentation}
|
|
747
838
|
*/
|
|
748
|
-
declare const emoji: RegleRuleDefinition<string, [], false, boolean, unknown, string>;
|
|
839
|
+
declare const emoji: RegleRuleDefinition<'emoji', string, [], false, boolean, unknown, string>;
|
|
749
840
|
/**
|
|
750
841
|
* Checks if the string ends with the specified substring.
|
|
751
842
|
*
|
|
@@ -762,7 +853,7 @@ declare const emoji: RegleRuleDefinition<string, [], false, boolean, unknown, st
|
|
|
762
853
|
*
|
|
763
854
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#endswith Documentation}
|
|
764
855
|
*/
|
|
765
|
-
declare const endsWith: RegleRuleWithParamsDefinition<string, [part: MaybeInput<string>], false, boolean, MaybeInput<string>>;
|
|
856
|
+
declare const endsWith: RegleRuleWithParamsDefinition<'endsWith', string, [part: MaybeInput<string>], false, boolean, MaybeInput<string>>;
|
|
766
857
|
/**
|
|
767
858
|
* Requires the input value to have a strict specified length. Works with arrays, objects and strings.
|
|
768
859
|
*
|
|
@@ -787,7 +878,7 @@ declare const endsWith: RegleRuleWithParamsDefinition<string, [part: MaybeInput<
|
|
|
787
878
|
*
|
|
788
879
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#exactdigits Documentation}
|
|
789
880
|
*/
|
|
790
|
-
declare const exactDigits: RegleRuleWithParamsDefinition<string | number, [count: number], false, boolean>;
|
|
881
|
+
declare const exactDigits: RegleRuleWithParamsDefinition<'exactDigits', string | number, [count: number], false, boolean>;
|
|
791
882
|
/**
|
|
792
883
|
* Requires the input value to have a strict specified length. Works with arrays, objects and strings.
|
|
793
884
|
*
|
|
@@ -812,7 +903,7 @@ declare const exactDigits: RegleRuleWithParamsDefinition<string | number, [count
|
|
|
812
903
|
*
|
|
813
904
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#exactlength Documentation}
|
|
814
905
|
*/
|
|
815
|
-
declare const exactLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [count: number], false, boolean>;
|
|
906
|
+
declare const exactLength: RegleRuleWithParamsDefinition<'exactLength', string | any[] | Record<PropertyKey, any>, [count: number], false, boolean>;
|
|
816
907
|
/**
|
|
817
908
|
* Requires a field to have a strict numeric value.
|
|
818
909
|
*
|
|
@@ -837,7 +928,7 @@ declare const exactLength: RegleRuleWithParamsDefinition<string | any[] | Record
|
|
|
837
928
|
*
|
|
838
929
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#exactvalue Documentation}
|
|
839
930
|
*/
|
|
840
|
-
declare const exactValue: RegleRuleWithParamsDefinition<number, [count: number], false, boolean, MaybeInput<number>>;
|
|
931
|
+
declare const exactValue: RegleRuleWithParamsDefinition<'exactValue', number, [count: number], false, boolean, MaybeInput<number>>;
|
|
841
932
|
/**
|
|
842
933
|
* Requires a value to be a native `File` constructor.
|
|
843
934
|
*
|
|
@@ -857,7 +948,7 @@ declare const exactValue: RegleRuleWithParamsDefinition<number, [count: number],
|
|
|
857
948
|
*
|
|
858
949
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#file Documentation}
|
|
859
950
|
*/
|
|
860
|
-
declare const file: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<File>, unknown>;
|
|
951
|
+
declare const file: RegleRuleDefinition<'file', unknown, [], false, boolean, MaybeInput<File>, unknown>;
|
|
861
952
|
/**
|
|
862
953
|
* Requires a value to be a file with a specific type.
|
|
863
954
|
*
|
|
@@ -876,7 +967,7 @@ declare const file: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<
|
|
|
876
967
|
*
|
|
877
968
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#filetype Documentation}
|
|
878
969
|
*/
|
|
879
|
-
declare const fileType: RegleRuleWithParamsDefinition<File, [accept: readonly string[]], false, boolean, unknown, File>;
|
|
970
|
+
declare const fileType: RegleRuleWithParamsDefinition<'fileType', File, [accept: readonly string[]], false, boolean, unknown, File>;
|
|
880
971
|
/**
|
|
881
972
|
* Validates hexadecimal values.
|
|
882
973
|
*
|
|
@@ -891,7 +982,7 @@ declare const fileType: RegleRuleWithParamsDefinition<File, [accept: readonly st
|
|
|
891
982
|
*
|
|
892
983
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#hexadecimal Documentation}
|
|
893
984
|
*/
|
|
894
|
-
declare const hexadecimal: RegleRuleDefinition<string, [], false, boolean, MaybeInput<string>>;
|
|
985
|
+
declare const hexadecimal: RegleRuleDefinition<'hexadecimal', string, [], false, boolean, MaybeInput<string>>;
|
|
895
986
|
/**
|
|
896
987
|
* Validates hostnames.
|
|
897
988
|
*
|
|
@@ -906,7 +997,7 @@ declare const hexadecimal: RegleRuleDefinition<string, [], false, boolean, Maybe
|
|
|
906
997
|
*
|
|
907
998
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#hostname Documentation}
|
|
908
999
|
*/
|
|
909
|
-
declare const hostname: RegleRuleDefinition<string, [], false, boolean, unknown, string>;
|
|
1000
|
+
declare const hostname: RegleRuleDefinition<'hostname', string, [], false, boolean, unknown, string>;
|
|
910
1001
|
interface UrlOptions {
|
|
911
1002
|
protocol?: RegExp;
|
|
912
1003
|
}
|
|
@@ -929,7 +1020,7 @@ interface UrlOptions {
|
|
|
929
1020
|
*
|
|
930
1021
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#url Documentation}
|
|
931
1022
|
*/
|
|
932
|
-
declare const url: RegleRuleWithParamsDefinition<string, [options?: UrlOptions | undefined], false, boolean, unknown, string>;
|
|
1023
|
+
declare const url: RegleRuleWithParamsDefinition<'url', string, [options?: UrlOptions | undefined], false, boolean, unknown, string>;
|
|
933
1024
|
/**
|
|
934
1025
|
* Validates HTTP URLs.
|
|
935
1026
|
*
|
|
@@ -949,7 +1040,7 @@ declare const url: RegleRuleWithParamsDefinition<string, [options?: UrlOptions |
|
|
|
949
1040
|
*
|
|
950
1041
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#httpurl Documentation}
|
|
951
1042
|
*/
|
|
952
|
-
declare const httpUrl: RegleRuleWithParamsDefinition<string, [options?: UrlOptions | undefined], false, boolean, unknown, string>;
|
|
1043
|
+
declare const httpUrl: RegleRuleWithParamsDefinition<'httpUrl', string, [options?: UrlOptions | undefined], false, boolean, unknown, string>;
|
|
953
1044
|
/**
|
|
954
1045
|
* Allows only integers (positive and negative).
|
|
955
1046
|
*
|
|
@@ -964,7 +1055,7 @@ declare const httpUrl: RegleRuleWithParamsDefinition<string, [options?: UrlOptio
|
|
|
964
1055
|
*
|
|
965
1056
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#integer Documentation}
|
|
966
1057
|
*/
|
|
967
|
-
declare const integer: RegleRuleDefinition<string | number, [], false, boolean, MaybeInput<number>>;
|
|
1058
|
+
declare const integer: RegleRuleDefinition<'integer', string | number, [], false, boolean, MaybeInput<number>>;
|
|
968
1059
|
/**
|
|
969
1060
|
* Validates IPv4 addresses in dotted decimal notation (e.g., `127.0.0.1`).
|
|
970
1061
|
*
|
|
@@ -979,7 +1070,7 @@ declare const integer: RegleRuleDefinition<string | number, [], false, boolean,
|
|
|
979
1070
|
*
|
|
980
1071
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#ipv4address Documentation}
|
|
981
1072
|
*/
|
|
982
|
-
declare const ipv4Address: RegleRuleDefinition<string, [], false, boolean, MaybeInput<string>>;
|
|
1073
|
+
declare const ipv4Address: RegleRuleDefinition<'ipv4Address', string, [], false, boolean, MaybeInput<string>>;
|
|
983
1074
|
/**
|
|
984
1075
|
* Allow only one possible literal value.
|
|
985
1076
|
*
|
|
@@ -996,7 +1087,7 @@ declare const ipv4Address: RegleRuleDefinition<string, [], false, boolean, Maybe
|
|
|
996
1087
|
*
|
|
997
1088
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#literal Documentation}
|
|
998
1089
|
*/
|
|
999
|
-
declare function literal<const TValue$1 extends string | number>(literal: MaybeRefOrGetter<TValue$1>): RegleRuleDefinition<TValue$1, [literal: TValue$1], false, boolean, MaybeInput<TValue$1>, string | number>;
|
|
1090
|
+
declare function literal<const TValue$1 extends string | number>(literal: MaybeRefOrGetter<TValue$1>): RegleRuleDefinition<'literal', TValue$1, [literal: TValue$1], false, boolean, MaybeInput<TValue$1>, string | number, true>;
|
|
1000
1091
|
/**
|
|
1001
1092
|
* Validates lowercase strings.
|
|
1002
1093
|
*
|
|
@@ -1011,7 +1102,7 @@ declare function literal<const TValue$1 extends string | number>(literal: MaybeR
|
|
|
1011
1102
|
*
|
|
1012
1103
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#lowercase Documentation}
|
|
1013
1104
|
*/
|
|
1014
|
-
declare const lowercase: RegleRuleDefinition<string, [], false, boolean, unknown, string>;
|
|
1105
|
+
declare const lowercase: RegleRuleDefinition<'lowercase', string, [], false, boolean, unknown, string>;
|
|
1015
1106
|
/**
|
|
1016
1107
|
* Validates MAC addresses. Call as a function to specify a custom separator (e.g., `':'` or an empty string for `00ff1122334455`).
|
|
1017
1108
|
*
|
|
@@ -1032,7 +1123,7 @@ declare const lowercase: RegleRuleDefinition<string, [], false, boolean, unknown
|
|
|
1032
1123
|
*
|
|
1033
1124
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#macaddress Documentation}
|
|
1034
1125
|
*/
|
|
1035
|
-
declare const macAddress: RegleRuleWithParamsDefinition<string, [separator?: string | undefined], false, boolean, MaybeInput<string>>;
|
|
1126
|
+
declare const macAddress: RegleRuleWithParamsDefinition<'macAddress', string, [separator?: string | undefined], false, boolean, MaybeInput<string>>;
|
|
1036
1127
|
/**
|
|
1037
1128
|
* Requires a value to be a file with a maximum size.
|
|
1038
1129
|
*
|
|
@@ -1051,7 +1142,7 @@ declare const macAddress: RegleRuleWithParamsDefinition<string, [separator?: str
|
|
|
1051
1142
|
*
|
|
1052
1143
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#maxfilesize Documentation}
|
|
1053
1144
|
*/
|
|
1054
|
-
declare const maxFileSize: RegleRuleWithParamsDefinition<File, [maxSize: number], false, true | {
|
|
1145
|
+
declare const maxFileSize: RegleRuleWithParamsDefinition<'maxFileSize', File, [maxSize: number], false, true | {
|
|
1055
1146
|
$valid: boolean;
|
|
1056
1147
|
fileSize: number;
|
|
1057
1148
|
}, unknown, File>;
|
|
@@ -1081,7 +1172,7 @@ declare const maxFileSize: RegleRuleWithParamsDefinition<File, [maxSize: number]
|
|
|
1081
1172
|
*
|
|
1082
1173
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#maxlength Documentation}
|
|
1083
1174
|
*/
|
|
1084
|
-
declare const maxLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [max: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1175
|
+
declare const maxLength: RegleRuleWithParamsDefinition<'maxLength', string | any[] | Record<PropertyKey, any>, [max: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1085
1176
|
/**
|
|
1086
1177
|
* Requires a field to have a specified maximum numeric value.
|
|
1087
1178
|
*
|
|
@@ -1108,7 +1199,7 @@ declare const maxLength: RegleRuleWithParamsDefinition<string | any[] | Record<P
|
|
|
1108
1199
|
*
|
|
1109
1200
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#maxvalue Documentation}
|
|
1110
1201
|
*/
|
|
1111
|
-
declare const maxValue: RegleRuleWithParamsDefinition<number | string, [max: number | string, options?: CommonComparisonOptions], false, boolean, MaybeInput<number | string>>;
|
|
1202
|
+
declare const maxValue: RegleRuleWithParamsDefinition<'maxValue', number | string, [max: number | string, options?: CommonComparisonOptions], false, boolean, MaybeInput<number | string>>;
|
|
1112
1203
|
/**
|
|
1113
1204
|
* Requires a value to be a file with a minimum size.
|
|
1114
1205
|
*
|
|
@@ -1127,7 +1218,7 @@ declare const maxValue: RegleRuleWithParamsDefinition<number | string, [max: num
|
|
|
1127
1218
|
*
|
|
1128
1219
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#minfilesize Documentation}
|
|
1129
1220
|
*/
|
|
1130
|
-
declare const minFileSize: RegleRuleWithParamsDefinition<File, [minSize: number], false, true | {
|
|
1221
|
+
declare const minFileSize: RegleRuleWithParamsDefinition<'minFileSize', File, [minSize: number], false, true | {
|
|
1131
1222
|
$valid: boolean;
|
|
1132
1223
|
fileSize: number;
|
|
1133
1224
|
}, unknown, File>;
|
|
@@ -1157,7 +1248,7 @@ declare const minFileSize: RegleRuleWithParamsDefinition<File, [minSize: number]
|
|
|
1157
1248
|
*
|
|
1158
1249
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#minlength Documentation}
|
|
1159
1250
|
*/
|
|
1160
|
-
declare const minLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [min: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1251
|
+
declare const minLength: RegleRuleWithParamsDefinition<'minLength', string | any[] | Record<PropertyKey, any>, [min: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1161
1252
|
/**
|
|
1162
1253
|
* Requires a field to have a specified minimum numeric value.
|
|
1163
1254
|
*
|
|
@@ -1184,7 +1275,7 @@ declare const minLength: RegleRuleWithParamsDefinition<string | any[] | Record<P
|
|
|
1184
1275
|
*
|
|
1185
1276
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#minvalue Documentation}
|
|
1186
1277
|
*/
|
|
1187
|
-
declare const minValue: RegleRuleWithParamsDefinition<number | string, [min: number | string, options?: CommonComparisonOptions], false, boolean, MaybeInput<number | string>>;
|
|
1278
|
+
declare const minValue: RegleRuleWithParamsDefinition<'minValue', number | string, [min: number | string, options?: CommonComparisonOptions], false, boolean, MaybeInput<number | string>>;
|
|
1188
1279
|
type EnumLike = {
|
|
1189
1280
|
[k: string]: string | number;
|
|
1190
1281
|
[nu: number]: string;
|
|
@@ -1209,7 +1300,7 @@ type EnumLike = {
|
|
|
1209
1300
|
*
|
|
1210
1301
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#nativeenum Documentation}
|
|
1211
1302
|
*/
|
|
1212
|
-
declare function nativeEnum<T extends EnumLike>(enumLike: T): RegleRuleDefinition<MaybeInput<T[keyof T]>, [enumLike: T], false, boolean, MaybeInput<T[keyof T]>, string | number>;
|
|
1303
|
+
declare function nativeEnum<T extends EnumLike>(enumLike: T): RegleRuleDefinition<'nativeEnum', MaybeInput<T[keyof T]>, [enumLike: T], false, boolean, MaybeInput<T[keyof T]>, string | number>;
|
|
1213
1304
|
/**
|
|
1214
1305
|
* Requires a value to be a native number type.
|
|
1215
1306
|
*
|
|
@@ -1229,7 +1320,7 @@ declare function nativeEnum<T extends EnumLike>(enumLike: T): RegleRuleDefinitio
|
|
|
1229
1320
|
*
|
|
1230
1321
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#number Documentation}
|
|
1231
1322
|
*/
|
|
1232
|
-
declare const number: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<number>, unknown>;
|
|
1323
|
+
declare const number: RegleRuleDefinition<'number', unknown, [], false, boolean, MaybeInput<number>, unknown>;
|
|
1233
1324
|
/**
|
|
1234
1325
|
* Allows only numeric values (including numeric strings).
|
|
1235
1326
|
*
|
|
@@ -1244,11 +1335,11 @@ declare const number: RegleRuleDefinition<unknown, [], false, boolean, MaybeInpu
|
|
|
1244
1335
|
*
|
|
1245
1336
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#numeric Documentation}
|
|
1246
1337
|
*/
|
|
1247
|
-
declare const numeric: RegleRuleDefinition<string | number, [], false, boolean, MaybeInput<string | number>>;
|
|
1338
|
+
declare const numeric: RegleRuleDefinition<'numeric', string | number, [], false, boolean, MaybeInput<string | number>>;
|
|
1248
1339
|
interface OneOfFn {
|
|
1249
|
-
<const TValues extends NonEmptyTuple<string | number> | NonEmptyTuple<string> | NonEmptyTuple<number>>(options: MaybeReadonly<MaybeRefOrGetter<[...TValues]>>): RegleRuleDefinition<TValues[number], [options: TValues], false, boolean, MaybeInput<TValues[number]>, string | number>;
|
|
1340
|
+
<const TValues extends NonEmptyTuple<string | number> | NonEmptyTuple<string> | NonEmptyTuple<number>>(options: MaybeReadonly<MaybeRefOrGetter<[...TValues]>>): RegleRuleDefinition<'oneOf', TValues[number], [options: TValues], false, boolean, MaybeInput<TValues[number]>, string | number>;
|
|
1250
1341
|
/** Keep this definition without generics for inference */
|
|
1251
|
-
(options: MaybeReadonly<MaybeRefOrGetter<[...[string | number, ...(string | number)[]]]>>): RegleRuleDefinition<string | number, [options: readonly [string | number, ...(string | number)[]]], false, boolean, MaybeInput<string | number>, string | number>;
|
|
1342
|
+
(options: MaybeReadonly<MaybeRefOrGetter<[...[string | number, ...(string | number)[]]]>>): RegleRuleDefinition<'oneOf', string | number, [options: readonly [string | number, ...(string | number)[]]], false, boolean, MaybeInput<string | number>, string | number>;
|
|
1252
1343
|
}
|
|
1253
1344
|
/**
|
|
1254
1345
|
* Allow only one of the values from a fixed Array of possible entries.
|
|
@@ -1289,7 +1380,7 @@ declare const oneOf: OneOfFn;
|
|
|
1289
1380
|
*
|
|
1290
1381
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#regex Documentation}
|
|
1291
1382
|
*/
|
|
1292
|
-
declare const regex: RegleRuleWithParamsDefinition<string | number, [regexp: RegExp | RegExp[]], false, boolean, MaybeInput<string | number>>;
|
|
1383
|
+
declare const regex: RegleRuleWithParamsDefinition<'regex', string | number, [regexp: RegExp | RegExp[]], false, boolean, MaybeInput<string | number>>;
|
|
1293
1384
|
/**
|
|
1294
1385
|
* Requires non-empty data. Checks for empty arrays and strings containing only whitespaces.
|
|
1295
1386
|
*
|
|
@@ -1304,7 +1395,7 @@ declare const regex: RegleRuleWithParamsDefinition<string | number, [regexp: Reg
|
|
|
1304
1395
|
*
|
|
1305
1396
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#required Documentation}
|
|
1306
1397
|
*/
|
|
1307
|
-
declare const required: RegleRuleDefinition<unknown, [], false, boolean, unknown>;
|
|
1398
|
+
declare const required: RegleRuleDefinition<'required', unknown, [], false, boolean, unknown, unknown, true>;
|
|
1308
1399
|
/**
|
|
1309
1400
|
* Requires non-empty data, only if provided data property, ref, or a function resolves to `true`.
|
|
1310
1401
|
*
|
|
@@ -1328,7 +1419,7 @@ declare const required: RegleRuleDefinition<unknown, [], false, boolean, unknown
|
|
|
1328
1419
|
*
|
|
1329
1420
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#requiredif Documentation}
|
|
1330
1421
|
*/
|
|
1331
|
-
declare const requiredIf: RegleRuleWithParamsDefinition<unknown, [condition: boolean], false, boolean>;
|
|
1422
|
+
declare const requiredIf: RegleRuleWithParamsDefinition<'required', unknown, [condition: boolean], false, boolean>;
|
|
1332
1423
|
/**
|
|
1333
1424
|
* Requires non-empty data, only if provided data property, ref, or a function resolves to `false`.
|
|
1334
1425
|
*
|
|
@@ -1352,11 +1443,11 @@ declare const requiredIf: RegleRuleWithParamsDefinition<unknown, [condition: boo
|
|
|
1352
1443
|
*
|
|
1353
1444
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#requiredunless Documentation}
|
|
1354
1445
|
*/
|
|
1355
|
-
declare const requiredUnless: RegleRuleWithParamsDefinition<unknown, [condition: boolean], false, boolean>;
|
|
1446
|
+
declare const requiredUnless: RegleRuleWithParamsDefinition<'required', unknown, [condition: boolean], false, boolean>;
|
|
1356
1447
|
interface SameAsFn {
|
|
1357
|
-
<TTarget extends unknown = unknown>(target: MaybeRefOrGetter<TTarget>, otherName?: MaybeRefOrGetter<string>): RegleRuleDefinition<TTarget, [target: TTarget, otherName?: string], false, boolean, TTarget extends MaybeInput<infer M> ? M : MaybeInput<TTarget>>;
|
|
1448
|
+
<TTarget extends unknown = unknown>(target: MaybeRefOrGetter<TTarget>, otherName?: MaybeRefOrGetter<string>): RegleRuleDefinition<'sameAs', TTarget, [target: TTarget, otherName?: string], false, boolean, TTarget extends MaybeInput<infer M> ? M : MaybeInput<TTarget>>;
|
|
1358
1449
|
/** Keep this definition without generics for inference */
|
|
1359
|
-
(target: MaybeRefOrGetter<unknown>, otherName?: MaybeRefOrGetter<string>): RegleRuleDefinition<unknown, [target: any, otherName?: string], false, boolean, unknown extends MaybeInput<infer M> ? M : MaybeInput<unknown>>;
|
|
1450
|
+
(target: MaybeRefOrGetter<unknown>, otherName?: MaybeRefOrGetter<string>): RegleRuleDefinition<'sameAs', unknown, [target: any, otherName?: string], false, boolean, unknown extends MaybeInput<infer M> ? M : MaybeInput<unknown>>;
|
|
1360
1451
|
}
|
|
1361
1452
|
/**
|
|
1362
1453
|
* Checks if the value matches the specified property or ref. Useful for password confirmation fields.
|
|
@@ -1401,7 +1492,7 @@ declare const sameAs: SameAsFn;
|
|
|
1401
1492
|
*
|
|
1402
1493
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#startswith Documentation}
|
|
1403
1494
|
*/
|
|
1404
|
-
declare const startsWith: RegleRuleWithParamsDefinition<string, [part: MaybeInput<string>], false, boolean, MaybeInput<string>>;
|
|
1495
|
+
declare const startsWith: RegleRuleWithParamsDefinition<'startsWith', string, [part: MaybeInput<string>], false, boolean, MaybeInput<string>>;
|
|
1405
1496
|
/**
|
|
1406
1497
|
* Requires a value to be a native string type.
|
|
1407
1498
|
*
|
|
@@ -1421,7 +1512,7 @@ declare const startsWith: RegleRuleWithParamsDefinition<string, [part: MaybeInpu
|
|
|
1421
1512
|
*
|
|
1422
1513
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#string Documentation}
|
|
1423
1514
|
*/
|
|
1424
|
-
declare const string: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<string>, unknown>;
|
|
1515
|
+
declare const string: RegleRuleDefinition<'string', unknown, [], false, boolean, MaybeInput<string>, unknown>;
|
|
1425
1516
|
/**
|
|
1426
1517
|
* Define the input type of a rule. No runtime validation.
|
|
1427
1518
|
*
|
|
@@ -1442,7 +1533,7 @@ declare const string: RegleRuleDefinition<unknown, [], false, boolean, MaybeInpu
|
|
|
1442
1533
|
*
|
|
1443
1534
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#type Documentation}
|
|
1444
1535
|
*/
|
|
1445
|
-
declare function type
|
|
1536
|
+
declare function type<T>(): RegleRuleDefinition<'type', unknown, [], false, boolean, MaybeInput<T>>;
|
|
1446
1537
|
/**
|
|
1447
1538
|
* Validates uppercase strings.
|
|
1448
1539
|
*
|
|
@@ -1457,5 +1548,5 @@ declare function type$1<T>(): RegleRuleDefinition<unknown, [], false, boolean, M
|
|
|
1457
1548
|
*
|
|
1458
1549
|
* @see {@link https://reglejs.dev/core-concepts/rules/built-in-rules#uppercase Documentation}
|
|
1459
1550
|
*/
|
|
1460
|
-
declare const uppercase: RegleRuleDefinition<string, [], false, boolean, unknown, string>;
|
|
1461
|
-
export { EnumLike, UrlOptions, alpha, alphaNum, and, applyIf, assignIf, between, boolean, checked, contains, date, dateAfter, dateBefore, dateBetween, decimal, email, emoji, endsWith, exactDigits, exactLength, exactValue, file, fileType, getSize, hexadecimal, hostname, httpUrl, integer, ipv4Address, isDate, isEmpty, isFilled, isNumber, literal, lowercase, macAddress, matchRegex, maxFileSize, maxLength, maxValue, minFileSize, minLength, minValue, nativeEnum, not, number, numeric, oneOf, or, regex, required, requiredIf, requiredUnless, sameAs, startsWith, string, toDate, toNumber, type
|
|
1551
|
+
declare const uppercase: RegleRuleDefinition<'uppercase', string, [], false, boolean, unknown, string>;
|
|
1552
|
+
export { EnumLike, UrlOptions, alpha, alphaNum, and, applyIf, assignIf, atLeastOne, between, boolean, checked, contains, date, dateAfter, dateBefore, dateBetween, decimal, email, emoji, endsWith, exactDigits, exactLength, exactValue, file, fileType, getSize, hexadecimal, hostname, httpUrl, integer, ipv4Address, isDate, isEmpty, isFilled, isNumber, literal, lowercase, macAddress, matchRegex, maxFileSize, maxLength, maxValue, minFileSize, minLength, minValue, nativeEnum, not, number, numeric, oneOf, or, pipe, regex, required, requiredIf, requiredUnless, sameAs, startsWith, string, toDate, toNumber, type, uppercase, url, withAsync, withMessage, withParams, withTooltip, xor };
|