diff --git a/packages/vee-validate/src/types/forms.ts b/packages/vee-validate/src/types/forms.ts index 5e98e514b..b714e95a9 100644 --- a/packages/vee-validate/src/types/forms.ts +++ b/packages/vee-validate/src/types/forms.ts @@ -326,5 +326,5 @@ export interface FormContext( path: MaybeRefOrGetter, config?: Partial> | LazyInputBindsConfig, - ): { model: Ref; props: Ref } & [Ref, Ref]; + ): [Ref, Ref]; } diff --git a/packages/vee-validate/src/useForm.ts b/packages/vee-validate/src/useForm.ts index 62dffc8c1..f433c0fd0 100644 --- a/packages/vee-validate/src/useForm.ts +++ b/packages/vee-validate/src/useForm.ts @@ -62,7 +62,6 @@ import { normalizeErrorItem, omit, debounceNextTick, - makeDestructurable, } from './utils'; import { FormContextKey } from './symbols'; import { validateTypedSchema, validateObjectSchema } from './validate'; @@ -1013,13 +1012,7 @@ export function useForm< const model = createModel(path, () => evalConfig().validateOnModelUpdate ?? true); - return makeDestructurable( - { - model, - props, - }, - [model, props] as [Ref, Ref], - ); + return [model, props] as [Ref, Ref]; } return { diff --git a/packages/vee-validate/src/utils/common.ts b/packages/vee-validate/src/utils/common.ts index 207448144..33a977422 100644 --- a/packages/vee-validate/src/utils/common.ts +++ b/packages/vee-validate/src/utils/common.ts @@ -359,23 +359,3 @@ export function debounceNextTick< return new Promise(resolve => resolves.push(resolve)); }; } - -// https://github.com/vueuse/vueuse/blob/main/packages/shared/makeDestructurable/index.ts -export function makeDestructurable, A extends readonly any[]>(obj: T, arr: A): T & A { - const clone = { ...obj }; - - Object.defineProperty(clone, Symbol.iterator, { - enumerable: false, - value() { - let index = 0; - return { - next: () => ({ - value: arr[index++], - done: index > arr.length, - }), - }; - }, - }); - - return clone as T & A; -}