diff options
Diffstat (limited to 'build-es/internal/keyIterator.js')
-rw-r--r-- | build-es/internal/keyIterator.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/build-es/internal/keyIterator.js b/build-es/internal/keyIterator.js new file mode 100644 index 0000000..9f12beb --- /dev/null +++ b/build-es/internal/keyIterator.js @@ -0,0 +1,23 @@ +'use strict'; + +import isArrayLike from 'lodash-es/isArrayLike'; +import keys from 'lodash-es/keys'; + +export default function keyIterator(coll) { + var i = -1; + var len; + if (isArrayLike(coll)) { + len = coll.length; + return function next() { + i++; + return i < len ? i : null; + }; + } else { + var okeys = keys(coll); + len = okeys.length; + return function next() { + i++; + return i < len ? okeys[i] : null; + }; + } +} |