sid.on(function(doc){ if(_.valids.isList(doc)){ _.enums.eachSync(doc,function(e,i,o,fx){ var find = {}; if(by && _.valids.containsKey(e,by)) find[by] = e[by]; else find['_id'] = e._id; cursor = model.update(find,e,{ upsert: true }) .error(fx) .success(function(d){ suc.push(d); return fx(null); }); },function(_,err){ if(err) return sx.completeError(err); return sx.complete(suc); }); }else{ var find = {}; if(by && _.valids.containsKey(doc,by)) find[by] = doc[by]; else find['_id'] = doc._id; model .update(find,doc,{ upsert: true }) .error(sx.$bind(sx.completeError)) .success(sx.$bind(sx.complete)); } });
fs.readdir(ps,this.$bind(function(err,body){ if(err){ return this.emitPacket(plug.ReplyPackets.from(p,err));} var m = this.emitPacket(plug.ReplyPackets.from(p,{ f:file, p: ps})); if(_.valids.List(body)){ _.enums.each(body,function(e,i,o,fx){ m.emit({id: e, file: path.resolve(ps,e)}); return fx(null); },function(){ m.end(); }); }else{ m.emit(body); m.end(); } }));
sx.then(function(doc){ var sm = sx.out(); _.enums.each(doc,sm.$bind(sm.emit),function(_,err){ sm.emitEvent('dataEnd',true); }); });