|
@@ -1,8 +1,9 @@
|
|
import {Book, Logger as DamageLogger, Librarian} from './interfaces';
|
|
import {Book, Logger as DamageLogger, Librarian} from './interfaces';
|
|
import {Category} from './enums';
|
|
import {Category} from './enums';
|
|
-import {ReferenceItem, UniversityLibrarian} from './classes';
|
|
|
|
|
|
+import {Journal, ReferenceItem, UniversityLibrarian} from './classes';
|
|
import { CalculateLateFees as CalcFee, MaxBooksAllowed } from './lib/utilityfunctions';
|
|
import { CalculateLateFees as CalcFee, MaxBooksAllowed } from './lib/utilityfunctions';
|
|
import refBook from './encyclopedia';
|
|
import refBook from './encyclopedia';
|
|
|
|
+import { LogAndReturn }from './generics';
|
|
|
|
|
|
export function GetAllBooks(): Book[] {
|
|
export function GetAllBooks(): Book[] {
|
|
const books = [
|
|
const books = [
|
|
@@ -200,6 +201,21 @@ function importDemo() {
|
|
console.log(ref);
|
|
console.log(ref);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function genericFunctionDemo() {
|
|
|
|
+ LogAndReturn(false);
|
|
|
|
+ LogAndReturn(42);
|
|
|
|
+ LogAndReturn({ a: []});
|
|
|
|
+
|
|
|
|
+ interface Magazine { title: string }
|
|
|
|
+
|
|
|
|
+ let someString: string = LogAndReturn<string>('log this');
|
|
|
|
+ console.log("Returned: ", someString);
|
|
|
|
+ let newMag: Magazine = { title: 'Web dev monthly' };
|
|
|
|
+ let someMag: Magazine = LogAndReturn<Magazine>(newMag);
|
|
|
|
+ console.log('Returned mag', someMag);
|
|
|
|
+}
|
|
|
|
+
|
|
false && bookDemo();
|
|
false && bookDemo();
|
|
false && classDemo();
|
|
false && classDemo();
|
|
false && importDemo();
|
|
false && importDemo();
|
|
|
|
+genericFunctionDemo();
|