Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kingdarboja/phosphate
Phosphate is a Nim port of GraphQL.js, the JavaScript reference implementation of GraphQL created by Facebook.
https://github.com/kingdarboja/phosphate
api graphql nim-lang nimble
Last synced: about 1 month ago
JSON representation
Phosphate is a Nim port of GraphQL.js, the JavaScript reference implementation of GraphQL created by Facebook.
- Host: GitHub
- URL: https://github.com/kingdarboja/phosphate
- Owner: KingDarBoja
- License: mit
- Created: 2020-03-21T03:18:38.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-10-18T18:11:22.000Z (about 4 years ago)
- Last Synced: 2024-04-14T00:53:17.348Z (7 months ago)
- Topics: api, graphql, nim-lang, nimble
- Language: Nim
- Size: 233 KB
- Stars: 22
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Phosphate
Phosphate is a Nim port of GraphQL.js, the JavaScript reference implementation of GraphQL created by Facebook.
## This is a work in progress!!
This port is based on the [graphql-core](https://github.com/graphql-python/graphql-core) python port which is also based on [graphql-js](https://github.com/graphql/graphql-js).
### TODO LIST
- **Language**
- [x] Token Kind Module
- [x] Directive Locations Module
- [x] AST module
- [ ] AST module tests
- [x] Block String module
- [x] Block String module tests
- [x] Source module
- [x] Source module tests
- [x] Location module
- [x] Location module tests
- [x] Lexer module
- [x] Lexer module tests
- [x] Parser module
- [x] Parser module tests
- [ ] Predicates module
- [ ] Predicates module tests
- [x] Print Location module
- [x] Print Location module tests
- [ ] Printer module
- [ ] Printer module tests
- [ ] Visitor module
- [ ] Visitor module tests
- **Errors**
- [x] GraphQLError module
- [x] GraphQLError module tests
- [ ] LocatedError module
- [ ] LocatedError module tests
- [x] GraphQLSyntaxError moduleThe `location` module got merged into source module due to cyclic imports not being supported. Also, the `location` tests are available at the Python port, the JS implementation lack of it, same goes with `ast` tests.
## Development
### Setup Nim
Install Nim by using any available installer. Currently using [choosenim](https://github.com/dom96/choosenim) as it is easier to update and manage several versions on Windows 10.
### Run tests
Run `nimble test` and that's it!