generated from tpl/obsidian-sample-plugin
36 lines
690 B
TypeScript
36 lines
690 B
TypeScript
import type {
|
|
STATUS_IN_PROGRESS,
|
|
STATUS_READ,
|
|
STATUS_TO_BE_READ,
|
|
} from "./const";
|
|
|
|
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 type ToBeReadState = typeof STATUS_TO_BE_READ;
|
|
export type InProgressState = typeof STATUS_IN_PROGRESS;
|
|
export type ReadState = typeof STATUS_READ;
|
|
|
|
export type ReadingState = ToBeReadState | InProgressState | ReadState;
|