|
@@ -1,4 +1,5 @@
|
|
|
import * as I from './interfaces';
|
|
|
+import {Inventory} from "./interfaces";
|
|
|
|
|
|
class UniversityLibrarian implements I.Librarian {
|
|
|
department: string;
|
|
@@ -45,4 +46,21 @@ class Journal extends ReferenceItem {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-export { Journal, ReferenceItem, UniversityLibrarian };
|
|
|
+class Catalog<T> implements Inventory<T> {
|
|
|
+ private catalogItems = new Array<T>();
|
|
|
+
|
|
|
+ addItem(newItem: T): void {
|
|
|
+ this.catalogItems.push(newItem);
|
|
|
+ }
|
|
|
+
|
|
|
+ getAllItems(): Array<T> {
|
|
|
+ return this.catalogItems;
|
|
|
+ }
|
|
|
+
|
|
|
+ getNewestItem(): T {
|
|
|
+ return this.catalogItems.slice(-1)[0];
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+export { Catalog, Journal, ReferenceItem, UniversityLibrarian };
|