This package has been deprecated

Author message:

much

nyce

0.2.2 • Public • Published

nyce

JavaScript component interface definition and adherence utility

 
// in someModule.js
exports.index = (foo, bar) => { /* ... */ };
exports.aProp = {};
 
// elsewhere
const nyce = require('nyce')();
const someModule = require('./someModule');
 
const myInterface = {
  index: {
    type: 'function',
    args: [ 'foo', 'bar' ],
    // By default, for function validation, nyce will only check the number
    // of arguments present with no regard to naming. If you would like to 
    // fail validation if the names of the function arguments don't match the names 
    // of the the interface arguments set this to true
    enforceArgNaming: true
  },
  aProp: {
    type: 'object'
  }
};
 
nyce
  .define('resource', myInterface)
  .then(nyce.assertImplements('resource', someModule))
  .then(() => {
    console.log( 'yay!' );
  })
  .catch((e) => {
    console.log('oh no!')
  });
 

Package Sidebar

Install

npm i nyce

Weekly Downloads

1

Version

0.2.2

License

MIT

Last publish

Collaborators

  • recursivefunk