Phosphate

Phosphate is a Nim port of GraphQL.js, the JavaScript reference implementation of GraphQL created by Facebook.

Pure Nim score 19/100 · last commit 2020-10-18 · 22 stars · tests present · no docs generated

Summary

Latest Version Unknown
License MIT
CI Status Failing
Stars 22
Forks 2
Open Issues 2
Last Commit 2020-10-18
Downloads 0
Last Indexed 2026-09-06 06:05

Installation

nimble install Phosphate
choosenim install Phosphate
git clone https://github.com/KingDarBoja/Phosphate

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
Phosphate - - - - - - -

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 python port which is also based on 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 module

The 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 as it is easier to update and manage several versions on Windows 10.

Run tests

Run nimble test and that's it!