Skip to content

Object Schemas #10

@jrf0110

Description

@jrf0110

Would be nice to filter args based on JSON schemas:

var leFunc = require('leFunc');

leFunc.registerSchema( 'User', {
  type: 'Object'
, properties: {
    id: { type: 'number', required: true }
  , name: { type: 'string', required: false }
  }
});

var doSomethingWithUser = leFunc({
  default: function(){
    throw new Error('Invalid argument combination');
  }

, 'Number,Function':
  function( userId, callback ){
    db.users.findOne( userId, function( error, user ){
      if ( error ) return callback( error );

      return doSomethingWithUser( user, callback );
    });
  }

, 'Object.User,Function':
  function( user, callback ){
    // Do something knowing for sure the structure of `user`
  }
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions