modelizr
A Combination of normalizr, fakerjs and GraphQL that allows you to define multipurpose models that can generate GraphQL queries, mock deeply nested data and normalize
Installation
$ yarn add modelizr
What can I use this for?
- Easily generating GraphQL queries from models.
- Flat-mapping responses using normalizr.
- Mocking deeply nested data that match the structure of a GraphQL query.
Read my medium post on why I wrote modelizr.
What does it look like?
const ModelData = Person: normalizeAs: "People" fields: id: Number firstName: String Books: "Book" Book: normalizeAs: "Books" fields: id: Number title: String Author: "Person" const query models: Person Book = models: ModelData config: endpoint: "http:// ..."
This will generate the following query and make a request using it.
{
Person(id: 1) {
id,
firstName,
Books {
id,
title
}
},
Books(ids: [4, 5]) {
id,
title,
Author {
id,
firstName
}
}
}
Documentation
NOTE: Documentation for pre-v1.0.0
can be found Here
All documentation is located at julienvincent.github.io/modelizr
Example
$ yarn
$ yarn start
navigate to http://localhost:8000
in your browser