0.2.0 • Published 5 years ago
q3y v0.2.0
q3y
Nested lazily evaluated data. Somewhat like GraphQL, but without the explicit spec part.
Cool. Wait, what?
This module allows you to define a tree-shaped structure that holds all accessible data, and query the data at different levels. By using on-demand resolvers (just functions, really), only the requested data will be computed.
Example
const q3y = require('q3y');
const Post = require('./models/Post');
const {byKey} = q3y;
const $ = q3y({
me: {
posts: byKey('slug')(({userId}) => {
return Post.find({userId});
}),
},
});
$('/me/posts', {userId: 1}).then(console.log);
// {"/me/posts": {
// coolPost: {userId: 1, slug: "coolPost", id: 100, content: "..."}
// }}
Install
$ npm install q3y
License
MIT © sgtlambda