API Documentation

API Documentation

Classes

Component Variables

Other Variables

Other Functions

Use Functions

Type Aliases

ArrayFieldPath

Ƭ ArrayFieldPath<T, L>: T extends NestedValueType | NativeObjectType ? never : T extends infer U[] ? U extends ObjectType ? L | Join<Join<L, `${number}`>, ArrayFieldPath<U>> : L : T extends ObjectType ? { [key: string]: any; } extends T ? string : { [K in keyof T]: Join<Join<L, K>, ArrayFieldPath<T[K]>> }[keyof T] : never

Type parameters

NameType
Textends ObjectType
Lextends string = ""

Defined in

packages/vfm/src/types.ts:304open in new window


ArrayItem

Ƭ ArrayItem<T>: T extends infer U[] ? U : never

Type parameters

Name
T

Defined in

packages/vfm/src/types.ts:321open in new window


ArrayPathToString

Ƭ ArrayPathToString<T>: T extends `${number}` ? 0 : T

Type parameters

Name
T

Defined in

packages/vfm/src/types.ts:44open in new window


AutoPath

Ƭ AutoPath<T, L>: T extends NestedValueType | NativeObjectType ? L : T extends infer U[] ? U extends ObjectType ? Join<L, `${number}`> | Join<Join<L, `${number}`>, AutoPath<U>> : Join<L, `${number}`> : T extends ObjectType ? { [key: string]: any; } extends T ? string : { [K in keyof T]: Join<L, K> | Join<Join<L, K>, AutoPath<T[K]>> }[keyof T] : L

Type parameters

NameType
Textends ObjectType
Lextends string = ""

Defined in

packages/vfm/src/types.ts:272open in new window


DeepPartial

Ƭ DeepPartial<T>: T extends NativeObjectType | NestedValueType ? T : T extends infer U[] ? U extends ObjectType ? DeepPartial<U>[] : U[] : { [K in keyof T]?: DeepPartial<T[K]> }

Type parameters

NameType
Textends ObjectType

Defined in

packages/vfm/src/types.ts:74open in new window


DisposablePromise

Ƭ DisposablePromise<T>: Object

Type parameters

NameType
Tany

Type declaration

NameType
dispose?() => void
promisePromise<T>

Defined in

packages/vfm/src/types.ts:91open in new window


FieldArrayScope

Ƭ FieldArrayScope<V>: Object

Type parameters

NameType
Vany

Type declaration

NameType
append(v: V) => void
fields{ id: string ; name: string }[]
insert(id: string, v: V) => void
move(from: string, to: string) => void
prepend(v: V) => void
remove(id: string) => void
replace(values: V[]) => void
swap(from: string, to: string) => void
update(id: string, v: V) => void

Defined in

packages/vfm/src/fieldArray.ts:118open in new window


FieldError

Ƭ FieldError: Object

Type declaration

NameType
messagestring
type?string

Defined in

packages/vfm/src/types.ts:96open in new window


FieldPath

Ƭ FieldPath<T, L>: T extends NestedValueType | NativeObjectType ? L : T extends infer U[] ? U extends ObjectType ? Join<Join<L, `${number}`>, FieldPath<U>> : Join<L, `${number}`> : T extends ObjectType ? { [key: string]: any; } extends T ? string : { [K in keyof T]: Join<Join<L, K>, FieldPath<T[K]>> }[keyof T] : L

Type parameters

NameType
Textends ObjectType
Lextends string = ""

Defined in

packages/vfm/src/types.ts:288open in new window


FieldProps

Ƭ FieldProps<T, N>: Object

Type parameters

NameType
Textends FormType = FormType
Nextends string = string

Type declaration

NameType
onBlur() => void
onChange?(v: KeyPathValue<T, N> | Event) => void
onFocus() => void
onInput?(v: KeyPathValue<T, N> | Event) => void
ref(el: InputLikeRef | null) => void
valueKeyPathValue<T, N>

Defined in

packages/vfm/src/types.ts:323open in new window


FieldRule

Ƭ FieldRule<V, Deps>: Object

Type parameters

NameType
Vany
Depsany

Type declaration

NameType
alpha?boolean
alphaNum?boolean
debounce?number
decimal?boolean
email?boolean
integer?boolean
ipAddress?boolean
macAddress?boolean
max?number
maxLength?number
message?string
min?number
minLength?number
numeric?boolean
pattern?RegExp
required?boolean
requiredLength?boolean
type?string
validator?Validator<V, Deps>

Defined in

packages/vfm/src/types.ts:201open in new window


FieldScope

Ƭ FieldScope<T, N>: Object

Type parameters

NameType
Textends FormType = FormType
Nextends string = string

