You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have functions that mutate the schema. That is fundamentally incompatible with pico, which requires that functions are pure. Well, mutating parameters isn't that!
So, instead, in the DB we should basically store all the fields that we are currently using the schema for.
Consider generating a reader AST from
field Query.Foo {
bar {
baz
}
}
We would have the following call tree:
get_parsed_iso_literal(someIdentifier)
get_type("Query") -> query_object_id
parse_graphql_schema
schema file input
get_field(query_object_id, "Foo") -> ensure there are no collisions? Idk tbh
parse_graphql_schema
schema file input
get_field(query_object_id, "bar") -> bar_object_id, ensure it's an object etc
parse_graphql_schema
schema file input
get_field(bar_object_id, "baz") -> ensure it's a scalar
Key takeaways:
at no point do we validate everything, ideally including in the "parse_graphql_schema" step, e.g. we can proceed, even if there's another iso literal in a bad state
there is no schema, just free functions
it may also mean that selection sets are not stored on the client field/pointer, and fields are not stored on schema objects
The text was updated successfully, but these errors were encountered:
We have functions that mutate the schema. That is fundamentally incompatible with pico, which requires that functions are pure. Well, mutating parameters isn't that!
So, instead, in the DB we should basically store all the fields that we are currently using the schema for.
Consider generating a reader AST from
We would have the following call tree:
Key takeaways:
The text was updated successfully, but these errors were encountered: