@@ -27,7 +27,7 @@ <h1>underscore-esm.js</h1>
27
27
< div class ="pilwrap ">
28
28
< a class ="pilcrow " href ="#section-1 "> ¶</ a >
29
29
</ div >
30
- < pre > < code > Underscore.js < span class ="hljs-number "> 1.13</ span > < span class ="hljs-number "> .1 </ span >
30
+ < pre > < code > Underscore.js < span class ="hljs-number "> 1.13</ span > < span class ="hljs-number "> .2 </ span >
31
31
< span class ="hljs-attr "> https</ span > :< span class ="hljs-comment "> //underscorejs.org</ span >
32
32
(c) < span class ="hljs-number "> 2009</ span > < span class ="hljs-number "> -2021</ span > Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
33
33
Underscore may be freely distributed under the MIT license.</ code > </ pre >
@@ -46,7 +46,7 @@ <h1>underscore-esm.js</h1>
46
46
47
47
</ div >
48
48
49
- < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> var</ span > VERSION = < span class ="hljs-string "> '1.13.1 '</ span > ;</ pre > </ div > </ div >
49
+ < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> var</ span > VERSION = < span class ="hljs-string "> '1.13.2 '</ span > ;</ pre > </ div > </ div >
50
50
51
51
</ li >
52
52
@@ -667,7 +667,7 @@ <h1>underscore-esm.js</h1>
667
667
< span class ="hljs-keyword "> var</ span > hash = {};
668
668
< span class ="hljs-keyword "> for</ span > (< span class ="hljs-keyword "> var</ span > l = keys.length, i = < span class ="hljs-number "> 0</ span > ; i < l; ++i) hash[keys[i]] = < span class ="hljs-literal "> true</ span > ;
669
669
< span class ="hljs-keyword "> return</ span > {
670
- < span class ="hljs-attr "> contains</ span > : < span class ="hljs-function "> < span class ="hljs-keyword "> function</ span > (< span class ="hljs-params "> key</ span > ) </ span > { < span class ="hljs-keyword "> return</ span > hash[key]; },
670
+ < span class ="hljs-attr "> contains</ span > : < span class ="hljs-function "> < span class ="hljs-keyword "> function</ span > (< span class ="hljs-params "> key</ span > ) </ span > { < span class ="hljs-keyword "> return</ span > hash[key] === < span class =" hljs-literal " > true </ span > ; },
671
671
< span class ="hljs-attr "> push</ span > : < span class ="hljs-function "> < span class ="hljs-keyword "> function</ span > (< span class ="hljs-params "> key</ span > ) </ span > {
672
672
hash[key] = < span class ="hljs-literal "> true</ span > ;
673
673
< span class ="hljs-keyword "> return</ span > keys.push(key);
@@ -3713,6 +3713,44 @@ <h1>underscore-esm.js</h1>
3713
3713
< div class ="pilwrap ">
3714
3714
< a class ="pilcrow " href ="#section-180 "> ¶</ a >
3715
3715
</ div >
3716
+ < p > Safely create a real, live array from anything iterable.</ p >
3717
+
3718
+ </ div >
3719
+
3720
+ < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> var</ span > reStrSymbol = < span class ="hljs-regexp "> /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g</ span > ;
3721
+ < span class ="hljs-function "> < span class ="hljs-keyword "> function</ span > < span class ="hljs-title "> toArray</ span > (< span class ="hljs-params "> obj</ span > ) </ span > {
3722
+ < span class ="hljs-keyword "> if</ span > (!obj) < span class ="hljs-keyword "> return</ span > [];
3723
+ < span class ="hljs-keyword "> if</ span > (isArray(obj)) < span class ="hljs-keyword "> return</ span > slice.call(obj);
3724
+ < span class ="hljs-keyword "> if</ span > (isString(obj)) {</ pre > </ div > </ div >
3725
+
3726
+ </ li >
3727
+
3728
+
3729
+ < li id ="section-181 ">
3730
+ < div class ="annotation ">
3731
+
3732
+ < div class ="pilwrap ">
3733
+ < a class ="pilcrow " href ="#section-181 "> ¶</ a >
3734
+ </ div >
3735
+ < p > Keep surrogate pair characters together.</ p >
3736
+
3737
+ </ div >
3738
+
3739
+ < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> return</ span > obj.match(reStrSymbol);
3740
+ }
3741
+ < span class ="hljs-keyword "> if</ span > (isArrayLike(obj)) < span class ="hljs-keyword "> return</ span > map(obj, identity);
3742
+ < span class ="hljs-keyword "> return</ span > values(obj);
3743
+ }</ pre > </ div > </ div >
3744
+
3745
+ </ li >
3746
+
3747
+
3748
+ < li id ="section-182 ">
3749
+ < div class ="annotation ">
3750
+
3751
+ < div class ="pilwrap ">
3752
+ < a class ="pilcrow " href ="#section-182 "> ¶</ a >
3753
+ </ div >
3716
3754
< p > Sample < strong > n</ strong > random values from a collection using the modern version of the
3717
3755
< a href ="https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle "> Fisher-Yates shuffle</ a > .
3718
3756
If < strong > n</ strong > is not specified, returns a single random element.
@@ -3725,7 +3763,7 @@ <h1>underscore-esm.js</h1>
3725
3763
< span class ="hljs-keyword "> if</ span > (!isArrayLike(obj)) obj = values(obj);
3726
3764
< span class ="hljs-keyword "> return</ span > obj[random(obj.length - < span class ="hljs-number "> 1</ span > )];
3727
3765
}
3728
- < span class ="hljs-keyword "> var</ span > sample = isArrayLike(obj) ? clone(obj) : values (obj);
3766
+ < span class ="hljs-keyword "> var</ span > sample = toArray (obj);
3729
3767
< span class ="hljs-keyword "> var</ span > length = < span class ="hljs-keyword "> get</ span > < span class ="hljs-title "> Length</ span > (< span class ="hljs-params "> sample</ span > );
3730
3768
< span class ="hljs-title "> n</ span > = < span class ="hljs-title "> Math</ span > .< span class ="hljs-title "> max</ span > (< span class ="hljs-params "> Math.min(n, length</ span > ), 0);
3731
3769
< span class ="hljs-title "> var</ span > < span class ="hljs-title "> last</ span > = < span class ="hljs-title "> length</ span > - 1;
@@ -3741,11 +3779,11 @@ <h1>underscore-esm.js</h1>
3741
3779
</ li >
3742
3780
3743
3781
3744
- < li id ="section-181 ">
3782
+ < li id ="section-183 ">
3745
3783
< div class ="annotation ">
3746
3784
3747
3785
< div class ="pilwrap ">
3748
- < a class ="pilcrow " href ="#section-181 "> ¶</ a >
3786
+ < a class ="pilcrow " href ="#section-183 "> ¶</ a >
3749
3787
</ div >
3750
3788
< p > Shuffle a collection.</ p >
3751
3789
@@ -3758,11 +3796,11 @@ <h1>underscore-esm.js</h1>
3758
3796
</ li >
3759
3797
3760
3798
3761
- < li id ="section-182 ">
3799
+ < li id ="section-184 ">
3762
3800
< div class ="annotation ">
3763
3801
3764
3802
< div class ="pilwrap ">
3765
- < a class ="pilcrow " href ="#section-182 "> ¶</ a >
3803
+ < a class ="pilcrow " href ="#section-184 "> ¶</ a >
3766
3804
</ div >
3767
3805
< p > Sort the object’s values by a criterion produced by an iteratee.</ p >
3768
3806
@@ -3791,11 +3829,11 @@ <h1>underscore-esm.js</h1>
3791
3829
</ li >
3792
3830
3793
3831
3794
- < li id ="section-183 ">
3832
+ < li id ="section-185 ">
3795
3833
< div class ="annotation ">
3796
3834
3797
3835
< div class ="pilwrap ">
3798
- < a class ="pilcrow " href ="#section-183 "> ¶</ a >
3836
+ < a class ="pilcrow " href ="#section-185 "> ¶</ a >
3799
3837
</ div >
3800
3838
< p > An internal function used for aggregate “group by” operations.</ p >
3801
3839
@@ -3816,11 +3854,11 @@ <h1>underscore-esm.js</h1>
3816
3854
</ li >
3817
3855
3818
3856
3819
- < li id ="section-184 ">
3857
+ < li id ="section-186 ">
3820
3858
< div class ="annotation ">
3821
3859
3822
3860
< div class ="pilwrap ">
3823
- < a class ="pilcrow " href ="#section-184 "> ¶</ a >
3861
+ < a class ="pilcrow " href ="#section-186 "> ¶</ a >
3824
3862
</ div >
3825
3863
< p > Groups the object’s values by a criterion. Pass either a string attribute
3826
3864
to group by, or a function that returns the criterion.</ p >
@@ -3834,11 +3872,11 @@ <h1>underscore-esm.js</h1>
3834
3872
</ li >
3835
3873
3836
3874
3837
- < li id ="section-185 ">
3875
+ < li id ="section-187 ">
3838
3876
< div class ="annotation ">
3839
3877
3840
3878
< div class ="pilwrap ">
3841
- < a class ="pilcrow " href ="#section-185 "> ¶</ a >
3879
+ < a class ="pilcrow " href ="#section-187 "> ¶</ a >
3842
3880
</ div >
3843
3881
< p > Indexes the object’s values by a criterion, similar to < code > _.groupBy</ code > , but for
3844
3882
when you know that your index values will be unique.</ p >
@@ -3852,11 +3890,11 @@ <h1>underscore-esm.js</h1>
3852
3890
</ li >
3853
3891
3854
3892
3855
- < li id ="section-186 ">
3893
+ < li id ="section-188 ">
3856
3894
< div class ="annotation ">
3857
3895
3858
3896
< div class ="pilwrap ">
3859
- < a class ="pilcrow " href ="#section-186 "> ¶</ a >
3897
+ < a class ="pilcrow " href ="#section-188 "> ¶</ a >
3860
3898
</ div >
3861
3899
< p > Counts instances of an object that group by a certain criterion. Pass
3862
3900
either a string attribute to count by, or a function that returns the
@@ -3871,11 +3909,11 @@ <h1>underscore-esm.js</h1>
3871
3909
</ li >
3872
3910
3873
3911
3874
- < li id ="section-187 ">
3912
+ < li id ="section-189 ">
3875
3913
< div class ="annotation ">
3876
3914
3877
3915
< div class ="pilwrap ">
3878
- < a class ="pilcrow " href ="#section-187 "> ¶</ a >
3916
+ < a class ="pilcrow " href ="#section-189 "> ¶</ a >
3879
3917
</ div >
3880
3918
< p > Split a collection into two arrays: one whose elements all pass the given
3881
3919
truth test, and one whose elements all do not pass the truth test.</ p >
@@ -3889,44 +3927,6 @@ <h1>underscore-esm.js</h1>
3889
3927
</ li >
3890
3928
3891
3929
3892
- < li id ="section-188 ">
3893
- < div class ="annotation ">
3894
-
3895
- < div class ="pilwrap ">
3896
- < a class ="pilcrow " href ="#section-188 "> ¶</ a >
3897
- </ div >
3898
- < p > Safely create a real, live array from anything iterable.</ p >
3899
-
3900
- </ div >
3901
-
3902
- < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> var</ span > reStrSymbol = < span class ="hljs-regexp "> /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g</ span > ;
3903
- < span class ="hljs-function "> < span class ="hljs-keyword "> function</ span > < span class ="hljs-title "> toArray</ span > (< span class ="hljs-params "> obj</ span > ) </ span > {
3904
- < span class ="hljs-keyword "> if</ span > (!obj) < span class ="hljs-keyword "> return</ span > [];
3905
- < span class ="hljs-keyword "> if</ span > (isArray(obj)) < span class ="hljs-keyword "> return</ span > slice.call(obj);
3906
- < span class ="hljs-keyword "> if</ span > (isString(obj)) {</ pre > </ div > </ div >
3907
-
3908
- </ li >
3909
-
3910
-
3911
- < li id ="section-189 ">
3912
- < div class ="annotation ">
3913
-
3914
- < div class ="pilwrap ">
3915
- < a class ="pilcrow " href ="#section-189 "> ¶</ a >
3916
- </ div >
3917
- < p > Keep surrogate pair characters together.</ p >
3918
-
3919
- </ div >
3920
-
3921
- < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> return</ span > obj.match(reStrSymbol);
3922
- }
3923
- < span class ="hljs-keyword "> if</ span > (isArrayLike(obj)) < span class ="hljs-keyword "> return</ span > map(obj, identity);
3924
- < span class ="hljs-keyword "> return</ span > values(obj);
3925
- }</ pre > </ div > </ div >
3926
-
3927
- </ li >
3928
-
3929
-
3930
3930
< li id ="section-190 ">
3931
3931
< div class ="annotation ">
3932
3932
0 commit comments