Type declaration

NameType
fieldFieldProps<T, N>

Defined in

packages/vfm/src/types.ts:335open in new window


FieldState

Ƭ FieldState: Object

Type declaration

NameType
errorFieldError | null
isChangedboolean
isDirtyboolean
isErrorboolean
isTouchedboolean
isValidatingboolean

Defined in

packages/vfm/src/types.ts:157open in new window


FieldValues

Ƭ FieldValues<T, P>: P extends true ? UnpackNestedValue<DeepPartial<T>> : UnpackNestedValue<T>

Type parameters

NameType
Textends FormType = FormType
Pextends boolean = false

Defined in

packages/vfm/src/types.ts:86open in new window


FormErrors

Ƭ FormErrors<T>: T extends NestedValueType | NativeObjectType ? FieldError | null | undefined : T extends infer U[] ? { [key: number]: FormErrors<U>; } : T extends ObjectType ? { [K in keyof T]?: FormErrors<T[K]> } : FieldError | null | undefined

Type parameters

Name
T

Defined in

packages/vfm/src/types.ts:101open in new window


FormState

Ƭ FormState<T, VFK>: Object

Type parameters

NameType
Textends FormType = FormType
VFKextends string = string

Type declaration

NameType
defaultValuesFieldValues<T, true>
errorFieldError | null
fieldErrorFieldError | null
fieldErrorsFormErrors<T>
isChangedboolean
isDirtyboolean
isErrorboolean
isFieldErrorboolean
isFieldValidatingboolean
isSubmittedboolean
isSubmittingboolean
isTouchedboolean
isValidatingboolean
isVirtualErrorboolean
isVirtualValidatingboolean
submitCountnumber
valuesFieldValues<T>
virtualErrorFieldError | null
virtualErrorsPartial<Record<VFK, FieldError | null>>

Defined in

packages/vfm/src/types.ts:113open in new window


FormType

Ƭ FormType: Record<string, any>

Defined in

packages/vfm/src/types.ts:72open in new window


GetFormType

Ƭ GetFormType<T>: T extends Form<infer U> ? U : never

Type parameters

Name
T

Defined in

packages/vfm/src/form.ts:34open in new window


InputLikeRef

Ƭ InputLikeRef: Element | Component | { focus?: () => void }

Defined in

packages/vfm/src/types.ts:255open in new window


InternalKeyPathValue

Ƭ InternalKeyPathValue<V, Path>: Path extends "" ? V : V extends ObjectType ? V extends NestedValueType | NativeObjectType ? never : Path extends `${infer Key}.${infer Rest}` ? KeyPathValue<V[Key], Rest> : V[Path] extends NestedValue<infer U> ? U : V extends infer U[] ? U | undefined : V[Path] : never

Type parameters

NameType
VV
Pathextends string

Defined in

packages/vfm/src/types.ts:53open in new window


Join

Ƭ Join<K, P>: K extends string | number ? P extends string | number ? "" extends K ? P : `${K}${"" extends P ? "" : "."}${P}` : "" : ""

Type parameters

Name
K
P

Defined in

packages/vfm/src/types.ts:263open in new window


KeyPathValue

Ƭ KeyPathValue<V, Path>: string extends Path ? any : InternalKeyPathValue<V, NormalizePath<Path>>

Type parameters

NameType
Vextends ObjectType
Pathextends string

Defined in

packages/vfm/src/types.ts:67open in new window


NativeObjectType

Ƭ NativeObjectType: Date | Blob | File | FileList | Function | RegExp

Defined in

packages/vfm/src/types.ts:7open in new window


NestedValue

Ƭ NestedValue<T>: { [$NestedValue]: never } & T

Type parameters

NameType
Textends ObjectType

Defined in

packages/vfm/src/types.ts:15open in new window


NestedValueType

Ƭ NestedValueType: Object

Type declaration

NameType
[$NestedValue]never

Defined in

packages/vfm/src/types.ts:19open in new window


NormalizePath

Ƭ NormalizePath<T>: T extends `${infer A}.${infer B}` ? `${ArrayPathToString<A>}.${NormalizePath<B>}` : ArrayPathToString<T>

Type parameters

NameType
Textends string

Defined in

packages/vfm/src/types.ts:47open in new window


ObjectType

Ƭ ObjectType: Record<string, any>

Defined in

packages/vfm/src/types.ts:5open in new window


UnpackFieldState

Ƭ UnpackFieldState<T>: T extends NestedValueType ? FieldState : T extends NativeObjectType ? FieldState : T extends infer A[] ? UnpackFieldState<A>[] : T extends ObjectType ? { [K in keyof T]: UnpackFieldState<T[K]> } : FieldState

