Перевожу прооект на typescript, параллельно разбираясь с этим самым typescript'ом
Есть вот такой кусок кода:
export async function create (path: string, data: object) {
return (await api.post(`${path}`, data)).data.data
}
export async function update (path: string, data: { id: number | string }) {
return (await api.put(`${path}/${data.id}`, data)).data.data
}
export async function upsert (path: string, data: { id?: number | string }) {
if (Object.hasOwn(data, 'id')) { // тут пробовал разные проверки наличия свойства у объекта
return await update(path, { ...data, id: data.id ?? '' }) // но никакая проверка не помогает, пришлось подставить костыль
} else {
return await create(path, data)
}
}
как заставить поверить typescript что свойство есть, чтобы убрать костыль и передавать просто data?