@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.
@@ -2841,32 +2841,23 @@
2841
2841
  }
2842
2842
 
2843
2843
  // owned
2844
-
2845
2844
  /**
2846
2845
  * @template T
2847
- * @param {Iterable<T>} iterable
2846
+ * @param {Iterator<T>} iterator
2847
+ * @param {number} howMany
2848
+ * @returns {Array<T>}
2848
2849
  */
2849
- function length (iterable) {
2850
- TypeAssert.assertIterable(iterable);
2851
- // @ts-ignore
2852
- if (typeof iterable.length !== 'undefined') {
2853
- // @ts-ignore
2854
- return iterable.length
2855
- // @ts-ignore
2856
- } else if (typeof iterable.size !== 'undefined') {
2857
- // @ts-ignore
2858
- return iterable.size
2859
- }
2860
- let counter = 0;
2861
- // eslint-disable-next-line no-unused-vars
2862
- for (const _item of iterable) {
2863
- counter++;
2850
+ function take (iterator, howMany) {
2851
+ const rtnVal = [];
2852
+ let next;
2853
+ for (let i = 0; i < howMany && !(next = iterator.next()).done; i++) {
2854
+ rtnVal.push(next.value);
2864
2855
  }
2865
- return counter
2856
+ return rtnVal
2866
2857
  }
2867
2858
 
2868
2859
  var IteratorUtils = {
2869
- length
2860
+ take
2870
2861
  };
2871
2862
 
2872
2863
  /**