@regle/core 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-core.d.ts +180 -157
- package/dist/regle-core.js +129 -85
- package/dist/regle-core.min.js +2 -2
- package/package.json +1 -1
package/dist/regle-core.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @regle/core v1.
|
|
2
|
+
* @regle/core v1.18.0-beta.2
|
|
3
3
|
* (c) 2026 Victor Garcia
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -62,7 +62,7 @@ interface RegleBehaviourOptions {
|
|
|
62
62
|
*/
|
|
63
63
|
immediateDirty?: boolean | undefined;
|
|
64
64
|
}
|
|
65
|
-
interface LocalRegleBehaviourOptions<TState$1 extends Record<string, any>, TRules$1 extends ReglePartialRuleTree<TState$1
|
|
65
|
+
interface LocalRegleBehaviourOptions<TState$1 extends Record<string, any>, TRules$1 extends ReglePartialRuleTree<TState$1>, TValidationGroups extends Record<string, RegleValidationGroupEntry[]> = {}> {
|
|
66
66
|
/**
|
|
67
67
|
* A dictionary of external errors to be injected into the field statuses.
|
|
68
68
|
*
|
|
@@ -227,7 +227,7 @@ type RegleResult<Data extends Record<string, any> | any[] | unknown, TRules$1 ex
|
|
|
227
227
|
/** The result of the validation */
|
|
228
228
|
valid: false;
|
|
229
229
|
/** Output data, filter the result by checking the `valid` property */
|
|
230
|
-
data: IsUnknown<Data> extends true ? unknown : IsAny<Data> extends true ? unknown : HasNamedKeys<Data> extends true ? NonNullable<Data> extends Date | File ? MaybeOutput<Raw<Data>> : NonNullable<Data> extends Array<infer U extends Record<string, any>> ? PartialFormState<U>[] : NonNullable<Data> extends Record<string, any> ? PartialFormState<NonNullable<Data>> : MaybeOutput<Data> : unknown;
|
|
230
|
+
data: IsUnknown<Data> extends true ? unknown : IsAny<Data> extends true ? unknown : IsEmptyObject<TRules$1> extends true ? MaybeOutput<Data> : HasNamedKeys<Data> extends true ? NonNullable<Data> extends Date | File ? MaybeOutput<Raw<Data>> : NonNullable<Data> extends Array<infer U extends Record<string, any>> ? PartialFormState<U>[] : NonNullable<Data> extends Record<string, any> ? PartialFormState<NonNullable<Data>> : MaybeOutput<Data> : unknown;
|
|
231
231
|
/**
|
|
232
232
|
* Collection of all the error messages, collected for all children properties and nested forms.
|
|
233
233
|
*
|
|
@@ -242,7 +242,7 @@ type RegleResult<Data extends Record<string, any> | any[] | unknown, TRules$1 ex
|
|
|
242
242
|
errors: DataTypeRegleErrors<Data>;
|
|
243
243
|
} | {
|
|
244
244
|
valid: true;
|
|
245
|
-
data: IsUnknown<Data> extends true ? unknown : IsAny<Data> extends true ? unknown : HasNamedKeys<Data> extends true ? NonNullable<Data> extends Array<infer U extends Record<string, any>> ? DeepSafeFormState<U, TRules$1>[] : NonNullable<Data> extends Date | File ? SafeFieldProperty<Raw<NonNullable<Data>>, TRules$1> : NonNullable<Data> extends Record<string, any> ? DeepSafeFormState<NonNullable<Data>, TRules$1> : SafeFieldProperty<Data, TRules$1> : unknown;
|
|
245
|
+
data: IsUnknown<Data> extends true ? unknown : IsAny<Data> extends true ? unknown : IsEmptyObject<TRules$1> extends true ? MaybeOutput<Data> : HasNamedKeys<Data> extends true ? NonNullable<Data> extends Array<infer U extends Record<string, any>> ? DeepSafeFormState<U, TRules$1 extends ReglePartialRuleTree<any> ? TRules$1 : {}>[] : NonNullable<Data> extends Date | File ? SafeFieldProperty<Raw<NonNullable<Data>>, TRules$1 extends ReglePartialRuleTree<any> ? TRules$1 : {}> : NonNullable<Data> extends Record<string, any> ? DeepSafeFormState<NonNullable<Data>, TRules$1 extends ReglePartialRuleTree<any> ? TRules$1 : {}> : SafeFieldProperty<Data, TRules$1 extends ReglePartialRuleTree<any> ? TRules$1 : {}> : unknown;
|
|
246
246
|
issues: EmptyObject;
|
|
247
247
|
errors: EmptyObject;
|
|
248
248
|
};
|
|
@@ -272,12 +272,14 @@ type $InternalRegleResult = {
|
|
|
272
272
|
errors: $InternalRegleErrorTree | $InternalRegleCollectionErrors | string[];
|
|
273
273
|
issues: $InternalRegleIssuesTree | $InternalRegleCollectionIssues | RegleFieldIssue[];
|
|
274
274
|
};
|
|
275
|
-
type DeepSafeFormState<TState$1 extends Record<string, any>, TRules$1 extends ReglePartialRuleTree<Record<string, any>, CustomRulesDeclarationTree> |
|
|
276
|
-
type FieldHaveRequiredRule<TRule extends RegleFormPropertyType<any, any> | undefined = never> = TRule extends MaybeRefOrComputedRef<RegleRuleDecl<any, any>> ? [
|
|
277
|
-
type ObjectHaveAtLeastOneRequiredField<TState$1 extends Record<string, any>,
|
|
275
|
+
type DeepSafeFormState<TState$1 extends Record<string, any>, TRules$1 extends ReglePartialRuleTree<Record<string, any>, CustomRulesDeclarationTree> | undefined> = [unknown] extends [TState$1] ? {} : TRules$1 extends undefined ? TState$1 : TRules$1 extends ReglePartialRuleTree<TState$1, CustomRulesDeclarationTree> ? Prettify<{ [K in keyof TState$1 as IsPropertyOutputRequired<TState$1[K], TRules$1[K]> extends false ? K : never]?: SafeProperty<TState$1[K], TRules$1[K]> extends MaybeInput<infer M> ? MaybeOutput<M> : SafeProperty<TState$1[K], TRules$1[K]> } & { [K in keyof TState$1 as IsPropertyOutputRequired<TState$1[K], TRules$1[K]> extends false ? never : K]-?: unknown extends SafeProperty<TState$1[K], TRules$1[K]> ? unknown : NonNullable<SafeProperty<TState$1[K], TRules$1[K]>> }> : TState$1;
|
|
276
|
+
type FieldHaveRequiredRule<TRule extends RegleFormPropertyType<any, any> | undefined = never> = TRule extends MaybeRefOrComputedRef<RegleRuleDecl<any, any>> ? { [K in keyof UnwrapRef<TRule>]-?: UnwrapRef<TRule>[K] extends RegleRuleDefinition<unknown, any, any[], any, any, any, any, true> ? true : false }[keyof UnwrapRef<TRule>] extends false ? false : true : false;
|
|
277
|
+
type ObjectHaveAtLeastOneRequiredField<TState$1 extends Record<string, any>, TRules$1 extends ReglePartialRuleTree<TState$1, any>> = TState$1 extends Maybe<TState$1> ? ({ [K in keyof NonNullable<TState$1>]-?: IsPropertyOutputRequired<NonNullable<TState$1>[K], TRules$1[K] extends RegleFormPropertyType<any, any> ? TRules$1[K] : {}> } & {
|
|
278
|
+
$self: IsPropertyOutputRequired<string, TRules$1['$self']>;
|
|
279
|
+
})[keyof TState$1 | '$self'] extends false ? false : true : true;
|
|
278
280
|
type ArrayHaveAtLeastOneRequiredField<TState$1 extends Maybe<any[]>, TRule extends RegleCollectionRuleDecl<TState$1>> = TState$1 extends Maybe<TState$1> ? FieldHaveRequiredRule<Omit<TRule, '$each'> extends MaybeRef<RegleRuleDecl> ? Omit<UnwrapRef<TRule>, '$each'> : {}> | ObjectHaveAtLeastOneRequiredField<ArrayElement<NonNullable<TState$1>>, ExtractFromGetter<TRule['$each']> extends undefined ? {} : NonNullable<ExtractFromGetter<TRule['$each']>>> extends false ? false : true : true;
|
|
279
281
|
type SafeProperty<TState$1, TRule extends RegleFormPropertyType<any, any> | undefined> = unknown extends TState$1 ? unknown : TRule extends RegleCollectionRuleDecl<any, any> ? TState$1 extends Array<infer U extends Record<string, any>> ? DeepSafeFormState<U, ExtractFromGetter<TRule['$each']>>[] : TState$1 : TRule extends ReglePartialRuleTree<any, any> ? ExtendOnlyRealRecord<TState$1> extends true ? DeepSafeFormState<NonNullable<TState$1> extends Record<string, any> ? JoinDiscriminatedUnions<NonNullable<TState$1>> : {}, TRule> : TRule extends MaybeRef<RegleRuleDecl<any, any>> ? FieldHaveRequiredRule<UnwrapRef<TRule>> extends true ? TState$1 : MaybeOutput<TState$1> : TState$1 : TState$1;
|
|
280
|
-
type IsPropertyOutputRequired<TState$1, TRule extends RegleFormPropertyType<any, any> | undefined> = [unknown] extends [TState$1] ? unknown : NonNullable<TState$1> extends Array<any> ? TRule extends RegleCollectionRuleDecl<any, any> ? ArrayHaveAtLeastOneRequiredField<NonNullable<TState$1>, TRule> extends false ? false : true : false : TRule extends ReglePartialRuleTree<any, any> ? ExtendOnlyRealRecord<TState$1> extends true ? ObjectHaveAtLeastOneRequiredField<NonNullable<TState$1> extends Record<string, any> ? NonNullable<TState$1> : {}, TRule> extends false ? false : true : TRule extends MaybeRef<RegleRuleDecl<any, any>> ? FieldHaveRequiredRule<UnwrapRef<TRule>> extends false ? false : true : false : false;
|
|
282
|
+
type IsPropertyOutputRequired<TState$1, TRule extends RegleFormPropertyType<any, any> | undefined> = [unknown] extends [TState$1] ? unknown : NonNullable<TState$1> extends Array<any> ? TRule extends RegleCollectionRuleDecl<any, any> ? ArrayHaveAtLeastOneRequiredField<NonNullable<TState$1>, TRule> extends false ? false : true : false : TRule extends ReglePartialRuleTree<any, any> ? ExtendOnlyRealRecord<TState$1> extends true ? ObjectHaveAtLeastOneRequiredField<NonNullable<TState$1> extends Record<string, any> ? NonNullable<TState$1> : {}, TRule extends ReglePartialRuleTree<NonNullable<TState$1> extends Record<string, any> ? NonNullable<TState$1> : {}, any> ? TRule : {}> extends false ? false : true : TRule extends MaybeRef<RegleRuleDecl<any, any>> ? FieldHaveRequiredRule<UnwrapRef<TRule>> extends false ? false : true : false : false;
|
|
281
283
|
type SafeFieldProperty<TState$1, TRule extends RegleFormPropertyType<any, any> | undefined = never> = FieldHaveRequiredRule<TRule> extends true ? NonNullable<TState$1> : MaybeOutput<TState$1>;
|
|
282
284
|
/** Types to be augmented by @regle/schemas */
|
|
283
285
|
interface NarrowVariantExtracts {}
|
|
@@ -306,10 +308,10 @@ type ProcessChildrenFields<TState$1 extends Record<string, any> | undefined, TRu
|
|
|
306
308
|
type FindCorrespondingVariant<TState$1 extends Record<string, any>, TRules$1 extends any[]> = TRules$1 extends [infer F, ...infer R] ? F extends ReglePartialRuleTree<TState$1> ? [F] : FindCorrespondingVariant<TState$1, R> : [];
|
|
307
309
|
type PossibleLiteralTypes<T extends Record<string, any>, TKey$1 extends keyof T> = unknown extends T[TKey$1] ? {
|
|
308
310
|
[x: string]: { [K in TKey$1]-?: Omit<RegleRuleDecl<any, Partial<ExtendedRulesDeclarations>>, 'literal'> & {
|
|
309
|
-
literal?: RegleRuleDefinition<any, [literal: any], false, boolean, any, string | number>;
|
|
311
|
+
literal?: RegleRuleDefinition<'literal', any, [literal: any], false, boolean, any, string | number, true>;
|
|
310
312
|
} };
|
|
311
313
|
} : { [TVal in NonNullable<T[TKey$1]>]: { [K in TKey$1]-?: Omit<RegleRuleDecl<TVal, Partial<ExtendedRulesDeclarations>>, 'literal'> & {
|
|
312
|
-
literal?: RegleRuleDefinition<MaybeInput<TVal>, [literal: TVal], false, boolean, MaybeInput<TVal>, string | number>;
|
|
314
|
+
literal?: RegleRuleDefinition<'literal', MaybeInput<TVal>, [literal: TVal], false, boolean, MaybeInput<TVal>, string | number, true>;
|
|
313
315
|
} } };
|
|
314
316
|
type RequiredForm<T extends Record<string, any>, TKey$1 extends keyof T> = Omit<ReglePartialRuleTree<T>, TKey$1> & PossibleLiteralTypes<T, TKey$1>[keyof PossibleLiteralTypes<T, TKey$1>];
|
|
315
317
|
type VariantTuple<T extends Record<string, any>, TKey$1 extends keyof T> = [RequiredForm<T, TKey$1>, ...RequiredForm<T, TKey$1>[]];
|
|
@@ -370,7 +372,7 @@ type MaybeOutput<T = any> = T | undefined;
|
|
|
370
372
|
type MaybeReadonly<T> = T | Readonly<T>;
|
|
371
373
|
type NonUndefined<T> = Exclude<T, undefined>;
|
|
372
374
|
type PromiseReturn<T> = T extends Promise<infer U> ? U : T;
|
|
373
|
-
type MaybeGetter<T, V$1 = any, TAdd extends Record<string, any> = {}> = T | ((value: Ref<V$1>, index: number) => T & TAdd);
|
|
375
|
+
type MaybeGetter<T, V$1 = any, TAdd extends Record<string, any> = {}, TSelf extends Record<string, any> = {}> = (T & TSelf) | ((value: Ref<V$1>, index: number) => T & TAdd & TSelf);
|
|
374
376
|
type MaybeComputedOrGetter<T> = MaybeRefOrComputedRef<T> | ((...args: any[]) => T);
|
|
375
377
|
type Unwrap<T extends MaybeRef<unknown>> = T extends Ref ? UnwrapRef<T> : UnwrapNestedRefs<T>;
|
|
376
378
|
type UnwrapSimple<T extends MaybeRef<Record<string, any>>> = T extends MaybeComputedOrGetter<infer U> ? U : T extends Ref<infer U> ? U : T extends ((...args: any[]) => infer U) ? U : T;
|
|
@@ -564,9 +566,9 @@ declare function extendRegleConfig<TRootCustomRules extends Partial<ExtendedRule
|
|
|
564
566
|
useRegle: useRegleFn<Merge<TRootCustomRules, TCustomRules>, TRootShortcuts & TShortcuts>;
|
|
565
567
|
inferRules: inferRulesFn<Merge<TRootCustomRules, TCustomRules>>;
|
|
566
568
|
};
|
|
567
|
-
type useRegleFnOptions<TState$1 extends Record<string, any> | MaybeInput<PrimitiveTypes>, TRules$1 extends ReglePartialRuleTree<
|
|
569
|
+
type useRegleFnOptions<TState$1 extends Record<string, any> | MaybeInput<PrimitiveTypes>, TRules$1 extends ReglePartialRuleTree<NonNullable<JoinDiscriminatedUnions<TState$1>>, Partial<ExtendedRulesDeclarations>>, TAdditionalOptions extends Record<string, any>, TValidationGroups extends Record<string, RegleValidationGroupEntry[]>> = TState$1 extends Record<string, any> ? Partial<DeepMaybeRef<RegleBehaviourOptions>> & LocalRegleBehaviourOptions<JoinDiscriminatedUnions<TState$1>, TRules$1, TValidationGroups> & TAdditionalOptions : Partial<DeepMaybeRef<RegleBehaviourOptions>> & TAdditionalOptions;
|
|
568
570
|
interface useRegleFn<TCustomRules extends Partial<ExtendedRulesDeclarations>, TShortcuts extends RegleShortcutDefinition<any> = never, TAdditionalReturnProperties extends Record<string, any> = {}, TAdditionalOptions extends Record<string, any> = {}> {
|
|
569
|
-
<TState$1 extends MaybeRef<Record<string, any> | MaybeInput<PrimitiveTypes>>, TRules$1 extends ReglePartialRuleTree<Unwrap<TState$1
|
|
571
|
+
<TState$1 extends MaybeRef<Record<string, any> | MaybeInput<PrimitiveTypes>>, TRules$1 extends ReglePartialRuleTree<JoinDiscriminatedUnions<Unwrap<TState$1>>, Partial<ExtendedRulesDeclarations> & Partial<TCustomRules>>, TDecl extends RegleRuleDecl<NonNullable<Unwrap<TState$1>>, Partial<ExtendedRulesDeclarations> & Partial<TCustomRules>>, TValidationGroups extends Record<string, RegleValidationGroupEntry[]>>(...params: [state: Maybe<TState$1> | DeepReactiveState<TState$1>, rulesFactory: Unwrap<TState$1> extends MaybeInput<PrimitiveTypes> ? MaybeRefOrGetter<TDecl> : Unwrap<TState$1> extends Record<string, any> ? MaybeComputedOrGetter<TRules$1> : {}, ...(HaveAnyRequiredProps<useRegleFnOptions<Unwrap<TState$1>, TRules$1, TAdditionalOptions, TValidationGroups>> extends true ? [options: useRegleFnOptions<Unwrap<TState$1>, TRules$1, TAdditionalOptions, TValidationGroups>] : [options?: useRegleFnOptions<Unwrap<TState$1>, TRules$1, TAdditionalOptions, TValidationGroups>])]): NonNullable<Unwrap<TState$1>> extends PrimitiveTypes ? RegleSingleField<NonNullable<Unwrap<TState$1>>, TDecl, TShortcuts, TAdditionalReturnProperties> : Regle<Unwrap<TState$1> extends Record<string, any> ? Unwrap<TState$1> : {}, UnwrapSimple<TRules$1> extends Record<string, any> ? UnwrapSimple<TRules$1> : {}, TValidationGroups, TShortcuts, TAdditionalReturnProperties>;
|
|
570
572
|
__config?: GlobalConfigOptions<TCustomRules, TShortcuts>;
|
|
571
573
|
}
|
|
572
574
|
/**
|
|
@@ -755,7 +757,7 @@ type RegleCustomFieldStatus<T extends useRegleFn<any, any>, TState$1 extends unk
|
|
|
755
757
|
* type FormRequest = InferOutput<typeof rules, typeof formState>;
|
|
756
758
|
* ```
|
|
757
759
|
*/
|
|
758
|
-
type InferOutput<TRules$1 extends MaybeRef<ReglePartialRuleTree<Record<string, any>, any>> | ((state: any) => ReglePartialRuleTree<Record<string, any>, any>) | MaybeRef<StandardSchemaV1<any>>, TState$1 extends MaybeRef<unknown> = InferInput<TRules$1>> = isRecordLiteral<TState$1> extends true ? DeepSafeFormState<JoinDiscriminatedUnions<Unwrap<NonNullable<TState$1>>>, TRules$1> : TState$1 extends any[] ? TState$1[] : TState$1;
|
|
760
|
+
type InferOutput<TRules$1 extends MaybeRef<ReglePartialRuleTree<Record<string, any>, any>> | ((state: any) => ReglePartialRuleTree<Record<string, any>, any>) | MaybeRef<StandardSchemaV1<any>>, TState$1 extends MaybeRef<unknown> = InferInput<TRules$1>> = isRecordLiteral<TState$1> extends true ? TRules$1 extends MaybeRef<StandardSchemaV1<infer State>> ? State : DeepSafeFormState<JoinDiscriminatedUnions<Unwrap<NonNullable<TState$1>>>, TRules$1 extends MaybeRef<ReglePartialRuleTree<Record<string, any>, any>> ? UnwrapRef<TRules$1> : {}> : TState$1 extends any[] ? TState$1[] : TState$1;
|
|
759
761
|
/**
|
|
760
762
|
* Infer input type from a rules object
|
|
761
763
|
*
|
|
@@ -770,8 +772,8 @@ type ProcessInputChildren<TRule extends unknown, TMarkMaybe extends boolean> = T
|
|
|
770
772
|
type ExtractTypeFromRules<TRules$1 extends RegleRuleDecl<any, any>> = FilterRulesWithInput<TRules$1> extends {
|
|
771
773
|
type: infer Input;
|
|
772
774
|
} ? Input : [FilterRulesWithSingleType<TRules$1>[keyof FilterRulesWithSingleType<TRules$1>]] extends [never] ? FilterRulesWithInput<TRules$1>[keyof FilterRulesWithInput<TRules$1>] : FilterRulesWithSingleType<TRules$1>[keyof FilterRulesWithSingleType<TRules$1>];
|
|
773
|
-
type FilterRulesWithInput<TRules$1 extends RegleRuleDecl<any, any>> = { [K in keyof TRules$1 as TRules$1[K] extends RegleRuleDefinition<any, any, any, any, infer Input> ? unknown extends Input ? never : K : never]: TRules$1[K] extends RegleRuleDefinition<any, any, any, any, infer Input> ? Input : unknown };
|
|
774
|
-
type FilterRulesWithSingleType<TRules$1 extends RegleRuleDecl<any, any>> = { [K in keyof TRules$1 as TRules$1[K] extends RegleRuleDefinition<any, any, any, any, infer Input> ? unknown extends Input ? never : IsUnion<NonNullable<Input>> extends true ? never : K : never]: TRules$1[K] extends RegleRuleDefinition<any, any, any, any, infer Input> ? IsUnion<NonNullable<Input>> extends true ? unknown : Input : unknown };
|
|
775
|
+
type FilterRulesWithInput<TRules$1 extends RegleRuleDecl<any, any>> = { [K in keyof TRules$1 as TRules$1[K] extends RegleRuleDefinition<unknown, any, any, any, any, infer Input> ? unknown extends Input ? never : K : never]: TRules$1[K] extends RegleRuleDefinition<unknown, any, any, any, any, infer Input> ? Input : unknown };
|
|
776
|
+
type FilterRulesWithSingleType<TRules$1 extends RegleRuleDecl<any, any>> = { [K in keyof TRules$1 as TRules$1[K] extends RegleRuleDefinition<unknown, any, any, any, any, infer Input> ? unknown extends Input ? never : IsUnion<NonNullable<Input>> extends true ? never : K : never]: TRules$1[K] extends RegleRuleDefinition<unknown, any, any, any, any, infer Input> ? IsUnion<NonNullable<Input>> extends true ? unknown : Input : unknown };
|
|
775
777
|
type InferTupleUnionInput<T extends any[]> = T extends [infer F extends ReglePartialRuleTree, ...infer R] ? [InferInput<F, true>, ...InferTupleUnionInput<R>] : [];
|
|
776
778
|
/**
|
|
777
779
|
* Infer safe output from any `r$` instance
|
|
@@ -782,7 +784,7 @@ type InferTupleUnionInput<T extends any[]> = T extends [infer F extends ReglePar
|
|
|
782
784
|
*
|
|
783
785
|
* @deprecated Use {@link InferValidOutput} instead
|
|
784
786
|
*/
|
|
785
|
-
type InferSafeOutput<TRegle extends MaybeRef<SuperCompatibleRegleRoot | SuperCompatibleRegleFieldStatus>> = UnwrapRef<TRegle> extends Raw<RegleRoot<infer TState extends Record<string, any>, infer TRules, any, any>> ? DeepSafeFormState<JoinDiscriminatedUnions<TState>, TRules> : UnwrapRef<TRegle> extends RegleFieldStatus<infer TState, infer TRules> ? SafeFieldProperty<TState, TRules> : UnwrapRef<TRegle> extends RegleLike<infer TState extends Record<string, any>> ? TState : never;
|
|
787
|
+
type InferSafeOutput<TRegle extends MaybeRef<SuperCompatibleRegleRoot | SuperCompatibleRegleFieldStatus>> = UnwrapRef<TRegle> extends Raw<RegleRoot<infer TState extends Record<string, any>, infer TRules, any, any>> ? TRules extends ReglePartialRuleTree<Record<string, any>, any> ? DeepSafeFormState<JoinDiscriminatedUnions<TState>, TRules> : never : UnwrapRef<TRegle> extends RegleFieldStatus<infer TState, infer TRules> ? SafeFieldProperty<TState, TRules> : UnwrapRef<TRegle> extends RegleLike<infer TState extends Record<string, any>> ? TState : never;
|
|
786
788
|
/**
|
|
787
789
|
* Infer safe output from any `r$` instance
|
|
788
790
|
*
|
|
@@ -855,24 +857,25 @@ type IsLiteral<T> = string extends T ? false : true;
|
|
|
855
857
|
/**
|
|
856
858
|
* Returned typed of rules created with `createRule`
|
|
857
859
|
* */
|
|
858
|
-
interface RegleRuleDefinition<TValue$1 extends unknown = unknown, TParams$1 extends any[] = [], TAsync$1 extends boolean = boolean, TMetaData extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, _TInput = unknown, TFilteredValue extends any = (TValue$1 extends Date & File & (infer M) ? M : TValue$1)> extends RegleInternalRuleDefs<TFilteredValue, TParams$1, TAsync$1, TMetaData> {
|
|
860
|
+
interface RegleRuleDefinition<TType$1 extends string | unknown = unknown, TValue$1 extends unknown = unknown, TParams$1 extends any[] = [], TAsync$1 extends boolean = boolean, TMetaData extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, _TInput = unknown, TFilteredValue extends any = (TValue$1 extends Date & File & (infer M) ? M : TValue$1), TNonEmpty extends boolean = boolean> extends RegleInternalRuleDefs<TFilteredValue, TParams$1, TAsync$1, TMetaData> {
|
|
859
861
|
validator: RegleRuleDefinitionProcessor<TFilteredValue, TParams$1, TAsync$1 extends false ? TMetaData : Promise<TMetaData>>;
|
|
860
862
|
message: (metadata: PossibleRegleRuleMetadataConsumer<TFilteredValue>) => string | string[];
|
|
861
863
|
active: (metadata: PossibleRegleRuleMetadataConsumer<TFilteredValue>) => boolean;
|
|
862
864
|
tooltip: (metadata: PossibleRegleRuleMetadataConsumer<TFilteredValue>) => string | string[];
|
|
863
|
-
type?:
|
|
865
|
+
type?: TType$1;
|
|
864
866
|
_value?: IsLiteral<TValue$1> extends true ? TValue$1 : any;
|
|
865
867
|
exec: (value: Maybe<TFilteredValue>) => TAsync$1 extends false ? TMetaData : Promise<TMetaData>;
|
|
868
|
+
required: TNonEmpty;
|
|
866
869
|
}
|
|
867
870
|
/**
|
|
868
871
|
* Rules with params created with `createRules` are callable while being customizable
|
|
869
872
|
*/
|
|
870
|
-
type RegleRuleWithParamsDefinition<TValue$1 extends unknown = unknown, TParams$1 extends any[] = never, TAsync$1 extends boolean = false, TMetadata$1 extends RegleRuleMetadataDefinition = boolean, TInput = unknown, TFilteredValue extends any = (TValue$1 extends Date & File & (infer M) ? M : TValue$1)> = RegleRuleCore<TFilteredValue, TParams$1, TAsync$1, TMetadata$1> & RegleInternalRuleDefs<TFilteredValue, TParams$1, TAsync$1, TMetadata$1> & {
|
|
871
|
-
(...params: RegleUniversalParams<TParams$1>): RegleRuleDefinition<TFilteredValue, TParams$1, TAsync$1, TMetadata$1, TInput>;
|
|
873
|
+
type RegleRuleWithParamsDefinition<TType$1 extends string | unknown = unknown, TValue$1 extends unknown = unknown, TParams$1 extends any[] = never, TAsync$1 extends boolean = false, TMetadata$1 extends RegleRuleMetadataDefinition = boolean, TInput = unknown, TFilteredValue extends any = (TValue$1 extends Date & File & (infer M) ? M : TValue$1)> = RegleRuleCore<TType$1, TFilteredValue, TParams$1, TAsync$1, TMetadata$1> & RegleInternalRuleDefs<TFilteredValue, TParams$1, TAsync$1, TMetadata$1> & {
|
|
874
|
+
(...params: RegleUniversalParams<TParams$1>): RegleRuleDefinition<TType$1, TFilteredValue, TParams$1, TAsync$1, TMetadata$1, TInput>;
|
|
872
875
|
} & (TParams$1 extends [param?: any, ...any[]] ? {
|
|
873
876
|
exec: (value: Maybe<TFilteredValue>) => TAsync$1 extends false ? TMetadata$1 : Promise<TMetadata$1>;
|
|
874
877
|
} : {});
|
|
875
|
-
type RegleRuleWithParamsDefinitionInput<TValue$1 extends any = any, TParams$1 extends any[] = never, TAsync$1 extends boolean = false, TMetadata$1 extends RegleRuleMetadataDefinition = boolean, TFilteredValue extends any = (TValue$1 extends Date & File & (infer M) ? M : TValue$1)> = RegleRuleCore<TFilteredValue, TParams$1, TAsync$1, TMetadata$1> & RegleInternalRuleDefs<TFilteredValue, TParams$1, TAsync$1, TMetadata$1> & (TParams$1 extends [param?: any, ...any[]] ? {
|
|
878
|
+
type RegleRuleWithParamsDefinitionInput<TType$1 extends string | unknown = unknown, TValue$1 extends any = any, TParams$1 extends any[] = never, TAsync$1 extends boolean = false, TMetadata$1 extends RegleRuleMetadataDefinition = boolean, TFilteredValue extends any = (TValue$1 extends Date & File & (infer M) ? M : TValue$1)> = RegleRuleCore<TType$1, TFilteredValue, TParams$1, TAsync$1, TMetadata$1> & RegleInternalRuleDefs<TFilteredValue, TParams$1, TAsync$1, TMetadata$1> & (TParams$1 extends [param?: any, ...any[]] ? {
|
|
876
879
|
exec: (value: Maybe<TFilteredValue>) => TAsync$1 extends false ? TMetadata$1 : Promise<TMetadata$1>;
|
|
877
880
|
} : {});
|
|
878
881
|
type RegleRuleMetadataExtended = {
|
|
@@ -882,7 +885,7 @@ type RegleRuleMetadataExtended = {
|
|
|
882
885
|
type UnwrapRuleTree<T extends {
|
|
883
886
|
[x: string]: RegleRuleRawInput<any, any[], any, any> | undefined;
|
|
884
887
|
}> = { [K in keyof T]: UnwrapRuleWithParams<T[K]> };
|
|
885
|
-
type UnwrapRuleWithParams<T extends RegleRuleRawInput<any, any[], any, any> | undefined> = T extends RegleRuleWithParamsDefinition<infer TValue, infer TParams, infer TAsync, infer TMetadata> ? RegleRuleDefinition<TValue, TParams, TAsync, TMetadata> : T;
|
|
888
|
+
type UnwrapRuleWithParams<T extends RegleRuleRawInput<any, any[], any, any> | undefined> = T extends RegleRuleWithParamsDefinition<infer TType, infer TValue, infer TParams, infer TAsync, infer TMetadata> ? RegleRuleDefinition<TType, TValue, TParams, TAsync, TMetadata> : T;
|
|
886
889
|
/**
|
|
887
890
|
* Define a rule Metadata definition
|
|
888
891
|
*/
|
|
@@ -910,8 +913,8 @@ type PossibleRegleRuleMetadataConsumer<TValue$1> = {
|
|
|
910
913
|
/**
|
|
911
914
|
* Generic types for a created RegleRule
|
|
912
915
|
*/
|
|
913
|
-
type RegleRuleRaw<TValue$1 extends any = any, TParams$1 extends [...any[]] = [...any[]], TAsync$1 extends boolean = boolean, TMetaData extends RegleRuleMetadataDefinition = boolean> = RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetaData> | RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetaData>;
|
|
914
|
-
type RegleRuleRawInput<TValue$1 extends any = any, TParams$1 extends [...any[]] = [...any[]], TAsync$1 extends boolean = boolean, TMetaData extends RegleRuleMetadataDefinition = boolean> = Omit<RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetaData> | RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetaData>, 'message' | 'tooltip' | 'active'> & {
|
|
916
|
+
type RegleRuleRaw<TType$1 extends string | unknown = unknown, TValue$1 extends any = any, TParams$1 extends [...any[]] = [...any[]], TAsync$1 extends boolean = boolean, TMetaData extends RegleRuleMetadataDefinition = boolean> = RegleRuleDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetaData> | RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetaData>;
|
|
917
|
+
type RegleRuleRawInput<TValue$1 extends any = any, TParams$1 extends [...any[]] = [...any[]], TAsync$1 extends boolean = boolean, TMetaData extends RegleRuleMetadataDefinition = boolean> = Omit<RegleRuleDefinition<unknown, TValue$1, TParams$1, TAsync$1, TMetaData> | RegleRuleWithParamsDefinition<unknown, TValue$1, TParams$1, TAsync$1, TMetaData>, 'message' | 'tooltip' | 'active'> & {
|
|
915
918
|
message: any;
|
|
916
919
|
active?: any;
|
|
917
920
|
tooltip?: any;
|
|
@@ -921,7 +924,7 @@ type RegleRuleRawInput<TValue$1 extends any = any, TParams$1 extends [...any[]]
|
|
|
921
924
|
* For a rule with params it will return a function
|
|
922
925
|
* Otherwise it will return the rule definition
|
|
923
926
|
*/
|
|
924
|
-
type InferRegleRule<TValue$1 extends any = any, TParams$1 extends any[] = [], TAsync$1 extends boolean = false, TMetaData extends RegleRuleMetadataDefinition = boolean> = [TParams$1] extends [[]] ? RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetaData> : RegleRuleWithParamsDefinition<TValue$1, TParams$1, TAsync$1, TMetaData>;
|
|
927
|
+
type InferRegleRule<TType$1 extends string | unknown, TValue$1 extends any = any, TParams$1 extends any[] = [], TAsync$1 extends boolean = false, TMetaData extends RegleRuleMetadataDefinition = boolean, TNonEmpty extends boolean = false> = [TParams$1] extends [[]] ? RegleRuleDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetaData, TValue$1, TValue$1, TNonEmpty> : RegleRuleWithParamsDefinition<TType$1, TValue$1, TParams$1, TAsync$1, TMetaData, TNonEmpty>;
|
|
925
928
|
type RegleRuleDefinitionProcessor<TValue$1 extends any = any, TParams$1 extends any[] = [], TReturn = any> = (value: Maybe<TValue$1>, ...params: TParams$1) => TReturn;
|
|
926
929
|
type RegleRuleDefinitionWithMetadataProcessor<TValue$1 extends any, TMetadata$1 extends RegleRuleMetadataConsumer<TValue$1, any[]>, TReturn = any> = ((metadata: TMetadata$1) => TReturn) | TReturn;
|
|
927
930
|
type RegleCollectionRuleDefinition<TValue$1 = any[], TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = (RegleRuleDecl<NonNullable<TValue$1>, TCustomRules, CollectionRegleBehaviourOptions> & {
|
|
@@ -934,24 +937,25 @@ type RegleInitPropertyGetter<TValue$1, TReturn, TParams$1 extends [...any[]], TM
|
|
|
934
937
|
* @argument
|
|
935
938
|
* createRule arguments options
|
|
936
939
|
*/
|
|
937
|
-
interface RegleRuleInit<TValue$1 extends
|
|
940
|
+
interface RegleRuleInit<TType$1 extends string | unknown = unknown, TValue$1 extends unknown = unknown, TParams$1 extends [...any[]] = [], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = boolean, TMetadata$1 extends RegleRuleMetadataDefinition = RegleRuleMetadataDefinition, TAsync$1 extends boolean = (TReturn extends Promise<any> ? true : false), TNonEmpty extends boolean = false> {
|
|
938
941
|
validator: (value: Maybe<TValue$1>, ...args: TParams$1) => TReturn;
|
|
939
942
|
message: RegleInitPropertyGetter<TValue$1, string | string[], TParams$1, TMetadata$1>;
|
|
940
943
|
active?: RegleInitPropertyGetter<TValue$1, boolean, TParams$1, TMetadata$1>;
|
|
941
944
|
tooltip?: RegleInitPropertyGetter<TValue$1, string | string[], TParams$1, TMetadata$1>;
|
|
942
|
-
type?:
|
|
945
|
+
type?: TType$1;
|
|
943
946
|
async?: TAsync$1;
|
|
947
|
+
required?: TNonEmpty;
|
|
944
948
|
}
|
|
945
949
|
/**
|
|
946
950
|
* @argument
|
|
947
951
|
* Rule core
|
|
948
952
|
*/
|
|
949
|
-
interface RegleRuleCore<TValue$1 extends any, TParams$1 extends any[] = [], TAsync$1 extends boolean = false, TMetadata$1 extends RegleRuleMetadataDefinition = boolean> {
|
|
953
|
+
interface RegleRuleCore<TType$1 extends string | unknown, TValue$1 extends any, TParams$1 extends any[] = [], TAsync$1 extends boolean = false, TMetadata$1 extends RegleRuleMetadataDefinition = boolean> {
|
|
950
954
|
validator: (value: Maybe<TValue$1>, ...args: TParams$1) => TAsync$1 extends false ? TMetadata$1 : Promise<TMetadata$1>;
|
|
951
955
|
message: RegleInitPropertyGetter<TValue$1, string | string[], TParams$1, TMetadata$1>;
|
|
952
956
|
active?: RegleInitPropertyGetter<TValue$1, string | string[], TParams$1, TMetadata$1>;
|
|
953
957
|
tooltip?: RegleInitPropertyGetter<TValue$1, string | string[], TParams$1, TMetadata$1>;
|
|
954
|
-
type?:
|
|
958
|
+
type?: TType$1;
|
|
955
959
|
async?: boolean;
|
|
956
960
|
}
|
|
957
961
|
type RegleRuleTypeReturn<TValue$1, TParams$1 extends [...any[]]> = {
|
|
@@ -973,57 +977,58 @@ interface CommonAlphaOptions {
|
|
|
973
977
|
allowSymbols?: boolean;
|
|
974
978
|
}
|
|
975
979
|
type DefaultValidators = {
|
|
976
|
-
alpha: RegleRuleWithParamsDefinition<string, [options?: CommonAlphaOptions | undefined]>;
|
|
977
|
-
alphaNum: RegleRuleWithParamsDefinition<string | number, [options?: CommonAlphaOptions | undefined]>;
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
980
|
+
alpha: RegleRuleWithParamsDefinition<unknown, string, [options?: CommonAlphaOptions | undefined]>;
|
|
981
|
+
alphaNum: RegleRuleWithParamsDefinition<unknown, string | number, [options?: CommonAlphaOptions | undefined]>;
|
|
982
|
+
atLeastOne: RegleRuleWithParamsDefinition<unknown, Record<string, unknown> | object, [keys?: string[] | undefined], false, boolean, false, Record<string, unknown> | object>;
|
|
983
|
+
between: RegleRuleWithParamsDefinition<unknown, number, [min: Maybe<number>, max: Maybe<number>]>;
|
|
984
|
+
boolean: RegleRuleDefinition<unknown, unknown, [], false, boolean, any, unknown>;
|
|
985
|
+
checked: RegleRuleDefinition<unknown, boolean, [], false, boolean, boolean>;
|
|
986
|
+
contains: RegleRuleWithParamsDefinition<unknown, string, [part: Maybe<string>], false, boolean>;
|
|
987
|
+
date: RegleRuleDefinition<unknown, unknown, [], false, boolean, MaybeInput<Date>, unknown>;
|
|
988
|
+
dateAfter: RegleRuleWithParamsDefinition<unknown, string | Date, [after: Maybe<string | Date>, options?: CommonComparisonOptions], false, true | {
|
|
984
989
|
$valid: false;
|
|
985
990
|
error: 'date-not-after';
|
|
986
991
|
} | {
|
|
987
992
|
$valid: false;
|
|
988
993
|
error: 'value-or-parameter-not-a-date';
|
|
989
994
|
}>;
|
|
990
|
-
dateBefore: RegleRuleWithParamsDefinition<string | Date, [before: Maybe<string | Date>, options?: CommonComparisonOptions], false, true | {
|
|
995
|
+
dateBefore: RegleRuleWithParamsDefinition<unknown, string | Date, [before: Maybe<string | Date>, options?: CommonComparisonOptions], false, true | {
|
|
991
996
|
$valid: false;
|
|
992
997
|
error: 'date-not-before';
|
|
993
998
|
} | {
|
|
994
999
|
$valid: false;
|
|
995
1000
|
error: 'value-or-parameter-not-a-date';
|
|
996
1001
|
}>;
|
|
997
|
-
dateBetween: RegleRuleWithParamsDefinition<string | Date, [before: Maybe<string | Date>, after: Maybe<string | Date>, options?: CommonComparisonOptions], false, boolean>;
|
|
998
|
-
decimal: RegleRuleDefinition<string | number, [], false, boolean, string | number>;
|
|
999
|
-
email: RegleRuleDefinition<string, [], false, boolean, string>;
|
|
1000
|
-
endsWith: RegleRuleWithParamsDefinition<string, [part: Maybe<string>], false, boolean>;
|
|
1001
|
-
exactLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [count: number], false, boolean>;
|
|
1002
|
-
exactValue: RegleRuleWithParamsDefinition<number, [count: number], false, boolean>;
|
|
1003
|
-
file: RegleRuleDefinition<unknown, [], false, boolean, MaybeInput<File>, unknown>;
|
|
1004
|
-
fileType: RegleRuleWithParamsDefinition<unknown, [accept: string[]], false, boolean>;
|
|
1005
|
-
hexadecimal: RegleRuleDefinition<string, [], false, boolean, string>;
|
|
1006
|
-
integer: RegleRuleDefinition<string | number, [], false, boolean, string | number>;
|
|
1007
|
-
ipv4Address: RegleRuleDefinition<string, [], false, boolean, string>;
|
|
1008
|
-
literal: RegleRuleDefinition<string | number, [literal: string | number], false, boolean, string | number>;
|
|
1009
|
-
macAddress: RegleRuleWithParamsDefinition<string, [separator?: string | undefined], false, boolean>;
|
|
1010
|
-
maxLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1011
|
-
maxFileSize: RegleRuleWithParamsDefinition<unknown, [maxSize: number], false, boolean, MaybeInput<File>, unknown>;
|
|
1012
|
-
maxValue: RegleRuleWithParamsDefinition<number, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1013
|
-
minFileSize: RegleRuleWithParamsDefinition<unknown, [minSize: number], false, boolean, MaybeInput<File>, unknown>;
|
|
1014
|
-
minLength: RegleRuleWithParamsDefinition<string | any[] | Record<PropertyKey, any>, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1015
|
-
minValue: RegleRuleWithParamsDefinition<number, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1016
|
-
nativeEnum: RegleRuleDefinition<string | number, [enumLike: EnumLike], false, boolean, string | number>;
|
|
1017
|
-
number: RegleRuleDefinition<unknown, [], false, boolean, any, unknown>;
|
|
1018
|
-
numeric: RegleRuleDefinition<string | number, [], false, boolean, string | number>;
|
|
1019
|
-
oneOf: RegleRuleDefinition<string | number, [options: (string | number)[]], false, boolean, string | number>;
|
|
1020
|
-
regex: RegleRuleWithParamsDefinition<string, [regexp: RegExp], false, boolean>;
|
|
1021
|
-
required: RegleRuleDefinition<unknown, [], false, boolean, unknown, unknown>;
|
|
1022
|
-
sameAs: RegleRuleWithParamsDefinition<unknown, [target: unknown, otherName?: string], false, boolean>;
|
|
1023
|
-
string: RegleRuleDefinition<unknown, [], false, boolean, any, unknown>;
|
|
1024
|
-
type: RegleRuleDefinition<unknown, [], false, boolean, unknown, unknown>;
|
|
1025
|
-
startsWith: RegleRuleWithParamsDefinition<string, [part: Maybe<string>], false, boolean>;
|
|
1026
|
-
url: RegleRuleDefinition<string, [], false, boolean, string>;
|
|
1002
|
+
dateBetween: RegleRuleWithParamsDefinition<unknown, string | Date, [before: Maybe<string | Date>, after: Maybe<string | Date>, options?: CommonComparisonOptions], false, boolean>;
|
|
1003
|
+
decimal: RegleRuleDefinition<unknown, string | number, [], false, boolean, string | number>;
|
|
1004
|
+
email: RegleRuleDefinition<unknown, string, [], false, boolean, string>;
|
|
1005
|
+
endsWith: RegleRuleWithParamsDefinition<unknown, string, [part: Maybe<string>], false, boolean>;
|
|
1006
|
+
exactLength: RegleRuleWithParamsDefinition<unknown, string | any[] | Record<PropertyKey, any>, [count: number], false, boolean>;
|
|
1007
|
+
exactValue: RegleRuleWithParamsDefinition<unknown, number, [count: number], false, boolean>;
|
|
1008
|
+
file: RegleRuleDefinition<unknown, unknown, [], false, boolean, MaybeInput<File>, unknown>;
|
|
1009
|
+
fileType: RegleRuleWithParamsDefinition<unknown, unknown, [accept: string[]], false, boolean>;
|
|
1010
|
+
hexadecimal: RegleRuleDefinition<unknown, string, [], false, boolean, string>;
|
|
1011
|
+
integer: RegleRuleDefinition<unknown, string | number, [], false, boolean, string | number>;
|
|
1012
|
+
ipv4Address: RegleRuleDefinition<unknown, string, [], false, boolean, string>;
|
|
1013
|
+
literal: RegleRuleDefinition<unknown, string | number, [literal: string | number], false, boolean, string | number, string | number, true>;
|
|
1014
|
+
macAddress: RegleRuleWithParamsDefinition<unknown, string, [separator?: string | undefined], false, boolean>;
|
|
1015
|
+
maxLength: RegleRuleWithParamsDefinition<unknown, string | any[] | Record<PropertyKey, any>, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1016
|
+
maxFileSize: RegleRuleWithParamsDefinition<unknown, unknown, [maxSize: number], false, boolean, MaybeInput<File>, unknown>;
|
|
1017
|
+
maxValue: RegleRuleWithParamsDefinition<unknown, number, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1018
|
+
minFileSize: RegleRuleWithParamsDefinition<unknown, unknown, [minSize: number], false, boolean, MaybeInput<File>, unknown>;
|
|
1019
|
+
minLength: RegleRuleWithParamsDefinition<unknown, string | any[] | Record<PropertyKey, any>, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1020
|
+
minValue: RegleRuleWithParamsDefinition<unknown, number, [count: number, options?: CommonComparisonOptions], false, boolean>;
|
|
1021
|
+
nativeEnum: RegleRuleDefinition<unknown, string | number, [enumLike: EnumLike], false, boolean, string | number>;
|
|
1022
|
+
number: RegleRuleDefinition<unknown, unknown, [], false, boolean, any, unknown>;
|
|
1023
|
+
numeric: RegleRuleDefinition<unknown, string | number, [], false, boolean, string | number>;
|
|
1024
|
+
oneOf: RegleRuleDefinition<unknown, string | number, [options: (string | number)[]], false, boolean, string | number>;
|
|
1025
|
+
regex: RegleRuleWithParamsDefinition<unknown, string, [regexp: RegExp], false, boolean>;
|
|
1026
|
+
required: RegleRuleDefinition<unknown, unknown, [], false, boolean, unknown, unknown, true>;
|
|
1027
|
+
sameAs: RegleRuleWithParamsDefinition<unknown, unknown, [target: unknown, otherName?: string], false, boolean>;
|
|
1028
|
+
string: RegleRuleDefinition<unknown, unknown, [], false, boolean, any, unknown>;
|
|
1029
|
+
type: RegleRuleDefinition<unknown, unknown, [], false, boolean, unknown, unknown>;
|
|
1030
|
+
startsWith: RegleRuleWithParamsDefinition<unknown, string, [part: Maybe<string>], false, boolean>;
|
|
1031
|
+
url: RegleRuleDefinition<unknown, string, [], false, boolean, string>;
|
|
1027
1032
|
};
|
|
1028
1033
|
type CustomRulesDeclarationTree = {
|
|
1029
1034
|
[x: string]: RegleRuleRawInput<any, any[], boolean, any> | undefined;
|
|
@@ -1032,84 +1037,6 @@ type DefaultValidatorsTree = { [K in keyof DefaultValidators]: RegleRuleRawInput
|
|
|
1032
1037
|
type ExtendedRulesDeclarations = CustomRulesDeclarationTree & DefaultValidatorsTree;
|
|
1033
1038
|
/** @deprecated Use {@link ExtendedRulesDeclarations} instead */
|
|
1034
1039
|
type AllRulesDeclarations = ExtendedRulesDeclarations;
|
|
1035
|
-
/**
|
|
1036
|
-
* @public
|
|
1037
|
-
*/
|
|
1038
|
-
type ReglePartialRuleTree<TForm extends Record<string, any> = Record<string, any>, TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = { [TKey in keyof TForm]?: RegleFormPropertyType<TForm[TKey], TCustomRules> };
|
|
1039
|
-
/**
|
|
1040
|
-
* @public
|
|
1041
|
-
*/
|
|
1042
|
-
type RegleRuleTree<TForm extends Record<string, any>, TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = { [TKey in keyof TForm]: RegleFormPropertyType<TForm[TKey], TCustomRules> };
|
|
1043
|
-
/**
|
|
1044
|
-
* @public
|
|
1045
|
-
*/
|
|
1046
|
-
type RegleUnknownRulesTree = {
|
|
1047
|
-
[x: string]: RegleRuleDecl | RegleCollectionRuleDecl | RegleUnknownRulesTree;
|
|
1048
|
-
};
|
|
1049
|
-
/**
|
|
1050
|
-
* @public
|
|
1051
|
-
*/
|
|
1052
|
-
type RegleComputedRules<TForm extends MaybeRefOrComputedRef<Record<string, any>> | DeepReactiveState<Record<string, any>>, TCustomRules extends Partial<ExtendedRulesDeclarations> | Regle<any, any> | useRegleFn<any> = Partial<ExtendedRulesDeclarations>, TState$1 = Unwrap<UnwrapMaybeRef<TForm>>, TCustom = (TCustomRules extends Regle<any, infer R> ? R extends ReglePartialRuleTree<any, infer C> ? C : Partial<ExtendedRulesDeclarations> : TCustomRules extends useRegleFn<infer Rules, any> ? Rules : {})> = { [TKey in keyof JoinDiscriminatedUnions<TState$1>]?: RegleFormPropertyType<JoinDiscriminatedUnions<TState$1>[TKey], Omit<Partial<ExtendedRulesDeclarations>, keyof TCustom> & Partial<TCustom>> };
|
|
1053
|
-
/**
|
|
1054
|
-
* @internal
|
|
1055
|
-
* @reference {@link ReglePartialRuleTree}
|
|
1056
|
-
*/
|
|
1057
|
-
type $InternalReglePartialRuleTree = {
|
|
1058
|
-
[x: string]: $InternalFormPropertyTypes;
|
|
1059
|
-
};
|
|
1060
|
-
/**
|
|
1061
|
-
* @public
|
|
1062
|
-
*/
|
|
1063
|
-
type RegleFormPropertyType<TValue$1 = any, TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = [NonNullable<TValue$1>] extends [never] ? MaybeRefOrComputedRef<RegleRuleDecl<TValue$1, TCustomRules>> : NonNullable<TValue$1> extends Array<any> ? RegleCollectionRuleDecl<TValue$1, TCustomRules> : NonNullable<TValue$1> extends Date ? MaybeRefOrComputedRef<RegleRuleDecl<NonNullable<TValue$1>, TCustomRules>> : NonNullable<TValue$1> extends File ? MaybeRefOrComputedRef<RegleRuleDecl<NonNullable<TValue$1>, TCustomRules>> : NonNullable<TValue$1> extends Ref<infer V> ? RegleFormPropertyType<V, TCustomRules> : NonNullable<TValue$1> extends Record<string, any> ? NonNullable<TValue$1> extends RegleStatic<infer U> ? MaybeRefOrComputedRef<RegleRuleDecl<Raw<U>, TCustomRules>> : ReglePartialRuleTree<NonNullable<TValue$1>, TCustomRules> : MaybeRefOrComputedRef<RegleRuleDecl<NonNullable<TValue$1>, TCustomRules>>;
|
|
1064
|
-
/**
|
|
1065
|
-
* @internal
|
|
1066
|
-
* @reference {@link RegleFormPropertyType}
|
|
1067
|
-
*/
|
|
1068
|
-
type $InternalFormPropertyTypes = MaybeRefOrComputedRef<$InternalRegleRuleDecl> | $InternalRegleCollectionRuleDecl | $InternalReglePartialRuleTree | FieldRegleBehaviourOptions;
|
|
1069
|
-
/**
|
|
1070
|
-
* @public
|
|
1071
|
-
* Rule tree for a form property
|
|
1072
|
-
*/
|
|
1073
|
-
type RegleRuleDecl<TValue$1 extends any = any, TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<DefaultValidatorsTree>, TOptions extends Record<string, unknown> = FieldRegleBehaviourOptions<TValue$1>> = TOptions & { [TKey in keyof RemoveIndexSignature<TCustomRules>]?: FormRuleDeclaration<TValue$1, any[]> } & {
|
|
1074
|
-
[x: string]: FormRuleDeclaration<TValue$1, any[]> | boolean | number | undefined;
|
|
1075
|
-
};
|
|
1076
|
-
/**
|
|
1077
|
-
* @internal
|
|
1078
|
-
* @reference {@link RegleRuleDecl}
|
|
1079
|
-
*/
|
|
1080
|
-
type $InternalRegleRuleDecl = FieldRegleBehaviourOptions & CollectionRegleBehaviourOptions & Record<string, FormRuleDeclaration<any, any>>;
|
|
1081
|
-
/**
|
|
1082
|
-
* @public
|
|
1083
|
-
*/
|
|
1084
|
-
type RegleCollectionRuleDeclKeyProperty = {
|
|
1085
|
-
$key?: PropertyKey;
|
|
1086
|
-
};
|
|
1087
|
-
/**
|
|
1088
|
-
* @public
|
|
1089
|
-
*/
|
|
1090
|
-
type RegleCollectionRuleDecl<TValue$1 = any[], TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = ({
|
|
1091
|
-
$each?: RegleCollectionEachRules<TValue$1, TCustomRules>;
|
|
1092
|
-
} & RegleRuleDecl<NonNullable<TValue$1>, TCustomRules, CollectionRegleBehaviourOptions>) | ({
|
|
1093
|
-
$each?: RegleCollectionEachRules<TValue$1, TCustomRules>;
|
|
1094
|
-
} & CollectionRegleBehaviourOptions);
|
|
1095
|
-
/** @public */
|
|
1096
|
-
type RegleCollectionEachRules<TValue$1 = any[], TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = MaybeGetter<RegleFormPropertyType<ArrayElement<NonNullable<TValue$1>>, TCustomRules>, ArrayElement<TValue$1>, RegleCollectionRuleDeclKeyProperty>;
|
|
1097
|
-
/**
|
|
1098
|
-
* @internal
|
|
1099
|
-
* @reference {@link RegleCollectionRuleDecl}
|
|
1100
|
-
*/
|
|
1101
|
-
type $InternalRegleCollectionRuleDecl = $InternalRegleRuleDecl & {
|
|
1102
|
-
$each?: MaybeGetter<$InternalFormPropertyTypes & RegleCollectionRuleDeclKeyProperty, any>;
|
|
1103
|
-
};
|
|
1104
|
-
/**
|
|
1105
|
-
* @public
|
|
1106
|
-
*/
|
|
1107
|
-
type InlineRuleDeclaration<TValue$1 extends any = any, TParams$1 extends any[] = any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = boolean> = (value: Maybe<TValue$1>, ...args: UnwrapRegleUniversalParams<TParams$1>) => TReturn;
|
|
1108
|
-
/**
|
|
1109
|
-
* @public
|
|
1110
|
-
* Regroup inline and registered rules
|
|
1111
|
-
* */
|
|
1112
|
-
type FormRuleDeclaration<TValue$1 extends any = unknown, TParams$1 extends any[] = any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = boolean> = InlineRuleDeclaration<TValue$1, TParams$1, TReturn> | RegleRuleDefinition<TValue$1, TParams$1, TAsync$1, TMetadata$1> | RegleRuleWithParamsDefinitionInput<TValue$1, [param?: any], TAsync$1, TMetadata$1> | RegleRuleWithParamsDefinitionInput<TValue$1, [param?: any, ...any[]], TAsync$1, TMetadata$1>;
|
|
1113
1040
|
/**
|
|
1114
1041
|
* @public
|
|
1115
1042
|
*/
|
|
@@ -1144,7 +1071,10 @@ type RegleStatus<TState$1 extends object | Record<string, any> | undefined = Rec
|
|
|
1144
1071
|
$extractDirtyFields: (filterNullishValues?: boolean) => DeepPartial<TState$1>;
|
|
1145
1072
|
/** Sets all properties as dirty, triggering all rules. It returns a promise that will either resolve to false or a type safe copy of your form state. Values that had the required rule will be transformed into a non-nullable value (type only). */
|
|
1146
1073
|
$validate: (forceValues?: JoinDiscriminatedUnions<TState$1> extends EmptyObject ? any : HasNamedKeys<JoinDiscriminatedUnions<TState$1>> extends true ? IsUnknown<JoinDiscriminatedUnions<TState$1>> extends true ? any : JoinDiscriminatedUnions<TState$1> : any) => Promise<RegleResult<JoinDiscriminatedUnions<TState$1>, TRules$1>>;
|
|
1147
|
-
} & ProcessNestedFields<TState$1, TRules$1, TShortcuts> & ([TShortcuts['nested']] extends [never] ? {} : { [K in keyof TShortcuts['nested']]: ReturnType<NonNullable<TShortcuts['nested']>[K]> })
|
|
1074
|
+
} & ProcessNestedFields<TState$1, TRules$1, TShortcuts> & ([TShortcuts['nested']] extends [never] ? {} : { [K in keyof TShortcuts['nested']]: ReturnType<NonNullable<TShortcuts['nested']>[K]> }) & (TRules$1['$self'] extends RegleRuleDecl ? {
|
|
1075
|
+
/** Represents the status of the parent object. Status only concern the object itself and not its children */
|
|
1076
|
+
readonly $self: RegleFieldStatus<NonNullable<TRules$1['$self']>, NonNullable<TRules$1['$self']>, TShortcuts>;
|
|
1077
|
+
} : {});
|
|
1148
1078
|
/**
|
|
1149
1079
|
* @internal
|
|
1150
1080
|
* @reference {@link RegleStatus}
|
|
@@ -1160,11 +1090,12 @@ interface $InternalRegleStatus extends $InternalRegleCommonStatus {
|
|
|
1160
1090
|
$extractDirtyFields: (filterNullishValues?: boolean) => Record<string, any>;
|
|
1161
1091
|
$validate: (forceValues?: any) => Promise<$InternalRegleResult>;
|
|
1162
1092
|
$id?: string;
|
|
1093
|
+
readonly $self?: $InternalRegleFieldStatus | undefined;
|
|
1163
1094
|
}
|
|
1164
1095
|
/**
|
|
1165
1096
|
* @public
|
|
1166
1097
|
*/
|
|
1167
|
-
type InferRegleStatusType<TRule extends RegleCollectionRuleDecl | RegleRuleDecl | ReglePartialRuleTree<any>, TState$1 extends Record<PropertyKey, any> = any, TKey$1 extends PropertyKey = string, TShortcuts extends RegleShortcutDefinition = {}> = HasNamedKeys<TState$1> extends true ? [TState$1[TKey$1]] extends [undefined | null] ? RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Array<infer U extends Record<string, any>> ? U extends Record<string, any> ? TRule extends RegleCollectionRuleDefinition<any, any> ? ExtractFromGetter<TRule['$each']> extends ReglePartialRuleTree<any> ? RegleCollectionStatus<TState$1[TKey$1], ExtractFromGetter<TRule['$each']>, TRule, TShortcuts> : RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : RegleCollectionStatus<TState$1[TKey$1], {}, TRule, TShortcuts> : RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : TRule extends ReglePartialRuleTree<any> ? NonNullable<TState$1[TKey$1]> extends Array<any> ? RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Date | File ? RegleFieldStatus<Raw<TState$1[TKey$1]>, TRule, TShortcuts> : unknown extends TState$1[TKey$1] ? RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Record<PropertyKey, any> ? NonNullable<TState$1[TKey$1]> extends RegleStaticImpl<infer U> ? RegleFieldStatus<Raw<U>, TRule, TShortcuts> : MaybeVariantStatus<TState$1[TKey$1], TRule, TShortcuts> : RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Date | File ? RegleFieldStatus<Raw<NonNullable<TState$1[TKey$1]>>, TRule, TShortcuts> : unknown extends TState$1[TKey$1] ? RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Record<PropertyKey, any> ? NonNullable<TState$1[TKey$1]> extends RegleStaticImpl<infer U> ? RegleFieldStatus<Raw<U>, TRule, TShortcuts> : MaybeVariantStatus<TState$1[TKey$1], ReglePartialRuleTree<TState$1[TKey$1]>, TShortcuts> : RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : RegleCommonStatus<unknown>;
|
|
1098
|
+
type InferRegleStatusType<TRule extends RegleCollectionRuleDecl | RegleRuleDecl | ReglePartialRuleTree<any>, TState$1 extends Record<PropertyKey, any> = any, TKey$1 extends PropertyKey = string, TShortcuts extends RegleShortcutDefinition = {}> = HasNamedKeys<TState$1> extends true ? [TState$1[TKey$1]] extends [undefined | null] ? RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Array<infer U extends Record<string, any>> ? U extends Record<string, any> ? TRule extends RegleCollectionRuleDefinition<any, any> ? ExtractFromGetter<TRule['$each']> extends ReglePartialRuleTree<any> ? RegleCollectionStatus<TState$1[TKey$1], ExtractFromGetter<TRule['$each']>, TRule, TShortcuts> : RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : RegleCollectionStatus<TState$1[TKey$1], {}, TRule, TShortcuts> : RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : TRule extends ReglePartialRuleTree<any> ? NonNullable<TState$1[TKey$1]> extends Array<any> ? RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Date | File ? RegleFieldStatus<Raw<TState$1[TKey$1]>, TRule, TShortcuts> : unknown extends TState$1[TKey$1] ? RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Record<PropertyKey, any> ? NonNullable<TState$1[TKey$1]> extends RegleStaticImpl<infer U> ? RegleFieldStatus<Raw<U>, TRule, TShortcuts> : TRule extends ReglePartialRuleTree<TState$1[TKey$1]> ? MaybeVariantStatus<TState$1[TKey$1], TRule, TShortcuts> : MaybeVariantStatus<TState$1[TKey$1], {}, TShortcuts> : RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Date | File ? RegleFieldStatus<Raw<NonNullable<TState$1[TKey$1]>>, TRule, TShortcuts> : unknown extends TState$1[TKey$1] ? RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : NonNullable<TState$1[TKey$1]> extends Record<PropertyKey, any> ? NonNullable<TState$1[TKey$1]> extends RegleStaticImpl<infer U> ? RegleFieldStatus<Raw<U>, TRule, TShortcuts> : MaybeVariantStatus<TState$1[TKey$1], ReglePartialRuleTree<TState$1[TKey$1]>, TShortcuts> : RegleFieldStatus<TState$1[TKey$1], TRule, TShortcuts> : RegleCommonStatus<unknown>;
|
|
1168
1099
|
/**
|
|
1169
1100
|
* @internal
|
|
1170
1101
|
* @reference {@link InferRegleStatusType}
|
|
@@ -1189,11 +1120,11 @@ type RegleFieldIssue<TRules$1 extends RegleFormPropertyType<unknown, Partial<Ext
|
|
|
1189
1120
|
} }[keyof ComputeFieldRules<any, TRules$1>]);
|
|
1190
1121
|
type ComputeFieldRules<TState$1 extends any, TRules$1 extends MaybeRef<RegleFormPropertyType<unknown, Partial<ExtendedRulesDeclarations>>>> = IsEmptyObject<UnwrapRef<TRules$1>> extends true ? {
|
|
1191
1122
|
readonly [x: string]: RegleRuleStatus<TState$1, any[], any>;
|
|
1192
|
-
} : { readonly [TRuleKey in keyof Omit<UnwrapRef<TRules$1>, '$each' | keyof FieldRegleBehaviourOptions>]: RegleRuleStatus<TState$1, UnwrapRef<TRules$1>[TRuleKey] extends RegleRuleDefinition<any, infer TParams, any> ? TParams : [], UnwrapRef<TRules$1>[TRuleKey] extends RegleRuleDefinition<any, any, any, infer TMetadata> ? TMetadata : UnwrapRef<TRules$1>[TRuleKey] extends InlineRuleDeclaration<any, any[], infer TMetadata> ? TMetadata extends Promise<infer P> ? P : TMetadata : boolean> };
|
|
1123
|
+
} : { readonly [TRuleKey in keyof Omit<UnwrapRef<TRules$1>, '$each' | keyof FieldRegleBehaviourOptions>]: RegleRuleStatus<TState$1, UnwrapRef<TRules$1>[TRuleKey] extends RegleRuleDefinition<unknown, any, infer TParams, any> ? TParams : [], UnwrapRef<TRules$1>[TRuleKey] extends RegleRuleDefinition<unknown, any, any, any, infer TMetadata> ? TMetadata : UnwrapRef<TRules$1>[TRuleKey] extends InlineRuleDeclaration<any, any[], infer TMetadata> ? TMetadata extends Promise<infer P> ? P : TMetadata : boolean> };
|
|
1193
1124
|
/**
|
|
1194
1125
|
* @public
|
|
1195
1126
|
*/
|
|
1196
|
-
type RegleFieldStatus<TState$1 extends any = any, TRules$1 extends RegleFormPropertyType<
|
|
1127
|
+
type RegleFieldStatus<TState$1 extends any = any, TRules$1 extends RegleFormPropertyType<any, Partial<ExtendedRulesDeclarations>> = Record<string, any>, TShortcuts extends RegleShortcutDefinition = never> = Omit<RegleCommonStatus<TState$1, TRules$1>, '$value' | '$silentValue' | '$initialValue' | '$originalValue'> & {
|
|
1197
1128
|
/** A reference to the original validated model. It can be used to bind your form with v-model.*/
|
|
1198
1129
|
$value: MaybeOutput<UnwrapNestedRefs<TState$1>>;
|
|
1199
1130
|
/** $value variant that will not "touch" the field and update the value silently, running only the rules, so you can easily swap values without impacting user interaction. */
|
|
@@ -1391,7 +1322,7 @@ interface $InternalRegleRuleStatus {
|
|
|
1391
1322
|
/**
|
|
1392
1323
|
* @public
|
|
1393
1324
|
*/
|
|
1394
|
-
type RegleCollectionStatus<TState$1 extends any[] = any[], TRules$1 extends ReglePartialRuleTree<
|
|
1325
|
+
type RegleCollectionStatus<TState$1 extends any[] = any[], TRules$1 extends ReglePartialRuleTree<any> = Record<string, any>, TFieldRule extends RegleCollectionRuleDecl<any, any> = never, TShortcuts extends RegleShortcutDefinition = {}> = Omit<RegleCommonStatus<TState$1, TRules$1>, '$value'> & {
|
|
1395
1326
|
/** A reference to the original validated model. It can be used to bind your form with v-model.*/
|
|
1396
1327
|
$value: MaybeOutput<TState$1>;
|
|
1397
1328
|
/** $value variant that will not "touch" the field and update the value silently, running only the rules, so you can easily swap values without impacting user interaction. */
|
|
@@ -1432,9 +1363,101 @@ interface $InternalRegleCollectionStatus extends Omit<$InternalRegleStatus, '$fi
|
|
|
1432
1363
|
$extractDirtyFields: (filterNullishValues?: boolean) => any[];
|
|
1433
1364
|
$validate: (forceValues?: any) => Promise<$InternalRegleResult>;
|
|
1434
1365
|
}
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1366
|
+
/**
|
|
1367
|
+
* @public
|
|
1368
|
+
*/
|
|
1369
|
+
type ReglePartialRuleTree<TForm extends Record<string, any> = Record<string, any>, TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = { [TKey in keyof TForm]?: RegleFormPropertyType<TForm[TKey], TCustomRules> } & {
|
|
1370
|
+
$self?: MaybeRefOrComputedRef<RegleRuleDecl<TForm, TCustomRules>>;
|
|
1371
|
+
};
|
|
1372
|
+
/**
|
|
1373
|
+
* @public
|
|
1374
|
+
*/
|
|
1375
|
+
type RegleRuleTree<TForm extends Record<string, any>, TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = { [TKey in keyof TForm]: RegleFormPropertyType<TForm[TKey], TCustomRules> } & {
|
|
1376
|
+
$self?: MaybeRefOrComputedRef<RegleRuleDecl<TForm, TCustomRules>>;
|
|
1377
|
+
};
|
|
1378
|
+
/**
|
|
1379
|
+
* @public
|
|
1380
|
+
*/
|
|
1381
|
+
type RegleUnknownRulesTree = {
|
|
1382
|
+
[x: string]: RegleRuleDecl | RegleCollectionRuleDecl | RegleUnknownRulesTree;
|
|
1383
|
+
};
|
|
1384
|
+
/**
|
|
1385
|
+
* @public
|
|
1386
|
+
*/
|
|
1387
|
+
type RegleComputedRules<TForm extends MaybeRefOrComputedRef<Record<string, any>> | DeepReactiveState<Record<string, any>>, TCustomRules extends Partial<ExtendedRulesDeclarations> | Regle<any, any> | useRegleFn<any> = Partial<ExtendedRulesDeclarations>, TState$1 = Unwrap<UnwrapMaybeRef<TForm>>, TCustom = (TCustomRules extends Regle<any, infer R> ? R extends ReglePartialRuleTree<any, infer C> ? C : Partial<ExtendedRulesDeclarations> : TCustomRules extends useRegleFn<infer Rules, any> ? Rules : {})> = { [TKey in keyof JoinDiscriminatedUnions<TState$1>]?: RegleFormPropertyType<JoinDiscriminatedUnions<TState$1>[TKey], Omit<Partial<ExtendedRulesDeclarations>, keyof TCustom> & Partial<TCustom>> };
|
|
1388
|
+
/**
|
|
1389
|
+
* @internal
|
|
1390
|
+
* @reference {@link ReglePartialRuleTree}
|
|
1391
|
+
*/
|
|
1392
|
+
type $InternalReglePartialRuleTree = {
|
|
1393
|
+
[x: string]: $InternalFormPropertyTypes;
|
|
1394
|
+
} & {
|
|
1395
|
+
$self?: $InternalRegleRuleDecl;
|
|
1396
|
+
};
|
|
1397
|
+
/**
|
|
1398
|
+
* @public
|
|
1399
|
+
*/
|
|
1400
|
+
type RegleFormPropertyType<TValue$1 = any, TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = [NonNullable<TValue$1>] extends [never] ? MaybeRefOrComputedRef<RegleRuleDecl<TValue$1, TCustomRules>> : NonNullable<TValue$1> extends Array<any> ? RegleCollectionRuleDecl<TValue$1, TCustomRules> : NonNullable<TValue$1> extends Date ? MaybeRefOrComputedRef<RegleRuleDecl<NonNullable<TValue$1>, TCustomRules>> : NonNullable<TValue$1> extends File ? MaybeRefOrComputedRef<RegleRuleDecl<NonNullable<TValue$1>, TCustomRules>> : NonNullable<TValue$1> extends Ref<infer V> ? RegleFormPropertyType<V, TCustomRules> : NonNullable<TValue$1> extends Record<string, any> ? NonNullable<TValue$1> extends RegleStatic<infer U> ? MaybeRefOrComputedRef<RegleRuleDecl<Raw<U>, TCustomRules>> : ReglePartialRuleTree<NonNullable<TValue$1>, TCustomRules> : MaybeRefOrComputedRef<RegleRuleDecl<NonNullable<TValue$1>, TCustomRules>>;
|
|
1401
|
+
/**
|
|
1402
|
+
* @internal
|
|
1403
|
+
* @reference {@link RegleFormPropertyType}
|
|
1404
|
+
*/
|
|
1405
|
+
type $InternalFormPropertyTypes = MaybeRefOrComputedRef<$InternalRegleRuleDecl> | $InternalRegleCollectionRuleDecl | $InternalReglePartialRuleTree | FieldRegleBehaviourOptions;
|
|
1406
|
+
/**
|
|
1407
|
+
* @public
|
|
1408
|
+
* Rule tree for a form property
|
|
1409
|
+
*/
|
|
1410
|
+
type RegleRuleDecl<TValue$1 extends any = any, TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<DefaultValidatorsTree>, TOptions extends Record<string, unknown> = FieldRegleBehaviourOptions<TValue$1>> = TOptions & { [TKey in keyof RemoveIndexSignature<TCustomRules>]?: FormRuleDeclaration<TValue$1, any[]> } & {
|
|
1411
|
+
[x: string]: FormRuleDeclaration<TValue$1, any[]> | boolean | number | undefined;
|
|
1412
|
+
};
|
|
1413
|
+
/**
|
|
1414
|
+
* @internal
|
|
1415
|
+
* @reference {@link RegleRuleDecl}
|
|
1416
|
+
*/
|
|
1417
|
+
type $InternalRegleRuleDecl = FieldRegleBehaviourOptions & CollectionRegleBehaviourOptions & Record<string, FormRuleDeclaration<any, any>>;
|
|
1418
|
+
/**
|
|
1419
|
+
* @public
|
|
1420
|
+
*/
|
|
1421
|
+
type RegleCollectionRuleDeclKeyProperty = {
|
|
1422
|
+
$key?: PropertyKey;
|
|
1423
|
+
};
|
|
1424
|
+
/**
|
|
1425
|
+
* @public
|
|
1426
|
+
*/
|
|
1427
|
+
type RegleCollectionRuleDecl<TValue$1 = any[], TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = ({
|
|
1428
|
+
$each?: RegleCollectionEachRules<TValue$1, TCustomRules>;
|
|
1429
|
+
} & RegleRuleDecl<NonNullable<TValue$1>, TCustomRules, CollectionRegleBehaviourOptions>) | ({
|
|
1430
|
+
$each?: RegleCollectionEachRules<TValue$1, TCustomRules>;
|
|
1431
|
+
} & CollectionRegleBehaviourOptions);
|
|
1432
|
+
/** @public */
|
|
1433
|
+
type RegleCollectionEachRules<TValue$1 = any[], TCustomRules extends Partial<ExtendedRulesDeclarations> = Partial<ExtendedRulesDeclarations>> = MaybeGetter<RegleFormPropertyType<ArrayElement<NonNullable<TValue$1>>, TCustomRules>, ArrayElement<TValue$1>, RegleCollectionRuleDeclKeyProperty, RegleFormPropertyType<ArrayElement<NonNullable<TValue$1>>, TCustomRules>>;
|
|
1434
|
+
/**
|
|
1435
|
+
* @internal
|
|
1436
|
+
* @reference {@link RegleCollectionRuleDecl}
|
|
1437
|
+
*/
|
|
1438
|
+
type $InternalRegleCollectionRuleDecl = $InternalRegleRuleDecl & {
|
|
1439
|
+
$each?: MaybeGetter<$InternalFormPropertyTypes & RegleCollectionRuleDeclKeyProperty, any, {}, {
|
|
1440
|
+
$self?: $InternalRegleFieldStatus;
|
|
1441
|
+
}>;
|
|
1442
|
+
};
|
|
1443
|
+
/**
|
|
1444
|
+
* @public
|
|
1445
|
+
*/
|
|
1446
|
+
type InlineRuleDeclaration<TValue$1 extends any = any, TParams$1 extends any[] = any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = boolean> = (value: Maybe<TValue$1>, ...args: UnwrapRegleUniversalParams<TParams$1>) => TReturn;
|
|
1447
|
+
/**
|
|
1448
|
+
* @public
|
|
1449
|
+
* Regroup inline and registered rules
|
|
1450
|
+
* */
|
|
1451
|
+
type FormRuleDeclaration<TValue$1 extends any = unknown, TParams$1 extends any[] = any[], TReturn extends RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition> = RegleRuleMetadataDefinition | Promise<RegleRuleMetadataDefinition>, TMetadata$1 extends RegleRuleMetadataDefinition = (TReturn extends Promise<infer M> ? M : TReturn), TAsync$1 extends boolean = boolean> = InlineRuleDeclaration<TValue$1, TParams$1, TReturn> | RegleRuleDefinition<unknown, TValue$1, TParams$1, TAsync$1, TMetadata$1, any, any, boolean> | RegleRuleWithParamsDefinitionInput<unknown, TValue$1, [param?: any], TAsync$1, TMetadata$1> | RegleRuleWithParamsDefinitionInput<unknown, TValue$1, [param?: any, ...any[]], TAsync$1, TMetadata$1>;
|
|
1452
|
+
type RegleErrorTree<TState$1 = MaybeRef<Record<string, any> | any[]>, TIssue extends boolean = false, TSchema extends boolean = false> = { readonly [K in keyof JoinDiscriminatedUnions<UnwrapMaybeRef<TState$1>>]: RegleValidationErrors<JoinDiscriminatedUnions<UnwrapMaybeRef<TState$1>>[K], false, TIssue, TSchema> } & {
|
|
1453
|
+
readonly $self?: string[];
|
|
1454
|
+
};
|
|
1455
|
+
type RegleIssuesTree<TState$1 = MaybeRef<Record<string, any> | any[]>, TSchema extends boolean = false> = { readonly [K in keyof JoinDiscriminatedUnions<UnwrapMaybeRef<TState$1>>]: RegleValidationErrors<JoinDiscriminatedUnions<UnwrapMaybeRef<TState$1>>[K], false, true, TSchema> } & {
|
|
1456
|
+
readonly $self?: RegleFieldIssue[];
|
|
1457
|
+
};
|
|
1458
|
+
type RegleExternalErrorTree<TState$1 = MaybeRef<Record<string, any> | any[]>, TSchema extends boolean = false> = { readonly [K in keyof JoinDiscriminatedUnions<UnwrapMaybeRef<TState$1>>]?: RegleValidationErrors<JoinDiscriminatedUnions<UnwrapMaybeRef<TState$1>>[K], true, TSchema> } & {
|
|
1459
|
+
readonly $self?: RegleFieldIssue[];
|
|
1460
|
+
};
|
|
1438
1461
|
type RegleExternalSchemaErrorTree<TState$1 = MaybeRef<Record<string, any> | any[]>, TSchema extends boolean = false> = { readonly [K in keyof JoinDiscriminatedUnions<UnwrapMaybeRef<TState$1>>]?: RegleValidationErrors<JoinDiscriminatedUnions<UnwrapMaybeRef<TState$1>>[K], true, true, TSchema> };
|
|
1439
1462
|
type ErrorMessageOrIssue<TIssue extends boolean> = TIssue extends true ? RegleFieldIssue[] : string[];
|
|
1440
1463
|
type RegleValidationErrors<TState$1 extends Record<string, any> | any[] | unknown = never, TExternal extends boolean = false, TIssue extends boolean = false, TSchema extends boolean = false> = HasNamedKeys<TState$1> extends true ? IsAny<TState$1> extends true ? any : NonNullable<TState$1> extends Array<infer U> ? TSchema extends false ? U extends Record<string, any> ? TExternal extends false ? RegleCollectionErrors<U, TIssue, TSchema> : RegleExternalCollectionErrors<U, TIssue, TSchema> : ErrorMessageOrIssue<TIssue> : RegleCollectionErrors<U, TIssue, TSchema> : NonNullable<TState$1> extends Date | File ? ErrorMessageOrIssue<TIssue> : NonNullable<TState$1> extends Record<string, any> ? IsRegleStatic<NonNullable<TState$1>> extends true ? ErrorMessageOrIssue<TIssue> : TExternal extends false ? RegleErrorTree<TState$1, TIssue, TSchema> : RegleExternalErrorTree<TState$1, TSchema> : ErrorMessageOrIssue<TIssue> : any;
|
|
@@ -1573,7 +1596,7 @@ type SuperCompatibleRegleCollectionIssues = $InternalRegleCollectionIssues;
|
|
|
1573
1596
|
*
|
|
1574
1597
|
* @see {@link https://reglejs.dev/core-concepts/rules/reusable-rules Documentation}
|
|
1575
1598
|
*/
|
|
1576
|
-
declare function createRule<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)>(definition: RegleRuleInit<TValue$1, TParams$1, TReturn, TMetadata$1, TAsync$1>): InferRegleRule<TValue$1, TParams$1, TAsync$1, TMetadata$1>;
|
|
1599
|
+
declare function createRule<const 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), TNonEmpty extends boolean = false>(definition: RegleRuleInit<TType$1, TValue$1, TParams$1, TReturn, TMetadata$1, TAsync$1, TNonEmpty>): InferRegleRule<TType$1, TValue$1, TParams$1, TAsync$1, TMetadata$1, TNonEmpty>;
|
|
1577
1600
|
/**
|
|
1578
1601
|
* Returns a clean list of parameters
|
|
1579
1602
|
* Removing Ref and executing function to return the unwrapped value
|
|
@@ -1986,4 +2009,4 @@ declare function refineRules<TRules$1 extends RegleUnknownRulesTree, TRefinement
|
|
|
1986
2009
|
* @see {@link https://reglejs.dev/introduction/devtools Documentation}
|
|
1987
2010
|
*/
|
|
1988
2011
|
declare const RegleVuePlugin: Plugin;
|
|
1989
|
-
export { type $InternalRegleStatus, type AllRulesDeclarations, type ArrayElement, type CommonAlphaOptions, type CommonComparisonOptions, type CreateScopedUseRegleOptions, type DeepMaybeRef, type DeepPartial, type DeepReactiveState, type DefaultValidatorsTree, type DumbJoinDiscriminatedUnions, type ExtendedRulesDeclarations, type FormRuleDeclaration, type GlobalConfigOverrides, type HasNamedKeys, type HaveAnyRequiredProps, type InferInput, type InferOutput, type InferRegleRoot, type InferRegleRule, type InferRegleRules, type InferRegleSettings, type InferRegleShortcuts, type InferRegleStatusType, type InferRegleValidationResult, type InferSafeOutput, type InferValidOutput, type InlineRuleDeclaration, InternalRuleType, type IsRegleStatic, type JoinDiscriminatedUnions, type LazyJoinDiscriminatedUnions, type LocalRegleBehaviourOptions, type Maybe, type MaybeInput, type MaybeOutput, type MaybeReadonly, type MaybeVariantStatus, type MergedRegles, type MergedScopedRegles, type NarrowVariant, type NarrowVariantExtracts, type NarrowVariantFieldExtracts, type NoInferLegacy, type NonEmptyTuple, type PrimitiveTypes, type Regle, type RegleBehaviourOptions, type RegleCollectionErrors, type RegleCollectionRuleDecl, type RegleCollectionRuleDefinition, type RegleCollectionStatus, type RegleCommonStatus, type RegleComputedRules, type RegleCustomFieldStatus, type RegleEnforceCustomRequiredRules, type RegleEnforceRequiredRules, type RegleErrorTree, type RegleExternalCollectionErrors, type RegleExternalErrorTree, type RegleExternalSchemaErrorTree, type RegleFieldIssue, type RegleFieldStatus, type RegleFormPropertyType, type RegleInternalRuleDefs, type RegleIssuesTree, type RegleLike, type ReglePartialRuleTree, type RegleResult, type RegleRoot, type RegleRuleCore, type RegleRuleDecl, type RegleRuleDefinition, type RegleRuleDefinitionProcessor, type RegleRuleDefinitionWithMetadataProcessor, type RegleRuleInit, type RegleRuleMetadataConsumer, type RegleRuleMetadataDefinition, type RegleRuleMetadataExtended, type RegleRuleRaw, type RegleRuleStatus, type RegleRuleTypeReturn, type RegleRuleWithParamsDefinition, type RegleRuleWithParamsDefinitionInput, type RegleShortcutDefinition, type RegleSingleField, type RegleStatic, type RegleStaticImpl, type RegleStatus, type RegleUniversalParams, type RegleUnknownRulesTree, type RegleValidationErrors, type RegleValidationGroupEntry, type RegleValidationGroupOutput, type RegleRuleTree as RegleValidationTree, RegleVuePlugin, type ResolvedRegleBehaviourOptions, type ScopedInstancesRecord, type ScopedInstancesRecordLike, type SuperCompatibleRegle, type SuperCompatibleRegleCollectionErrors, type SuperCompatibleRegleCollectionStatus, type SuperCompatibleRegleFieldStatus, type SuperCompatibleRegleResult, type SuperCompatibleRegleRoot, type SuperCompatibleRegleRuleStatus, type SuperCompatibleRegleStatus, type TupleToPlainObj, type Unwrap, type UnwrapRegleUniversalParams, type UnwrapRuleWithParams, type UnwrapStatic, type UseScopedRegleOptions, createRule, createScopedUseRegle, createVariant, defineRegleConfig, defineRules, extendRegleConfig, flatErrors, inferRules, type inferRulesFn, type isEditedHandlerFn, markStatic, mergeRegles, narrowVariant, refineRules, unwrapRuleParameters, useCollectScope, type useCollectScopeFn, useRegle, type useRegleFn, useRootStorage, useRules, type useRulesFn, useScopedRegle, variantToRef };
|
|
2012
|
+
export { type $InternalRegleStatus, type AllRulesDeclarations, type ArrayElement, type CommonAlphaOptions, type CommonComparisonOptions, type CreateScopedUseRegleOptions, type DeepMaybeRef, type DeepPartial, type DeepReactiveState, type DefaultValidatorsTree, type DumbJoinDiscriminatedUnions, type ExtendedRulesDeclarations, type FormRuleDeclaration, type GlobalConfigOverrides, type HasNamedKeys, type HaveAnyRequiredProps, type InferInput, type InferOutput, type InferRegleRoot, type InferRegleRule, type InferRegleRules, type InferRegleSettings, type InferRegleShortcuts, type InferRegleStatusType, type InferRegleValidationResult, type InferSafeOutput, type InferValidOutput, type InlineRuleDeclaration, InternalRuleType, type IsRegleStatic, type JoinDiscriminatedUnions, type LazyJoinDiscriminatedUnions, type LocalRegleBehaviourOptions, type Maybe, type MaybeInput, type MaybeOutput, type MaybeReadonly, type MaybeVariantStatus, type MergedRegles, type MergedScopedRegles, type NarrowVariant, type NarrowVariantExtracts, type NarrowVariantFieldExtracts, type NoInferLegacy, type NonEmptyTuple, type Prettify, type PrimitiveTypes, type Regle, type RegleBehaviourOptions, type RegleCollectionErrors, type RegleCollectionRuleDecl, type RegleCollectionRuleDefinition, type RegleCollectionStatus, type RegleCommonStatus, type RegleComputedRules, type RegleCustomFieldStatus, type RegleEnforceCustomRequiredRules, type RegleEnforceRequiredRules, type RegleErrorTree, type RegleExternalCollectionErrors, type RegleExternalErrorTree, type RegleExternalSchemaErrorTree, type RegleFieldIssue, type RegleFieldStatus, type RegleFormPropertyType, type RegleInternalRuleDefs, type RegleIssuesTree, type RegleLike, type ReglePartialRuleTree, type RegleResult, type RegleRoot, type RegleRuleCore, type RegleRuleDecl, type RegleRuleDefinition, type RegleRuleDefinitionProcessor, type RegleRuleDefinitionWithMetadataProcessor, type RegleRuleInit, type RegleRuleMetadataConsumer, type RegleRuleMetadataDefinition, type RegleRuleMetadataExtended, type RegleRuleRaw, type RegleRuleStatus, type RegleRuleTypeReturn, type RegleRuleWithParamsDefinition, type RegleRuleWithParamsDefinitionInput, type RegleShortcutDefinition, type RegleSingleField, type RegleStatic, type RegleStaticImpl, type RegleStatus, type RegleUniversalParams, type RegleUnknownRulesTree, type RegleValidationErrors, type RegleValidationGroupEntry, type RegleValidationGroupOutput, type RegleRuleTree as RegleValidationTree, RegleVuePlugin, type ResolvedRegleBehaviourOptions, type ScopedInstancesRecord, type ScopedInstancesRecordLike, type SuperCompatibleRegle, type SuperCompatibleRegleCollectionErrors, type SuperCompatibleRegleCollectionStatus, type SuperCompatibleRegleFieldStatus, type SuperCompatibleRegleResult, type SuperCompatibleRegleRoot, type SuperCompatibleRegleRuleStatus, type SuperCompatibleRegleStatus, type TupleToPlainObj, type Unwrap, type UnwrapRegleUniversalParams, type UnwrapRuleWithParams, type UnwrapStatic, type UseScopedRegleOptions, createRule, createScopedUseRegle, createVariant, defineRegleConfig, defineRules, extendRegleConfig, flatErrors, inferRules, type inferRulesFn, type isEditedHandlerFn, markStatic, mergeRegles, narrowVariant, refineRules, unwrapRuleParameters, useCollectScope, type useCollectScopeFn, useRegle, type useRegleFn, useRootStorage, useRules, type useRulesFn, useScopedRegle, variantToRef };
|