src-old/definition/definition.js
function filterStore(operation, store, args) {
  const filter = obj => {
    switch (operation) {
      case 'omit':
        return _.isFunction(args[0])
          ? _.omitBy(obj, args[0])
          : _.omit(obj, args);
      case 'pick':
        return _.isFunction(args[0])
          ? _.pickBy(obj, args[0])
          : _.pick(obj, args);
      default:
        break;
    }
  };
  switch (store) {
    case 'context':
    case 'functions':
    case 'directives':
    case 'plugins':
    case 'types':
      _.set(this, `_${store}`, filter(_.get(this, `_${store}`)));
      break;
    default:
      assert(false, `invalid store for ${operation} operation`);
      break;
  }
  return this;
}
function filterStore(operation, store, args) {
  const filter = obj => {
    switch (operation) {
      case 'omit':
        return _.isFunction(args[0])
          ? _.omitBy(obj, args[0])
          : _.omit(obj, args);
      case 'pick':
        return _.isFunction(args[0])
          ? _.pickBy(obj, args[0])
          : _.pick(obj, args);
      default:
        break;
    }
  };
  switch (store) {
    case 'context':
    case 'functions':
    case 'directives':
    case 'plugins':
    case 'types':
      _.set(this, `_${store}`, filter(_.get(this, `_${store}`)));
      break;
    default:
      assert(false, `invalid store for ${operation} operation`);
      break;
  }
  return this;
}
function filterStore ( operation , store , args ) { const filter = obj => { switch ( operation ) { case 'omit' : return _ . isFunction ( args [ 0 ] ) ? _ . omitBy ( obj , args [ 0 ] ) : _ . omit ( obj , args ) ; case 'pick' : return _ . isFunction ( args [ 0 ] ) ? _ . pickBy ( obj , args [ 0 ] ) : _ . pick ( obj , args ) ; default : break ; } } ; switch ( store ) { case 'context' : case 'functions' : case 'directives' : case 'plugins' : case 'types' : _ . set ( this , ` ${ store } ` , filter ( _ . get ( this , ` ${ store } ` ) ) ) ; break ; default : assert ( false , ` ${ operation } ` ) ; break ; } return this ; }
performs a filter operation on a specified store
@param {*} operation
@param {*} store
@param {*} args
performs a filter operation on a specified store