TypeScript
index.d.ts
Пришло время добавить типы. У нас уже есть две основных сущности - Product и ProductCategory. Их определяем в index.d.ts файле:
ts
interface Product {
id: number
title: string
summary?: any
data?: any
}
interface ProductCategory {
id: number
title: string
data?: any
}Содержимое summary и data будет еще меняться, поэтому пока оставляем их any.
Типизация
Добавляем типы в API сервис и в бизнес-логику:
ts
const products = {
async product(id: number): Promise<Product> {
const data = await http.get(`${SB}/products?select=id,title,summary,data&id=eq.${id}`);
return data[0] ?? null;
}
};
// ...
const product = ref<Product>();
product.value = await api.products.product(props.productId);