From e98ea6eb871e594f42f24554e30a69d797dccfdd Mon Sep 17 00:00:00 2001 From: Alfred Melch Date: Sat, 28 Dec 2019 12:18:38 +0100 Subject: [PATCH] Add gutenberg utility functions --- src/lib/gutenberg.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/lib/gutenberg.js diff --git a/src/lib/gutenberg.js b/src/lib/gutenberg.js new file mode 100644 index 0000000..6e09236 --- /dev/null +++ b/src/lib/gutenberg.js @@ -0,0 +1,23 @@ +import Axios from 'axios' + +export async function search(searchTerm, maxResults = Infinity) { + const regex = new RegExp(searchTerm, 'i') + const result = [] + const data = await import('../../data/gutenberg.json').then( + module => module.default + ) + for (let entry of data) { + if (regex.test(entry.title[0]) || regex.test(entry.author[0])) { + result.push(entry) + } + + if (result.length >= maxResults) break + } + return result +} + +export async function getBook(bookId) { + const url = `https://gutenberg.muperfredi.de/texts/${bookId}/stripped-body` + const text = await Axios.get(url).then(res => res.data.body) + return text +}