123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { Category } from "./enums";
- interface Author extends Person {
- numBooksPublished: number;
- }
- interface Book {
- author: string,
- available: boolean,
- category: Category;
- id: number,
- markDamaged?: DamageLogger,
- pages?: number,
- title: string,
- }
- interface CatalogItem {
- catalogNumber: number;
- }
- interface DamageLogger {
- (reason: string): void;
- }
- interface Inventory<T> {
- addItem: (newItem: T) => void;
- getAllItems: () => Array<T>;
- getNewestItem: () => T;
- }
- interface Librarian extends Person {
- assistCustomer: (custName: string) => void,
- department: string,
- }
- interface Magazine {
- publisher: string;
- title: string;
- }
- interface Person {
- email: string;
- name: string;
- }
- export {
- Author,
- Book,
- CatalogItem,
- DamageLogger as Logger,
- Inventory,
- Librarian,
- Magazine,
- }
|