@creejs/commons-lang 2.1.33 → 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.
- package/dist/cjs/index-dev.cjs +49 -10
- package/dist/cjs/index-dev.cjs.map +1 -1
- package/dist/cjs/index-min.cjs +1 -1
- package/dist/cjs/index-min.cjs.map +1 -1
- package/dist/esm/index-dev.js +49 -11
- package/dist/esm/index-dev.js.map +1 -1
- package/dist/esm/index-min.js +1 -1
- package/dist/esm/index-min.js.map +1 -1
- package/dist/umd/index.dev.js +49 -10
- package/dist/umd/index.dev.js.map +1 -1
- package/dist/umd/index.min.js +1 -1
- package/dist/umd/index.min.js.map +1 -1
- package/package.json +1 -1
- package/types/index.d.ts +3 -1
- package/types/iterable-utils.d.ts +19 -0
- package/types/iterator-utils.d.ts +5 -5
package/dist/umd/index.dev.js
CHANGED
|
@@ -2840,6 +2840,26 @@
|
|
|
2840
2840
|
return chunked
|
|
2841
2841
|
}
|
|
2842
2842
|
|
|
2843
|
+
// owned
|
|
2844
|
+
/**
|
|
2845
|
+
* @template T
|
|
2846
|
+
* @param {Iterator<T>} iterator
|
|
2847
|
+
* @param {number} howMany
|
|
2848
|
+
* @returns {Array<T>}
|
|
2849
|
+
*/
|
|
2850
|
+
function take$1 (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);
|
|
2855
|
+
}
|
|
2856
|
+
return rtnVal
|
|
2857
|
+
}
|
|
2858
|
+
|
|
2859
|
+
var IteratorUtils = {
|
|
2860
|
+
take: take$1
|
|
2861
|
+
};
|
|
2862
|
+
|
|
2843
2863
|
// owned
|
|
2844
2864
|
|
|
2845
2865
|
/**
|
|
@@ -2851,13 +2871,10 @@
|
|
|
2851
2871
|
function length (iterable) {
|
|
2852
2872
|
TypeAssert.assertIterable(iterable);
|
|
2853
2873
|
// @ts-ignore
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
} else if (typeof iterable.size !== 'undefined') {
|
|
2859
|
-
// @ts-ignore
|
|
2860
|
-
return iterable.size
|
|
2874
|
+
const length = iterable.length ?? iterable.size;
|
|
2875
|
+
// @ts-ignore
|
|
2876
|
+
if (typeof length === 'number') {
|
|
2877
|
+
return length
|
|
2861
2878
|
}
|
|
2862
2879
|
let counter = 0;
|
|
2863
2880
|
// eslint-disable-next-line no-unused-vars
|
|
@@ -2867,8 +2884,28 @@
|
|
|
2867
2884
|
return counter
|
|
2868
2885
|
}
|
|
2869
2886
|
|
|
2870
|
-
|
|
2871
|
-
|
|
2887
|
+
/**
|
|
2888
|
+
* @template T
|
|
2889
|
+
* @param {Iterable<T>} iterable
|
|
2890
|
+
* @param {number} howMany
|
|
2891
|
+
* @returns {Array<T>}
|
|
2892
|
+
*/
|
|
2893
|
+
function take (iterable, howMany) {
|
|
2894
|
+
// if (length(iterable) <= howMany) {
|
|
2895
|
+
// return [...iterable]
|
|
2896
|
+
// }
|
|
2897
|
+
const iterator = iterable[Symbol.iterator]();
|
|
2898
|
+
const rtnVal = [];
|
|
2899
|
+
let next;
|
|
2900
|
+
for (let i = 0; i < howMany && !(next = iterator.next()).done; i++) {
|
|
2901
|
+
rtnVal.push(next.value);
|
|
2902
|
+
}
|
|
2903
|
+
return rtnVal
|
|
2904
|
+
}
|
|
2905
|
+
|
|
2906
|
+
var IterableUtils = {
|
|
2907
|
+
length,
|
|
2908
|
+
take
|
|
2872
2909
|
};
|
|
2873
2910
|
|
|
2874
2911
|
/**
|
|
@@ -2895,7 +2932,8 @@
|
|
|
2895
2932
|
ArrayBufferUtils,
|
|
2896
2933
|
TimeUtils,
|
|
2897
2934
|
ArrayUtils,
|
|
2898
|
-
IteratorUtils
|
|
2935
|
+
IteratorUtils,
|
|
2936
|
+
IterableUtils
|
|
2899
2937
|
};
|
|
2900
2938
|
|
|
2901
2939
|
exports.AggregatedError = AggregatedError;
|
|
@@ -2905,6 +2943,7 @@
|
|
|
2905
2943
|
exports.Exec = ExecUtils;
|
|
2906
2944
|
exports.ExecUtils = ExecUtils;
|
|
2907
2945
|
exports.InstanceProxyUtils = InstanceProxyUtils;
|
|
2946
|
+
exports.IterableUtils = IterableUtils;
|
|
2908
2947
|
exports.IteratorUtils = IteratorUtils;
|
|
2909
2948
|
exports.Lang = LangUtils;
|
|
2910
2949
|
exports.LangUtils = LangUtils;
|