Pop open
index.ts
for a single-file practice set that touches every topic from this workshop.
There are no automated tests or solutions here. Use the comments in the file as your checklist. A few success criteria to keep the vague spots concrete:
  • Keep one library object with name, address, books, members, and eventsById
  • Include 6–8 books and 4–5 members, with at least two books sharing a tag, one book without checkedOutByMemberId, and one member without email
  • formatBook({ title, author, publishedYear }) should return "{title} β€” {author} ({publishedYear})" (em dash between title and author)
  • Treat β€œrecent books” as publishedYear >= the current calendar year minus 5
  • memberNamesSorted should be alphabetical ascending
  • mergeTags(...tagLists) should return unique tags (first-seen order is fine)
  • findBooksByTags(books, tags) should require all requested tags to match

Please set the playground first

Loading "Practice Everything"