@creejs/commons-lang 2.1.32 → 2.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2839,32 +2839,23 @@ function chunk (array, size) {
2839
2839
  }
2840
2840
 
2841
2841
  // owned
2842
-
2843
2842
  /**
2844
2843
  * @template T
2845
- * @param {Iterable<T>} iterable
2844
+ * @param {Iterator<T>} iterator
2845
+ * @param {number} howMany
2846
+ * @returns {Array<T>}
2846
2847
  */
2847
- function length (iterable) {
2848
- TypeAssert.assertIterable(iterable);
2849
- // @ts-ignore
2850
- if (typeof iterable.length !== 'undefined') {
2851
- // @ts-ignore
2852
- return iterable.length
2853
- // @ts-ignore
2854
- } else if (typeof iterable.size !== 'undefined') {
2855
- // @ts-ignore
2856
- return iterable.size
2857
- }
2858
- let counter = 0;
2859
- // eslint-disable-next-line no-unused-vars
2860
- for (const _item of iterable) {
2861
- counter++;
2848
+ function take (iterator, howMany) {
2849
+ const rtnVal = [];
2850
+ let next;
2851
+ for (let i = 0; i < howMany && !(next = iterator.next()).done; i++) {
2852
+ rtnVal.push(next.value);
2862
2853
  }
2863
- return counter
2854
+ return rtnVal
2864
2855
  }
2865
2856
 
2866
2857
  var IteratorUtils = {
2867
- length
2858
+ take
2868
2859
  };
2869
2860
 
2870
2861
  /**