@creejs/commons-lang 2.1.34 → 2.1.35

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.
@@ -2845,7 +2845,7 @@ function chunk (array, size) {
2845
2845
  * @param {number} howMany
2846
2846
  * @returns {Array<T>}
2847
2847
  */
2848
- function take (iterator, howMany) {
2848
+ function take$1 (iterator, howMany) {
2849
2849
  const rtnVal = [];
2850
2850
  let next;
2851
2851
  for (let i = 0; i < howMany && !(next = iterator.next()).done; i++) {
@@ -2855,6 +2855,54 @@ function take (iterator, howMany) {
2855
2855
  }
2856
2856
 
2857
2857
  var IteratorUtils = {
2858
+ take: take$1
2859
+ };
2860
+
2861
+ // owned
2862
+
2863
+ /**
2864
+ * @template T
2865
+ * @param {Iterable<T>} iterable
2866
+ * @returns {number}
2867
+ * @throws {Error} Not Iterable
2868
+ */
2869
+ function length (iterable) {
2870
+ TypeAssert.assertIterable(iterable);
2871
+ // @ts-ignore
2872
+ const length = iterable.length ?? iterable.size;
2873
+ // @ts-ignore
2874
+ if (typeof length === 'number') {
2875
+ return length
2876
+ }
2877
+ let counter = 0;
2878
+ // eslint-disable-next-line no-unused-vars
2879
+ for (const _item of iterable) {
2880
+ counter++;
2881
+ }
2882
+ return counter
2883
+ }
2884
+
2885
+ /**
2886
+ * @template T
2887
+ * @param {Iterable<T>} iterable
2888
+ * @param {number} howMany
2889
+ * @returns {Array<T>}
2890
+ */
2891
+ function take (iterable, howMany) {
2892
+ // if (length(iterable) <= howMany) {
2893
+ // return [...iterable]
2894
+ // }
2895
+ const iterator = iterable[Symbol.iterator]();
2896
+ const rtnVal = [];
2897
+ let next;
2898
+ for (let i = 0; i < howMany && !(next = iterator.next()).done; i++) {
2899
+ rtnVal.push(next.value);
2900
+ }
2901
+ return rtnVal
2902
+ }
2903
+
2904
+ var IterableUtils = {
2905
+ length,
2858
2906
  take
2859
2907
  };
2860
2908
 
@@ -2882,7 +2930,8 @@ var index = {
2882
2930
  ArrayBufferUtils,
2883
2931
  TimeUtils,
2884
2932
  ArrayUtils,
2885
- IteratorUtils
2933
+ IteratorUtils,
2934
+ IterableUtils
2886
2935
  };
2887
2936
 
2888
2937
  exports.AggregatedError = AggregatedError;
@@ -2892,6 +2941,7 @@ exports.ClassProxyUtils = ClassProxyUtils;
2892
2941
  exports.Exec = ExecUtils;
2893
2942
  exports.ExecUtils = ExecUtils;
2894
2943
  exports.InstanceProxyUtils = InstanceProxyUtils;
2944
+ exports.IterableUtils = IterableUtils;
2895
2945
  exports.IteratorUtils = IteratorUtils;
2896
2946
  exports.Lang = LangUtils;
2897
2947
  exports.LangUtils = LangUtils;