UNPKG

@trivia-api/fetch

Version:

Functions to fetch data from The Trivia API.

96 lines (67 loc) 2.14 kB
# Trivia API Fetch Client Functions to fetch data from [The Trivia API](https://the-trivia-api.com). ## Installation Install with `npm install @trivia-api/fetch`. ## Usage ### Functions #### getQuestions ```js import { getQuestions } from "@trivia-api/fetch"; getQuestions({ limit: 5 }).then((questions) => { // questions is an array of questions }); ``` #### searchQuestions ```js import { searchQuestions } from "@trivia-api/fetch"; searchQuestions({ freetext: "france" }).then((questions) => { // questions is an array of questions that have either the tag 'france' // or match 'france' to a freetext search on the question. }); ``` #### getMetadata ```js import { getMetadata } from "@trivia-api/fetch"; getMetadata().then((metadata) => { // metadata is an object representing the number of questions in the API, broken down by category and state }); ``` #### getTags ```js import { getTags } from "@trivia-api/fetch"; getTags().then((tags) => { // tags is an array of all the tags used by questions in the API }); ``` #### updateQuestion ```js import { updateQuestion } from "@trivia-api/fetch"; const question = await getQuestions()[0]; const newQuestion = { ...question, correctAnswer: "A different answer", }; const API_KEY = "abcd1234"; try { await updateQuestion(API_KEY, newQuestion); // If the promise resolves then the question has been successfully updated } catch { // If the promise is rejected then the question has not been updated. Did you // pass in a valid API key? Is the ID wrong? Did you miss a required property? } ``` #### createSession ```js import { createSession, getQuestions } from "@trivia-api/fetch"; createSession().then((session) => { // You can use the session object to request questions with no duplicates // Request 10 questions from the session you just created getQuestions({ session: session.id, limit: 10 }); /** * Request 10 more questions from the session you just created. These * questions are guaranteed to be different to the questions previously * received. */ getQuestions({ session: session.id, limit: 10 }); }); ```