q3y

0.2.0 • Public • Published

q3y

Nested lazily evaluated data. Somewhat like GraphQL, but without the explicit spec part.

Build Status NPM Version

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

dependency Status devDependency Status

Readme

Keywords

none

Package Sidebar

Install

npm i q3y

Weekly Downloads

0

Version

0.2.0

License

MIT

Unpacked Size

71.5 kB

Total Files

47

Last publish

Collaborators

  • jmversteeg