Learning GraphQL

Errata for Learning GraphQL

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted
Safari Books Online Ch04
Last paragraph

Found in the digital version so there is no page numbers, the correct location is in chapter 4 (Designing a Schema) Connections and Lists - Lists of Different Types, in the very last paragraph of "Interfaces" the last line reads: you will need to user an interface rather than a union type. I believe it was meant to be: you will need to use an interface rather than a union type.

Jaime Garzon  Sep 25, 2018 
Safari Books Online Chap 3
Section: Union Types

There is a reference to https://graphqlbin.com/v2/ANgjtr. When I navigate to this page, I'm notified that the "Server cannot be reached" and there's a message, "error": "Failed to fetch schema. Please check your connection". The server that is identified is https://r94qxj5q4n.lp.gql.zone/graphql

Mike Barlow  Apr 11, 2019 
Printed Page 16
Figure 2-3. Family Tree

The schema of the graph cannot be inferred. Why is there an edge between 'Your Dad' and 'Your Uncle' when there is no edge between 'You' and 'Your Sister'?

Anonymous  Oct 19, 2019 
PDF Page 40
Top paragraph

The description of the query says we are asking for the status of allTrails, when actually, the query is for the difficulty.

Anonymous  May 14, 2019 
Printed Page 48
1st paragrapoh

The URL's for the graphqlbin.com examples seem incorrect. They do not open up either the interfaces example or the union types example. I have no resolution to this so cannot follow along with examples.

John Cable  Oct 03, 2018 
Printed Page 61
3rd paragraph

"In this section, we cover how you to use a list to connect object types." 'you' has to be removed OR "[...] how you can use a list to connect object types."

Anonymous  Sep 18, 2018 
Other Digital Version 67
Code sample

scalar DataTime instead of scalar DateTime

Anonymous  Mar 21, 2019 
Other Digital Version 71
NA

« This query selects only 10 years » instead of « This query selects only 10 users »

Anonymous  Mar 21, 2019 
Other Digital Version 74
NA

Extract: « The PostPhotoInput type is like an object type, but it was created only for input arguments. It requires a name and the description , but category fields are still optional. » According to the code before, description is optional too

Anonymous  Mar 21, 2019 
Printed Page 76
2nd paragraph

Currently: "[...] we can also filter photos by category, search string, or taggedUsers." On the previous page you introduced the input fields for PhotoFilter i.e., category, createdBetween, taggedUsers, searchText. To be consistent you should stick to searchText in the above mentioned sentence instead of search string.

Anonymous  Sep 18, 2018 
ePub Page 86-98
GraphQL Bin links

Server cannot be reached

Karl Marx Lopez  Mar 13, 2019 
Printed Page 100
Throughout page

Page 100 implies input data makes it to the resolver in one of two ways: literal => parseLiteral() => parseValue() => resolver json => parseValue() => resolver From working through the example and looking through the docs (https://graphql.org/graphql-js/type/) I think it works like this: literal => parseLiteral() => resolver json => parseValue() => resolver If I'm right, I would modify page 100 in two places substituting > parseLiteral = ast => ast.value for > parseLiteral = ast => new Date(ast.value) It might also be worth rephrasing page 100 to make it clear that literals do not call parseValue().

Mike Lyons  Jan 04, 2019 
PDF Page 116
line before the header "Sorting"

"pages = pageSize/total" should be "pages = total/pageSize"

Yuriy Zaitsev  Jul 21, 2019 
Printed Page 117
2nd paragraph

Current: "We've already done the heavy lifting of looking up the user based on their token." Should be: "[...] based on her/ his token." OR "[...] of looking up users based on their tokens."

Anonymous  Sep 19, 2018 
Printed Page 141
last paragraph

Current: "This method pass the details about [...]" Should be: "This method passes the details about [...]"

Anonymous  Sep 19, 2018 
Printed Page 144
3rd paragraph of chapter 'Persisting the Cache'

Current: "The apollo-cache-persist package contains a function that enhance [...]" Should be: "The apollo-cache-persist package contains a function that enhances [...]"

Anonymous  Sep 19, 2018 
Printed Page 156
In "Adding the WebSocketLink"

s/subscription-transport-ws/subscriptions-transport-ws/ In the line: > npm install apollo-link-ws apollo-utilities subscription-transport-ws I think it should be: > npm install apollo-link-ws apollo-utilities subscription-transport-ws

Mike Lyons  Jan 05, 2019 
Printed Page 156
"Adding the WebSocketLink" section

I think > To enable WebSockets on the server... Should be > To enable WebSockets on the client...

Mike Lyons  Jan 05, 2019 
Printed Page 172
2nd paragraph

Current: "[...] query depth limit to 10 [...]" Should be: "[...] query depth limit to 5 [...]" (in the code example above you set validationRules: [depthLimit(5)] )

Anonymous  Sep 20, 2018 
Mobi Page 775
Chapter 3 -> The GraphQL Query -> just before Edges and Connections

I've only got the Kindle version of the book so I can't know the exact page number. On my Kindle App, the location is at number 775. The following query is throwing an error on GraphQL Playground: query closedLifts { allLifts(status: "CLOSED" sortBy: "name") { name status } }

Florian Bougel  Sep 06, 2018 
Mobi Page 12620
text

TYPOS: "related trials. If we " should be "related trails. If we " "will need to user an interface" should be "will need to use an interface"

Anonymous  Oct 22, 2019