modelizr v1.0.5
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?
import { Modelizr } from 'modelizr'
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}} = new Modelizr({
models: ModelData,
config: {
endpoint: "http:// ..."
}
})
query(
Person({id: 1}
Book("Books")
),
Book("Books", {ids: [4, 5]})
).then((res, normalize) => {
normalize(res.body) // -> normalized response.
})
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
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago