@modular-forms/solid
Advanced tools
Comparing version 0.8.2 to 0.8.3
@@ -6,7 +6,7 @@ import { Accessor, Setter, JSX } from 'solid-js'; | ||
*/ | ||
declare type IsTuple<T extends Array<any>> = number extends T['length'] ? false : true; | ||
declare type IsTuple<T extends any[]> = number extends T['length'] ? false : true; | ||
/** | ||
* Returns its own keys for a tuple type. | ||
*/ | ||
declare type TupleKeys<T extends Array<any>> = Exclude<keyof T, keyof any[]>; | ||
declare type TupleKeys<T extends any[]> = Exclude<keyof T, keyof any[]>; | ||
/** | ||
@@ -34,3 +34,3 @@ * Can be used to index an array or tuple type. | ||
*/ | ||
declare type ValuePaths<T> = T extends Array<infer V> ? IsTuple<T> extends true ? { | ||
declare type ValuePaths<T> = T extends (infer V)[] ? IsTuple<T> extends true ? { | ||
[K in TupleKeys<T>]-?: ValuePath<K & string, T[K]>; | ||
@@ -47,3 +47,3 @@ }[TupleKeys<T>] : ValuePath<ArrayKey, V> : { | ||
*/ | ||
declare type PathValue<T, P extends ValuePaths<T> | ArrayPaths<T>> = P extends `${infer K}.${infer R}` ? K extends keyof T ? R extends ValuePaths<T[K]> ? PathValue<T[K], R> : never : K extends `${ArrayKey}` ? T extends Array<infer V> ? PathValue<V, R & ValuePaths<V>> : never : never : P extends keyof T ? T[P] : never; | ||
declare type PathValue<T, P extends ValuePaths<T> | ArrayPaths<T>> = P extends `${infer K}.${infer R}` ? K extends keyof T ? R extends ValuePaths<T[K]> ? PathValue<T[K], R> : never : K extends `${ArrayKey}` ? T extends (infer V)[] ? PathValue<V, R & ValuePaths<V>> : never : never : P extends keyof T ? T[P] : never; | ||
/** | ||
@@ -56,7 +56,7 @@ * See {@link PathValue} | ||
*/ | ||
declare type ArrayPath<K extends string | number, V> = V extends Array<any> ? `${K}` | `${K}.${ArrayPaths<V>}` : V extends FieldValues ? `${K}.${ArrayPaths<V>}` : never; | ||
declare type ArrayPath<K extends string | number, V> = V extends any[] ? `${K}` | `${K}.${ArrayPaths<V>}` : V extends FieldValues ? `${K}.${ArrayPaths<V>}` : never; | ||
/** | ||
* Returns all paths of a type that lead to a field array. | ||
*/ | ||
declare type ArrayPaths<T> = T extends Array<infer V> ? IsTuple<T> extends true ? { | ||
declare type ArrayPaths<T> = T extends (infer V)[] ? IsTuple<T> extends true ? { | ||
[K in TupleKeys<T>]-?: ArrayPath<K & string, T[K]>; | ||
@@ -427,3 +427,3 @@ }[TupleKeys<T>] : ArrayPath<ArrayKey, V> : { | ||
declare type InsertOptions<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues>, TFieldArrayValues extends FieldArrayPathValue<TFieldValues, TFieldArrayName> & Array<unknown>> = Partial<{ | ||
declare type InsertOptions<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues>, TFieldArrayValues extends FieldArrayPathValue<TFieldValues, TFieldArrayName> & unknown[]> = Partial<{ | ||
at: number; | ||
@@ -439,3 +439,3 @@ value: DeepPartial<TFieldArrayValues[number]>; | ||
*/ | ||
declare function insert<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldArrayName extends FieldArrayPath<TFieldValues>, TFieldArrayValues extends FieldArrayPathValue<TFieldValues, TFieldArrayName> & Array<unknown>>(form: FormState<TFieldValues>, name: TFieldArrayName, options?: InsertOptions<TFieldValues, TFieldArrayName, TFieldArrayValues>): void; | ||
declare function insert<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldArrayName extends FieldArrayPath<TFieldValues>, TFieldArrayValues extends FieldArrayPathValue<TFieldValues, TFieldArrayName> & unknown[]>(form: FormState<TFieldValues>, name: TFieldArrayName, options?: InsertOptions<TFieldValues, TFieldArrayName, TFieldArrayValues>): void; | ||
@@ -468,3 +468,3 @@ declare type MoveOptions = { | ||
declare type ReplaceOptions<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues>, TFieldArrayValues extends FieldArrayPathValue<TFieldValues, TFieldArrayName> & Array<unknown>> = { | ||
declare type ReplaceOptions<TFieldValues extends FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues>, TFieldArrayValues extends FieldArrayPathValue<TFieldValues, TFieldArrayName> & unknown[]> = { | ||
at: number; | ||
@@ -480,3 +480,3 @@ value?: DeepPartial<TFieldArrayValues[number]>; | ||
*/ | ||
declare function replace<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldArrayName extends FieldArrayPath<TFieldValues>, TFieldArrayValues extends FieldArrayPathValue<TFieldValues, TFieldArrayName> & Array<unknown>>(form: FormState<TFieldValues>, name: TFieldArrayName, options: ReplaceOptions<TFieldValues, TFieldArrayName, TFieldArrayValues>): void; | ||
declare function replace<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldArrayName extends FieldArrayPath<TFieldValues>, TFieldArrayValues extends FieldArrayPathValue<TFieldValues, TFieldArrayName> & unknown[]>(form: FormState<TFieldValues>, name: TFieldArrayName, options: ReplaceOptions<TFieldValues, TFieldArrayName, TFieldArrayValues>): void; | ||
@@ -483,0 +483,0 @@ declare type ResetOptions<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> = Partial<{ |
{ | ||
"name": "@modular-forms/solid", | ||
"description": "The modular form library for SolidJS", | ||
"version": "0.8.2", | ||
"version": "0.8.3", | ||
"license": "MIT", | ||
@@ -6,0 +6,0 @@ "author": "Fabian Hiller", |
135104