UNPKG

opds-web-client

Version:
35 lines (34 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.collectionDataWithLoans = exports.loanedBookData = void 0; /** * Utilities for dealing with redux state. */ function loanedBookData(book, loans, bookUrl) { if (!loans || loans.length === 0) { return book; } var loan = loans.find(function (loanedBook) { if (book) { return loanedBook.id === book.id; } else if (bookUrl) { return loanedBook.url === bookUrl; } else { return false; } }); return loan || book; } exports.loanedBookData = loanedBookData; function collectionDataWithLoans(collectionData, loans) { var _a; // If any books in the collection are in the loans feed, replace them with their // loaned version. This currently only changes ungrouped books, not books in lanes, // since lanes don't need any loan-related information. return Object.assign({}, collectionData, { books: (_a = collectionData === null || collectionData === void 0 ? void 0 : collectionData.books) === null || _a === void 0 ? void 0 : _a.map(function (book) { return loanedBookData(book, loans); }) }); } exports.collectionDataWithLoans = collectionDataWithLoans;