diff --git a/src/challenge.ts b/src/challenge.ts index d697960..f64fa08 100644 --- a/src/challenge.ts +++ b/src/challenge.ts @@ -39,7 +39,10 @@ function addReview( comment: string ): ReviewedBook { // write your code here... - + if (!book.reviews) { + book.reviews = []; + } + book.reviews?.push({ reviewer, comment }); return book; } diff --git a/src/objects.ts b/src/objects.ts index ef6298f..b6cdb66 100644 --- a/src/objects.ts +++ b/src/objects.ts @@ -1,3 +1,5 @@ +import { B } from "@faker-js/faker/dist/airline-BcEu2nRk"; + // don't change this interface interface Book { title: string; @@ -28,7 +30,7 @@ function createBook( ): Book { // write your code here... - return {} as Book; // replace "{} as Book" with what you see is fit + return { title, author, publishedYear, genre } as Book; } // DO NOT CHANGE THE LINE OF CODE BELOW (you can use it for testing your code) @@ -50,8 +52,7 @@ const book = createBook( */ function printBookTitleAndYear(book: Book): string { // write your code here... - - return ""; // replace empty string with what you see is fit + return `${book.title} ${book["publishedYear"]}`; } /** @@ -66,7 +67,7 @@ function printBookTitleAndYear(book: Book): string { */ function addPageCount(book: Book, pageCount: number): Book { // write your code here... - + book.pageCount = pageCount; return book; } @@ -88,7 +89,7 @@ function addPageCount(book: Book, pageCount: number): Book { */ function addISBN(book: Book, ISBN: string): Book { // write your code here... - + book.ISBN = ISBN; return book; } @@ -110,7 +111,7 @@ function addISBN(book: Book, ISBN: string): Book { */ function updatePublishedYear(book: Book, newYear: number): Book { // write your code here... - + book.publishedYear = newYear; return book; } @@ -135,8 +136,19 @@ function updatePublishedYear(book: Book, newYear: number): Book { */ function addSecondAuthor(book: Book, additionalAuthor: string): Book { // write your code here... - + if (Array.isArray(book.author)) { + book.author.push(additionalAuthor); + } else { + book.author = [book.author, additionalAuthor]; + } return book; + + // return { + // ...book, + // author: Array.isArray(book.author) + // ? [...book.author, additionalAuthor] + // : [book.author, additionalAuthor], + // }; } export {