obsidian-book-tracker/src/types.ts

32 lines
514 B
TypeScript

export interface Author {
name: string;
description: string;
}
export interface Series {
title: string;
position: number;
}
export interface Book {
title: string;
description: string;
authors: Author[];
series: Series | null;
publisher: string;
publishedAt: Date;
genres: string[];
coverImageUrl: string;
pageCount: number;
isbn: string;
isbn13: string;
}
export interface ReadingLogEntry {
book: string;
pagesRead: number;
pagesReadTotal: number;
pagesRemaining: number;
createdAt: Date;
}