Pauan

SJS current each

Oct 5th, 2014
417
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function each(sequence, r) {
  2.   if (isStream(sequence)) {
  3.     return sequence(r);
  4.   }
  5.   else {
  6.     if (isArrayLike(sequence) || isBuffer(sequence)) {
  7.       for (var i=0, l=sequence.length; i<l; ++i) {
  8.         var res = r(sequence[i]);
  9.         if (__oni_rt.is_ef(res))
  10.           return async_each(sequence, r, i, res);
  11.       }
  12.     }
  13.     else if (isString(sequence)) {
  14.       for (var i=0, l=sequence.length; i<l; ++i) {
  15.         var res = r(sequence.charAt(i));
  16.         if (__oni_rt.is_ef(res))
  17.           return async_each(sequence, r, i, res);
  18.       }
  19.     }
  20.     else
  21.       throw new Error("Unsupported sequence type '#{typeof sequence}'");
  22.   }
  23. }
  24. exports.each = each;
Advertisement
Add Comment
Please, Sign In to add comment