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);