mirror of
https://github.com/vercel/commerce.git
synced 2025-05-09 19:27:53 +00:00
126 lines
1.9 KiB
TypeScript
126 lines
1.9 KiB
TypeScript
export type Maybe<T> = T | null;
|
|
|
|
export type Connection<T> = {
|
|
edges: Array<Edge<T>>;
|
|
};
|
|
|
|
export type Edge<T> = {
|
|
node: T;
|
|
};
|
|
|
|
export type Cart = {
|
|
id: string | undefined;
|
|
checkoutUrl: string;
|
|
cost: {
|
|
subtotalAmount: Money;
|
|
totalAmount: Money;
|
|
};
|
|
totalQuantity: number;
|
|
lines: CartItem[];
|
|
currency: string;
|
|
};
|
|
|
|
export type CartProduct = {
|
|
id: string;
|
|
handle: string;
|
|
title: string;
|
|
featuredImage: Image;
|
|
};
|
|
|
|
export type CartItem = {
|
|
id: string | undefined;
|
|
quantity: number;
|
|
cost: {
|
|
totalAmount: Money;
|
|
};
|
|
merchandise: {
|
|
id: string;
|
|
title: string;
|
|
selectedOptions: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
product: CartProduct;
|
|
};
|
|
};
|
|
|
|
export type Collection = {
|
|
handle: string;
|
|
title: string;
|
|
description: string;
|
|
seo: SEO;
|
|
updatedAt: string;
|
|
path: string;
|
|
};
|
|
|
|
export type Image = {
|
|
url: string;
|
|
altText: string;
|
|
width: number;
|
|
height: number;
|
|
};
|
|
|
|
export type Menu = {
|
|
title: string;
|
|
path: string;
|
|
};
|
|
|
|
export type Money = {
|
|
amount: string;
|
|
currencyCode: string;
|
|
};
|
|
|
|
export type Page = {
|
|
id: string;
|
|
title: string;
|
|
handle: string;
|
|
body: string;
|
|
bodySummary: string;
|
|
seo?: SEO;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
};
|
|
|
|
export type Product = {
|
|
id: string;
|
|
handle: string;
|
|
availableForSale: boolean;
|
|
title: string;
|
|
description: string;
|
|
descriptionHtml: string;
|
|
options: ProductOption[];
|
|
priceRange: {
|
|
maxVariantPrice: Money;
|
|
minVariantPrice: Money;
|
|
};
|
|
featuredImage: Image;
|
|
seo: SEO;
|
|
tags: string[];
|
|
updatedAt: string;
|
|
variants: ProductVariant[];
|
|
images: Image[];
|
|
};
|
|
|
|
export type ProductOption = {
|
|
id: string;
|
|
name: string;
|
|
values: string[];
|
|
};
|
|
|
|
export type ProductVariant = {
|
|
id: string;
|
|
title: string;
|
|
availableForSale: boolean;
|
|
selectedOptions: {
|
|
name: string;
|
|
value: string;
|
|
}[];
|
|
price: Money;
|
|
images: Image[];
|
|
};
|
|
|
|
export type SEO = {
|
|
title: string;
|
|
description: string;
|
|
};
|