Type parameters

Name
T

Defined in

packages/vfm/src/types.ts:33open in new window


UnpackNestedValue

Ƭ UnpackNestedValue<T>: T extends NestedValue<infer U> ? U : T extends NativeObjectType ? T : T extends infer A[] ? UnpackNestedValue<A>[] : T extends ObjectType ? { [K in keyof T]: UnpackNestedValue<T[K]> } : T

Type parameters

Name
T

Defined in

packages/vfm/src/types.ts:23open in new window


UseFieldProps

Ƭ UseFieldProps<T, N, Deps, Transform>: Object

Type parameters

NameType
Textends FormType = FormType
Nextends FieldPath<T> = FieldPath<T>
Depsany
TransformKeyPathValue<T, N>

Type declaration

NameType
changeType?"ONINPUT" | "ONCHANGE"
debounce?number
defaultValue?KeyPathValue<T, N>
deps?() => Deps
form?Form<T>
isEqual?(v: KeyPathValue<T, N>, d: KeyPathValue<T, N>) => boolean
nameRef<N> | N
rules?Ref<FieldRule<Transform, Deps>[]> | FieldRule<Transform, Deps>[]
touchType?Ref<"FOCUS" | "BLUR"> | "FOCUS" | "BLUR"
transform?(v: KeyPathValue<T, N>) => Transform
value?KeyPathValue<T, N>

Defined in

packages/vfm/src/uses/useField.ts:24open in new window


UseVirtualFieldProps

Ƭ UseVirtualFieldProps<T, VFK, N, V>: Object

Type parameters

NameType
Textends FormType = FormType
VFKextends string = string
Nextends VFK = VFK
Vany

Type declaration

NameType
debounce?number
form?Form<T, VFK>
nameRef<N> | N
rules?Ref<VirtualFieldRule[]> | VirtualFieldRule[]
value() => V

Defined in

packages/vfm/src/uses/useVirtualField.ts:7open in new window


ValidateFunc

Ƭ ValidateFunc<V, Deps, Rules>: (v: V, deps: Deps | undefined, rules: Rules) => DisposablePromise<FieldError | null>

Type parameters

NameType
VV
DepsDeps
RulesFieldRule<V, Deps>[]

Type declaration

▸ (v, deps, rules): DisposablePromise<FieldError | null>

Parameters
NameType
vV
depsDeps | undefined
rulesRules
Returns

DisposablePromise<FieldError | null>

Defined in

packages/vfm/src/types.ts:181open in new window


Validator

Ƭ Validator<V, Deps>: (value: V | undefined, deps?: Deps) => string | Promise<string> | DisposablePromise<string>

Type parameters

NameType
Vany
Depsany

Type declaration

▸ (value, deps?): string | Promise<string> | DisposablePromise<string>

Parameters
NameType
valueV | undefined
deps?Deps
Returns

string | Promise<string> | DisposablePromise<string>

Defined in

packages/vfm/src/types.ts:192open in new window


VirtualFieldRule

Ƭ VirtualFieldRule<V>: Object

Type parameters

NameType
Vany

Type declaration

NameType
alpha?boolean
alphaNum?boolean
debounce?number
decimal?boolean
email?boolean
integer?boolean
ipAddress?boolean
macAddress?boolean
max?number
maxLength?number
message?string
min?number
minLength?number
numeric?boolean
pattern?RegExp
required?boolean
requiredLength?boolean
type?string
validator?VirtualFieldValidator<V>

Defined in

packages/vfm/src/types.ts:228open in new window


VirtualFieldState

Ƭ VirtualFieldState: Object

Type declaration

NameType
errorFieldError | null
isErrorboolean
isValidatingboolean

Defined in

packages/vfm/src/types.ts:172open in new window


VirtualFieldValidator

Ƭ VirtualFieldValidator<V>: (value: V) => string | Promise<string> | DisposablePromise<string>

Type parameters

NameType
Vany

Type declaration

▸ (value): string | Promise<string> | DisposablePromise<string>

Parameters
NameType
valueV
Returns

string | Promise<string> | DisposablePromise<string>

Defined in

packages/vfm/src/types.ts:197open in new window


VirtualValidateFunc

Ƭ VirtualValidateFunc<V, Rules>: (v: V, rules: Rules) => DisposablePromise<FieldError | null>

Type parameters

NameType
VV
RulesVirtualFieldRule<V>[]

Type declaration

▸ (v, rules): DisposablePromise<FieldError | null>

Parameters
NameType
vV
rulesRules
Returns

DisposablePromise<FieldError | null>

Defined in

packages/vfm/src/types.ts:187open in new window

