import { reactive } from "vue";
import { cloneDeep } from "lodash";

export default function useFormData<T extends object>(initData: T) {
  const form: any = reactive<T>(cloneDeep(initData, true));

  function resetForm() {
    const initData2 = JSON.parse(JSON.stringify(initData));
    Object.keys(initData).forEach((key) => {
      form[key] = initData2[key];
    });
  }

  return { form, resetForm };
}
