grats
grats copied to clipboard
Implementation-First GraphQL for TypeScript
This PR changes how interface fields are handled. Previously, each interface implementor was responsible for adding `/** @gqlField */` to each field. Even those which were already annotated on one...
## TODO - [ ] Handle context arg - [ ] Allow user to tag context type - [ ] Handle Info arg - [ ] Should Grats export an...
In browser environments or edge computing environments, it would be desirable to make GraphQL execution more light-weight: 1. Only load resolver code for the fields that your current bundle can...
Fixes https://github.com/captbaritone/grats/issues/66 ## TODO - [ ] Rename args in @-exports directive to be more generic - [ ] Clean up codegen - [ ] Check/fix integration tests - [...
Still actively working on this, but figured I'd share as I work.
- [ ] Show SDL in hover tip - [ ] Use semantic highlighting to color docblock tags - [ ] Refactor/quickfix suggestions - [ ] Show SDL in inlay...
Right now I think we generate files with windows line endings on Unix-like systems and Windows line endings on Windows systems. This means that if users with different systems are...
Currently we allow this, but it's not technically safe since the `__typename` could be mutated. ```ts class User implements IPerson { __typename = "User"; } ``` We should require either:...
```ts /** @gqlField */ export function nodes(connection: Connection): T[] { return connection.edge.map(edge => edge.node); } ``` Should act as a functional equivalent of a method on a generic class: ```ts...