Component Variables

Field

Const Field: DefineComponent<{}, {}, any, ComputedOptions, MethodOptions, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{}>>, {}> = FieldComponent

Field

Defined in

packages/vfm/src/components/Field/index.ts:7open in new window


FieldArray

Const FieldArray: DefineComponent<{}, {}, any, ComputedOptions, MethodOptions, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{}>>, {}> = FieldArrayComponent

FieldArray

Defined in

packages/vfm/src/components/index.ts:22open in new window


FormProvider

Const FormProvider: DefineComponent<{}, {}, any, ComputedOptions, MethodOptions, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{}>>, {}> = FormProviderComponent

FormProvider

Defined in

packages/vfm/src/components/index.ts:27open in new window


VirtualField

Const VirtualField: DefineComponent<{}, {}, any, ComputedOptions, MethodOptions, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{}>>, {}> = VirtualFieldComponent

VirtualField

Defined in

packages/vfm/src/components/index.ts:17open in new window


Other Variables

FormContextKey

Const FormContextKey: InjectionKey<Form<FormType, string>>

Defined in

packages/vfm/src/context.ts:4open in new window


validators

Const validators: Object

Type declaration

NameType
alphaValidator<any, any>
alphaNumValidator<any, any>
decimalValidator<any, any>
emailValidator<any, any>
integerValidator<any, any>
ipAddressValidator<any, any>
macAddressValidator<any, any>
numericValidator<any, any>

Defined in

packages/vfm/src/validators/index.ts:10open in new window

Other Functions

createFieldArray

createFieldArray<T, N>(form, path): Object

Type parameters

NameType
Textends FormType
Nextends string

Parameters

NameType
formForm<T, string>
pathN

Returns

Object

NameType
append(v: ArrayItem<KeyPathValue<T, N>>) => void
fieldsRef<{ id: string ; name: string }[]>
insert(id: string, v: ArrayItem<KeyPathValue<T, N>>) => void
move(from: string, to: string) => void
onCleanup() => void
prepend(v: ArrayItem<KeyPathValue<T, N>>) => void
remove(id: string) => void
replace(values: KeyPathValue<T, N>) => void
swap(from: string, to: string) => void
update(id: string, v: ArrayItem<KeyPathValue<T, N>>) => void
get fieldsValue(){ id: string ; name: string }[]

createForm

createForm<T, VFK>(args): Form<T, VFK>

Type parameters

NameType
Textends FormType = FormType
VFKextends string = string

Parameters

NameType
argsObject
args.defaultValues?UnpackNestedValue<DeepPartial<T>>
args.initValuesUnpackNestedValue<T>
args.readonly?boolean
args.touchType?"FOCUS" | "BLUR"

Returns

Form<T, VFK>


Use Functions

useField

useField<T, N, Deps, Transform>(props): [FieldProps<T, N>, Ref<KeyPathValue<T, N>>, { mounted: Ref<Boolean> }]

Type parameters

NameType
Textends FormType
Nextends string
Depsany
TransformKeyPathValue<T, N>

Parameters

NameType
propsUseFieldProps<T, N, Deps, Transform>

Returns

[FieldProps<T, N>, Ref<KeyPathValue<T, N>>, { mounted: Ref<Boolean> }]


useFieldArray

useFieldArray<T, N>(args): Object

Type parameters

NameType
Textends FormType
Nextends string

Parameters

NameType
argsObject
args.form?Form<T, string>
args.pathN

Returns

Object

NameType
append(v: ArrayItem<KeyPathValue<T, N>>) => void
fieldsRef<{ id: string ; name: string }[]>
fieldsValue{ id: string ; name: string }[]
insert(id: string, v: ArrayItem<KeyPathValue<T, N>>) => void
move(from: string, to: string) => void
prepend(v: ArrayItem<KeyPathValue<T, N>>) => void
remove(id: string) => void
replace(values: KeyPathValue<T, N>) => void
swap(from: string, to: string) => void
update(id: string, v: ArrayItem<KeyPathValue<T, N>>) => void

useForm

useForm<F, VFK>(formGetter?): Form<F, VFK>

Type parameters

NameType
Fextends FormType = FormType
VFKextends string = string

Parameters

NameType
formGetter?() => Form<F, VFK>

Returns

Form<F, VFK>


useProvideForm

useProvideForm(form): void

Parameters

NameType
formForm<FormType, string>

Returns

void


useVirtualField

useVirtualField<T, N>(props): Object

Type parameters

NameType
Textends FormType
Nextends string

Parameters

NameType
propsUseVirtualFieldProps<T, N, N, any>

Returns

Object

NameType
mountedRef<Boolean>