'use strict' var abortCb = require('../util/abort-cb') module.exports = function values (array, onAbort) { if(!array) return function (abort, cb) { if(abort) return abortCb(cb, abort, onAbort) return cb(true) } if(!Array.isArray(array)) array = Object.keys(array).map(function (k) { return array[k] }) var i = 0 return function (abort, cb) { if(abort) return abortCb(cb, abort, onAbort) cb(i >= array.length || null, array[i++]) } }