Ejemplo n.º 1
0
function custom(model, type){
   var custom = [];
   if(_.isString(model) != true) for(i in model) custom.push(_.isArray(model) ? model[i] : model[i] == true ? i : null);
   if(_.isString(model) == true) custom.push(model);
   if(type == 'message') custom.push('_id');
   return _.compact(custom);
}
Ejemplo n.º 2
0
q.prototype.skip = function(_skip) { 
    if(_.isInt(_skip) || _.isInt(parseInt(_skip)))this._skip = _skip;
    if(_.isObject(_skip) || _.isString(_skip) || _.isArray(_skip)){ 
      this._not = query.not(_skip, this._not); 
    }
    this.paginate({limit : glimit(), skip:  _skip != NaN && !_.isObject(_skip) && !_.isString(_skip) && !_.isArray(_skip)  ? _skip : gskip()});
    return this;
}
Ejemplo n.º 3
0
function not(criteria, prev){
   var _final = [];
   if(_.isArray(criteria))return prev;
   if(_.isString(criteria) || _.isObject(criteria))_final.push(criteria);
   if(prev) { for(i in _final) prev.push(_final[i]); _final = prev; }
   return _final;
};
Ejemplo n.º 4
0
function validate(model){
   var finalized;
   if(_.isArray(model)){
      finalized = [];
      for(var i in model){
          if(_.isString(model[i])) finalized.push(model[i]); 
          if(_.isObject(model[i])){
             if(_.lengthOf(model[i]) != 1){ throw Error("SINGLE OBJECT CAN NOT CONTAIN MORE THEN ONE KEYS ON SELECT!"); break;}
             else finalized.push(model[i]);         
          }
      }
   }
   if(_.isString(model)) finalized = model;
   if(_.isObject(model)) {
     if(_.lengthOf(model) != 1) throw Error("SINGLE OBJECT CAN NOT CONTAIN MORE THEN ONE KEYS ON SELECT!");
     else finalized = model;
   }
   return finalized;
}
Ejemplo n.º 5
0
function model(crit){  
  var where = {'or':[], 'and':[]};
  // if(_.isString(crit)) return { exists: crit}
  if(_.isString(crit)) { var temp = crit; crit = []; crit[0] = temp;  }
  if(_.isObject(crit)){
    if(crit.or){
       console.log('_.isObject(crit) ------------> ', 'or');
       if(_.isArray(crit.or)){
         for(i in crit.or) where.or.push(crit.or[i]);
       }
       if(_.isObject(crit.or)){
         for(k in crit.or){ var _t = {}; _t[k] = crit.or[k]; where.or.push(_t); }
       } 
    }
    if(crit.and){
       console.log('_.isObject(crit) ------------> ', 'and'); 
       if(_.isArray(crit.and)){
         for(i in crit.and) where.and.push(crit.and[i]);
       }
       if(_.isObject(crit.and)){
         for(k in crit.and){ var _t = {}; _t[k] = crit.and[k]; where.and.push(_t); }
       } 
    }
     for(key in crit){
      if(key != 'or' && key != 'and'){
        var temp = {}; temp[key] = crit[key];
        where.and.push(temp);
      }  

     }
  }
  if(_.isArray(crit)){
    for(i in crit){ 
         if(_.isString(crit[i])) where.and.push(crit[i]);
         if(_.isObject(crit[i])) {
          for(key in crit[i]) {
            if(key.toLowerCase() == 'and') { 
              if(_.isObject(crit[i][key])){
                 where.and.push(crit[i][key]); 
              }
              if(!_.isObject(crit[i][key]))
              for(j in crit[i][key]){
                   where.and.push(crit[i][key][j]);
              }
            }
            if(key.toLowerCase() == 'or') {
              if(_.isObject(crit[i][key])){
                 where.and.push(crit[i][key]); 
              }
              if(!_.isObject(crit[i][key]))
              for(j in crit[i][key]){
                 where.or.push(crit[i][key][j]);
              }
            }
            if(key.toLowerCase() != 'or' && key.toLowerCase() != 'and'){
              where.and.push(crit[i]);
            }
          }
         }
         if(_.isArray(crit[i])){
          console.log('isArray',crit[i]);
         }
    }
  }
  return _.lengthOf(where) > 0 ? where : undefined;
};
Ejemplo n.º 6
0
module.exports = function(crit){
   if(_.isString(crit)) return key(crit);
   if(_.isObject(crit)) return range(crit);
};
Ejemplo n.º 7
0
module.exports = function(crit){
   if(_.isString(crit)) return model.time.key(crit);
   if(_.isObject(crit)) return model.time.range(crit);
};