@thunderstorefront/types
Version:
Thunder Storefront types package
14 lines (13 loc) • 624 B
TypeScript
import type { Page } from './content';
import type { Product } from './product';
import type { CategoryItem } from './category';
export type Routes = 'Category' | 'Product' | 'Page';
export type RouteData<T extends Routes> = {
type: T;
redirectCode: number;
relativeUrl: string;
};
export type RoutePage = RouteData<'Page'> & Pick<Page, 'title' | 'slug' | 'id'>;
export type RouteProduct = RouteData<'Product'> & Pick<Product, 'title' | 'slug' | 'id'>;
export type RouteCategory = RouteData<'Category'> & Pick<CategoryItem, 'title' | 'slug' | 'id'>;
export type Route = RouteCategory | RoutePage | RouteProduct;