| 
														
															@@ -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(); 
														 |