Mirror: The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.
at main 3.5 kB view raw
1import urqlClient from './urqlClient.js'; 2import { 3 ALL_TODOS_QUERY, 4 ALL_WRITERS_QUERY, 5 ALL_BOOKS_QUERY, 6 ALL_STORES_QUERY, 7 ALL_EMPLOYEES_QUERY, 8 ALL_AUTHORS_QUERY, 9 ADD_TODO_MUTATION, 10 UPDATE_TODO_MUTATION, 11 ADD_TODOS_MUTATION, 12 ADD_WRITERS_MUTATION, 13 ADD_BOOKS_MUTATION, 14 ADD_STORES_MUTATION, 15 ADD_EMPLOYEES_MUTATION, 16 ADD_AUTHORS_MUTATION, 17} from './operations.js'; 18 19// create functions that execute operations/queries/mutaitons to be benchmarked 20export const getAllTodos = async () => { 21 const queryResult = await urqlClient.query(ALL_TODOS_QUERY).toPromise(); 22 return queryResult.data.todos; 23}; 24export const getAllWriters = async () => { 25 const queryResult = await urqlClient.query(ALL_WRITERS_QUERY).toPromise(); 26 return queryResult.data.writers; 27}; 28export const getAllBooks = async () => { 29 const queryResult = await urqlClient.query(ALL_BOOKS_QUERY).toPromise(); 30 return queryResult.data.books; 31}; 32export const getAllStores = async () => { 33 const queryResult = await urqlClient.query(ALL_STORES_QUERY).toPromise(); 34 return queryResult.data.stores; 35}; 36export const getAllEmployees = async () => { 37 const queryResult = await urqlClient.query(ALL_EMPLOYEES_QUERY).toPromise(); 38 return queryResult.data.employees; 39}; 40export const getAllAuthors = async () => { 41 const queryResult = await urqlClient.query(ALL_AUTHORS_QUERY).toPromise(); 42 return queryResult.data.authors; 43}; 44export const addTodo = async () => { 45 const newTodo = { text: 'New todo', complete: true }; 46 const mutationResult = await urqlClient 47 .mutation(ADD_TODO_MUTATION, newTodo) 48 .toPromise(); 49 return mutationResult.data.addTodo; 50}; 51export const updateTodo = async ({ id, complete }) => { 52 const updatedTodo = { id, complete }; 53 const mutationResult = await urqlClient 54 .mutation(UPDATE_TODO_MUTATION, updatedTodo) 55 .toPromise(); 56 return mutationResult.data.updateTodo; 57}; 58export const addTodos = async todosToBeAdded => { 59 const newTodos = { newTodos: { todos: todosToBeAdded } }; 60 const mutationResult = await urqlClient 61 .mutation(ADD_TODOS_MUTATION, newTodos) 62 .toPromise(); 63 return mutationResult.data.addTodos; 64}; 65export const addWriters = async writersToBeAdded => { 66 const newWriters = { newWriters: { writers: writersToBeAdded } }; 67 const mutationResult = await urqlClient 68 .mutation(ADD_WRITERS_MUTATION, newWriters) 69 .toPromise(); 70 return mutationResult.data.addWriters; 71}; 72export const addBooks = async booksToBeAdded => { 73 const newBooks = { newBooks: { books: booksToBeAdded } }; 74 const mutationResult = await urqlClient 75 .mutation(ADD_BOOKS_MUTATION, newBooks) 76 .toPromise(); 77 return mutationResult.data.addBooks; 78}; 79export const addStores = async storesToBeAdded => { 80 const newStores = { newStores: { stores: storesToBeAdded } }; 81 const mutationResult = await urqlClient 82 .mutation(ADD_STORES_MUTATION, newStores) 83 .toPromise(); 84 return mutationResult.data.addStores; 85}; 86export const addEmployees = async employeesToBeAdded => { 87 const newEmployees = { newEmployees: { employees: employeesToBeAdded } }; 88 const mutationResult = await urqlClient 89 .mutation(ADD_EMPLOYEES_MUTATION, newEmployees) 90 .toPromise(); 91 return mutationResult.data.addEmployees; 92}; 93export const addAuthors = async authorsToBeAdded => { 94 const newAuthors = { newAuthors: { authors: authorsToBeAdded } }; 95 const mutationResult = await urqlClient 96 .mutation(ADD_AUTHORS_MUTATION, newAuthors) 97 .toPromise(); 98 return mutationResult.data.addAuthors; 99};