-
Notifications
You must be signed in to change notification settings - Fork 0
/
helperFunctions.js
45 lines (42 loc) · 1.56 KB
/
helperFunctions.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// Formats response to look presentable on webpage
const renderResponse = (res) => {
// Handles if res is falsey
if(!res){
console.log(res.status);
}
// In case res comes back as a blank array
if(!res.length){
responseField.innerHTML = "<p>Try again!</p><p>There were no suggestions found!</p>";
return;
}
// Creates an empty array to contain the HTML strings
let wordList = [];
// Loops through the response and caps off at 10
for(let i = 0; i < Math.min(res.length, 10); i++){
// creating a list of words
wordList.push(`<li>${res[i].word}</li>`);
}
// Joins the array of HTML strings into one string
wordList = wordList.join("");
// Manipulates responseField to render the modified response
responseField.innerHTML = `<p>You might be interested in:</p><ol>${wordList}</ol>`;
return
}
// Renders response before it is modified
const renderRawResponse = (res) => {
// Takes the first 10 words from res
let trimmedResponse = res.slice(0, 10);
// Manipulates responseField to render the unformatted response
responseField.innerHTML = `<text>${JSON.stringify(trimmedResponse)}</text>`;
}
const renderJsonResponse = (response) => {
// Creates an empty object to store the JSON in key-value pairs
let rawJson = {}
for(let key in response){
rawJson[key] = response[key]
}
// Converts JSON into a string and adding line breaks to make it easier to read
rawJson = JSON.stringify(rawJson).replace(/,/g, ", \n")
// Manipulates responseField to show the returned JSON.
responseField.innerHTML = `<pre>${rawJson}</pre>`
}