@regle/schemas 1.5.1 → 1.5.3

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.
@@ -1145,6 +1145,16 @@ type RegleShortcutDefinition<TCustomRules extends Record<string, any> = {}> = {
1145
1145
  type AddDollarToOptions<T extends Record<string, any>> = { [K in keyof T as `$${string & K}`]: T[K] };
1146
1146
  //#endregion
1147
1147
  //#region src/types/core/useRegle.types.d.ts
1148
+ /**
1149
+ * The main Regle type that represents a complete validation instance.
1150
+ *
1151
+ * @template TState - The shape of the state object being validated
1152
+ * @template TRules - The validation rules tree for the state
1153
+ * @template TValidationGroups - Groups of validation rules that can be run together
1154
+ * @template TShortcuts - Custom shortcut definitions for common validation patterns
1155
+ * @template TAdditionalReturnProperties - Additional properties to extend the return type
1156
+ *
1157
+ */
1148
1158
  type Regle<TState extends Record<string, any> = EmptyObject$1, TRules extends ReglePartialRuleTree<TState, CustomRulesDeclarationTree> = EmptyObject$1, TValidationGroups extends Record<string, RegleValidationGroupEntry[]> = {}, TShortcuts extends RegleShortcutDefinition = {}, TAdditionalReturnProperties extends Record<string, any> = {}> = {
1149
1159
  /**
1150
1160
  * r$ is a reactive object containing the values, errors, dirty state and all the necessary validations properties you'll need to display information.
@@ -1153,6 +1163,14 @@ type Regle<TState extends Record<string, any> = EmptyObject$1, TRules extends Re
1153
1163
  */
1154
1164
  r$: Raw<RegleRoot<TState, TRules, TValidationGroups, TShortcuts>>;
1155
1165
  } & TAdditionalReturnProperties;
1166
+ /**
1167
+ * The type for a single field validation instance.
1168
+ *
1169
+ * @template TState - The type of the state value being validated
1170
+ * @template TRules - The validation rules for the field
1171
+ * @template TShortcuts - Custom shortcut definitions for common validation patterns
1172
+ * @template TAdditionalReturnProperties - Additional properties to extend the return type
1173
+ */
1156
1174
  type RegleSingleField<TState extends Maybe<PrimitiveTypes> = any, TRules extends RegleRuleDecl<NonNullable<TState>> = EmptyObject$1, TShortcuts extends RegleShortcutDefinition = {}, TAdditionalReturnProperties extends Record<string, any> = {}> = {
1157
1175
  /**
1158
1176
  * r$ is a reactive object containing the values, errors, dirty state and all the necessary validations properties you'll need to display information.
@@ -1193,10 +1211,10 @@ type ScopedInstancesRecordLike = Partial<ScopedInstancesRecord>;
1193
1211
  type PartialFormState<TState extends Record<string, any>> = [unknown] extends [TState] ? {} : Prettify<{ [K in keyof TState as ExtendOnlyRealRecord<TState[K]> extends true ? never : TState[K] extends Array<any> ? never : K]?: MaybeOutput<TState[K]> } & { [K in keyof TState as ExtendOnlyRealRecord<TState[K]> extends true ? K : TState[K] extends Array<any> ? K : never]: NonNullable<TState[K]> extends Array<infer U extends Record<string, any>> ? PartialFormState<U>[] : PartialFormState<TState[K]> }>;
1194
1212
  type RegleResult<Data extends Record<string, any> | any[] | unknown, TRules extends ReglePartialRuleTree<any>> = {
1195
1213
  valid: false;
1196
- data: IsUnknown<Data> extends true ? unknown : NonNullable<Data> extends Date | File ? MaybeOutput<Data> : NonNullable<Data> extends Array<infer U extends Record<string, any>> ? PartialFormState<U>[] : NonNullable<Data> extends Record<string, any> ? PartialFormState<NonNullable<Data>> : MaybeOutput<Data>;
1214
+ data: IsUnknown<Data> extends true ? unknown : IsAny$1<Data> extends true ? unknown : HasNamedKeys<Data> extends true ? NonNullable<Data> extends Date | File ? MaybeOutput<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;
1197
1215
  } | {
1198
1216
  valid: true;
1199
- data: IsUnknown<Data> extends true ? unknown : Data extends Array<infer U extends Record<string, any>> ? DeepSafeFormState<U, TRules>[] : Data extends Date | File ? SafeFieldProperty<Data, TRules> : Data extends Record<string, any> ? DeepSafeFormState<Data, TRules> : SafeFieldProperty<Data, TRules>;
1217
+ data: IsUnknown<Data> extends true ? unknown : IsAny$1<Data> extends true ? unknown : HasNamedKeys<Data> extends true ? Data extends Array<infer U extends Record<string, any>> ? DeepSafeFormState<U, TRules>[] : Data extends Date | File ? SafeFieldProperty<Data, TRules> : Data extends Record<string, any> ? DeepSafeFormState<Data, TRules> : SafeFieldProperty<Data, TRules> : unknown;
1200
1218
  };
1201
1219
  /**
1202
1220
  * Infer safe output from any `r$` instance
@@ -1764,7 +1782,7 @@ type NormalizeUnion<TUnion> = RetrieveUnionUnknownValues<NonNullable<UnionToTupl
1764
1782
  /**
1765
1783
  * Combine all members of a union type, merging types for each key, and keeping loose types
1766
1784
  */
1767
- type JoinDiscriminatedUnions<TUnion extends unknown> = isRecordLiteral<TUnion> extends true ? Prettify<Partial<UnionToIntersection<RemoveCommonKey<UnionToTuple<NonNullable<TUnion>>, keyof NormalizeUnion<NonNullable<TUnion>>>[number]>> & Pick<NormalizeUnion<NonNullable<TUnion>>, keyof NormalizeUnion<NonNullable<TUnion>>>> : TUnion;
1785
+ type JoinDiscriminatedUnions<TUnion extends unknown> = HasNamedKeys<TUnion> extends true ? isRecordLiteral<TUnion> extends true ? Prettify<Partial<UnionToIntersection<RemoveCommonKey<UnionToTuple<NonNullable<TUnion>>, keyof NormalizeUnion<NonNullable<TUnion>>>[number]>> & Pick<NormalizeUnion<NonNullable<TUnion>>, keyof NormalizeUnion<NonNullable<TUnion>>>> : TUnion : TUnion;
1768
1786
  type EnumLike = {
1769
1787
  [k: string]: string | number;
1770
1788
  [nu: number]: string;
@@ -2058,7 +2076,7 @@ type FormRuleDeclaration<TValue extends any = unknown, TParams extends any[] = a
2058
2076
  /**
2059
2077
  * @public
2060
2078
  */
2061
- type RegleRoot<TState extends Record<string, any> = {}, TRules extends ReglePartialRuleTree<TState> = Record<string, any>, TValidationGroups extends Record<string, RegleValidationGroupEntry[]> = never, TShortcuts extends RegleShortcutDefinition = {}> = MaybeVariantStatus<TState, TRules, TShortcuts> & ([TValidationGroups] extends [never] ? {} : {
2079
+ type RegleRoot<TState extends Record<string, unknown> = {}, TRules extends ReglePartialRuleTree<TState> = Record<string, any>, TValidationGroups extends Record<string, RegleValidationGroupEntry[]> = never, TShortcuts extends RegleShortcutDefinition = {}> = MaybeVariantStatus<TState, TRules, TShortcuts> & ([TValidationGroups] extends [never] ? {} : {
2062
2080
  /**
2063
2081
  * Collection of validation groups used declared with the `validationGroups` modifier
2064
2082
  */
@@ -2098,7 +2116,7 @@ type RegleStatus<TState extends Record<string, any> | undefined = Record<string,
2098
2116
  /**
2099
2117
  * @public
2100
2118
  */
2101
- type InferRegleStatusType<TRule extends RegleCollectionRuleDecl | RegleRuleDecl | ReglePartialRuleTree<any>, TState extends Record<PropertyKey, any> = any, TKey extends PropertyKey = string, TShortcuts extends RegleShortcutDefinition = {}> = [TState[TKey]] extends [undefined | null] ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Array<infer U extends Record<string, any>> ? ExtendOnlyRealRecord<U> extends true ? TRule extends RegleCollectionRuleDefinition<any, any> ? ExtractFromGetter<TRule['$each']> extends ReglePartialRuleTree<any> ? RegleCollectionStatus<TState[TKey], ExtractFromGetter<TRule['$each']>, TRule, TShortcuts> : RegleFieldStatus<TState[TKey], TRule, TShortcuts> : RegleCollectionStatus<TState[TKey], {}, TRule, TShortcuts> : RegleFieldStatus<TState[TKey], TRule, TShortcuts> : TRule extends ReglePartialRuleTree<any> ? NonNullable<TState[TKey]> extends Array<any> ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Date | File ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : unknown extends TState[TKey] ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Record<PropertyKey, any> ? MaybeVariantStatus<TState[TKey], TRule, TShortcuts> : RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Date | File ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : unknown extends TState[TKey] ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Record<PropertyKey, any> ? MaybeVariantStatus<TState[TKey], ReglePartialRuleTree<TState[TKey]>, TShortcuts> : RegleFieldStatus<TState[TKey], TRule, TShortcuts>;
2119
+ type InferRegleStatusType<TRule extends RegleCollectionRuleDecl | RegleRuleDecl | ReglePartialRuleTree<any>, TState extends Record<PropertyKey, any> = any, TKey extends PropertyKey = string, TShortcuts extends RegleShortcutDefinition = {}> = HasNamedKeys<TState> extends true ? [TState[TKey]] extends [undefined | null] ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Array<infer U extends Record<string, any>> ? ExtendOnlyRealRecord<U> extends true ? TRule extends RegleCollectionRuleDefinition<any, any> ? ExtractFromGetter<TRule['$each']> extends ReglePartialRuleTree<any> ? RegleCollectionStatus<TState[TKey], ExtractFromGetter<TRule['$each']>, TRule, TShortcuts> : RegleFieldStatus<TState[TKey], TRule, TShortcuts> : RegleCollectionStatus<TState[TKey], {}, TRule, TShortcuts> : RegleFieldStatus<TState[TKey], TRule, TShortcuts> : TRule extends ReglePartialRuleTree<any> ? NonNullable<TState[TKey]> extends Array<any> ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Date | File ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : unknown extends TState[TKey] ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Record<PropertyKey, any> ? MaybeVariantStatus<TState[TKey], TRule, TShortcuts> : RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Date | File ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : unknown extends TState[TKey] ? RegleFieldStatus<TState[TKey], TRule, TShortcuts> : NonNullable<TState[TKey]> extends Record<PropertyKey, any> ? MaybeVariantStatus<TState[TKey], ReglePartialRuleTree<TState[TKey]>, TShortcuts> : RegleFieldStatus<TState[TKey], TRule, TShortcuts> : RegleCommonStatus<unknown>;
2102
2120
  /**
2103
2121
  * @internal
2104
2122
  * @reference {@link InferRegleStatusType}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@regle/schemas",
3
- "version": "1.5.1",
3
+ "version": "1.5.3",
4
4
  "description": "Schemas adapter for Regle",
5
5
  "dependencies": {
6
6
  "@standard-schema/spec": "1.0.0",
7
- "@regle/core": "1.5.1",
8
- "@regle/rules": "1.5.1"
7
+ "@regle/core": "1.5.3",
8
+ "@regle/rules": "1.5.3"
9
9
  },
10
10
  "peerDependencies": {
11
11
  "valibot": "^1.0.0",
@@ -25,23 +25,23 @@
25
25
  },
26
26
  "devDependencies": {
27
27
  "@total-typescript/ts-reset": "0.6.1",
28
- "@types/node": "22.15.29",
29
- "@typescript-eslint/eslint-plugin": "8.28.0",
30
- "@typescript-eslint/parser": "8.28.0",
28
+ "@types/node": "22.15.33",
29
+ "@typescript-eslint/eslint-plugin": "8.37.0",
30
+ "@typescript-eslint/parser": "8.37.0",
31
31
  "@vue/test-utils": "2.4.6",
32
- "eslint": "9.28.0",
32
+ "eslint": "9.29.0",
33
33
  "eslint-config-prettier": "10.1.5",
34
- "eslint-plugin-vue": "10.1.0",
35
- "prettier": "3.5.3",
36
- "tsdown": "0.12.8",
34
+ "eslint-plugin-vue": "10.2.0",
35
+ "prettier": "3.6.1",
36
+ "tsdown": "0.12.9",
37
37
  "type-fest": "4.41.0",
38
38
  "typescript": "5.8.3",
39
39
  "valibot": "1.1.0",
40
- "vitest": "3.2.2",
41
- "vue": "3.5.16",
42
- "vue-eslint-parser": "10.1.3",
40
+ "vitest": "3.2.4",
41
+ "vue": "3.5.17",
42
+ "vue-eslint-parser": "10.1.4",
43
43
  "vue-tsc": "2.2.10",
44
- "zod": "3.25.51"
44
+ "zod": "3.25.67"
45
45
  },
46
46
  "type": "module",
47
47
  "exports": {