@@ -27,9 +27,9 @@ <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 > < span class ="hljs-title class_ "> Underscore</ span > .< span class ="hljs-property "> js</ span > < span class ="hljs-number "> 1.13</ span > < span class ="hljs-number "> .6 </ span >
30
+ < pre > < code > < span class ="hljs-title class_ "> Underscore</ span > .< span class ="hljs-property "> js</ span > < span class ="hljs-number "> 1.13</ span > < span class ="hljs-number "> .7 </ span >
31
31
< span class ="hljs-attr "> https</ span > :< span class ="hljs-comment "> //underscorejs.org</ span >
32
- (c) < span class ="hljs-number "> 2009</ span > -< span class ="hljs-number "> 2022 </ span > < span class ="hljs-title class_ "> Jeremy</ span > < span class ="hljs-title class_ "> Ashkenas</ span > , < span class ="hljs-title class_ "> Julian</ span > < span class ="hljs-title class_ "> Gonggrijp</ span > , and < span class ="hljs-title class_ "> DocumentCloud</ span > and < span class ="hljs-title class_ "> Investigative</ span > < span class ="hljs-title class_ "> Reporters</ span > & < span class ="hljs-title class_ "> Editors</ span >
32
+ (c) < span class ="hljs-number "> 2009</ span > -< span class ="hljs-number "> 2024 </ span > < span class ="hljs-title class_ "> Jeremy</ span > < span class ="hljs-title class_ "> Ashkenas</ span > , < span class ="hljs-title class_ "> Julian</ span > < span class ="hljs-title class_ "> Gonggrijp</ span > , and < span class ="hljs-title class_ "> DocumentCloud</ span > and < span class ="hljs-title class_ "> Investigative</ span > < span class ="hljs-title class_ "> Reporters</ span > & < span class ="hljs-title class_ "> Editors</ span >
33
33
< span class ="hljs-title class_ "> Underscore</ span > may be freely distributed under the < span class ="hljs-variable constant_ "> MIT</ span > license.
34
34
</ code > </ pre >
35
35
@@ -48,7 +48,7 @@ <h1>underscore-esm.js</h1>
48
48
49
49
</ div >
50
50
51
- < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> var</ span > < span class ="hljs-variable constant_ "> VERSION</ span > = < span class ="hljs-string "> '1.13.6 '</ span > ;</ pre > </ div > </ div >
51
+ < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> var</ span > < span class ="hljs-variable constant_ "> VERSION</ span > = < span class ="hljs-string "> '1.13.7 '</ span > ;</ pre > </ div > </ div >
52
52
53
53
</ li >
54
54
@@ -385,12 +385,15 @@ <h1>underscore-esm.js</h1>
385
385
</ div >
386
386
< p > In IE 10 - Edge 13, < code > DataView</ code > has string tag < code > '[object Object]'</ code > .
387
387
In IE 11, the most common among them, this problem also applies to
388
- < code > Map</ code > , < code > WeakMap</ code > and < code > Set</ code > .</ p >
388
+ < code > Map</ code > , < code > WeakMap</ code > and < code > Set</ code > .
389
+ Also, there are cases where an application can override the native
390
+ < code > DataView</ code > object, in cases like that we can’t use the constructor
391
+ safely and should just rely on alternate < code > DataView</ code > checks</ p >
389
392
390
393
</ div >
391
394
392
- < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> var</ span > hasStringTagBug = (
393
- supportsDataView && < span class ="hljs-title function_ "> hasObjectTag</ span > (< span class ="hljs-keyword "> new</ span > < span class ="hljs-title class_ "> DataView</ span > (< span class ="hljs-keyword "> new</ span > < span class ="hljs-title class_ "> ArrayBuffer</ span > (< span class ="hljs-number "> 8</ span > )))
395
+ < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> var</ span > hasDataViewBug = (
396
+ supportsDataView && (! < span class ="hljs-regexp " > /\[native code\]/ </ span > . < span class =" hljs- title function_ "> test </ span > ( < span class =" hljs-title class_ " > String </ span > ( < span class =" hljs-title class_ " > DataView </ span > )) || < span class =" hljs-title function_ " > hasObjectTag</ span > (< span class ="hljs-keyword "> new</ span > < span class ="hljs-title class_ "> DataView</ span > (< span class ="hljs-keyword "> new</ span > < span class ="hljs-title class_ "> ArrayBuffer</ span > (< span class ="hljs-number "> 8</ span > ) )))
394
397
),
395
398
isIE11 = (< span class ="hljs-keyword "> typeof</ span > < span class ="hljs-title class_ "> Map</ span > !== < span class ="hljs-string "> 'undefined'</ span > && < span class ="hljs-title function_ "> hasObjectTag</ span > (< span class ="hljs-keyword "> new</ span > < span class ="hljs-title class_ "> Map</ span > ));
396
399
@@ -406,15 +409,17 @@ <h1>underscore-esm.js</h1>
406
409
< a class ="pilcrow " href ="#section-20 "> ¶</ a >
407
410
</ div >
408
411
< p > In IE 10 - Edge 13, we need a different heuristic
409
- to determine whether an object is a < code > DataView</ code > .</ p >
412
+ to determine whether an object is a < code > DataView</ code > .
413
+ Also, in cases where the native < code > DataView</ code > is
414
+ overridden we can’t rely on the tag itself.</ p >
410
415
411
416
</ div >
412
417
413
- < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> function</ span > < span class ="hljs-title function_ "> ie10IsDataView </ span > (< span class ="hljs-params "> obj</ span > ) {
418
+ < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> function</ span > < span class ="hljs-title function_ "> alternateIsDataView </ span > (< span class ="hljs-params "> obj</ span > ) {
414
419
< span class ="hljs-keyword "> return</ span > obj != < span class ="hljs-literal "> null</ span > && < span class ="hljs-title function_ "> isFunction$1</ span > (obj.< span class ="hljs-property "> getInt8</ span > ) && < span class ="hljs-title function_ "> isArrayBuffer</ span > (obj.< span class ="hljs-property "> buffer</ span > );
415
420
}
416
421
417
- < span class ="hljs-keyword "> var</ span > isDataView$< span class ="hljs-number "> 1</ span > = (hasStringTagBug ? ie10IsDataView : isDataView);</ pre > </ div > </ div >
422
+ < span class ="hljs-keyword "> var</ span > isDataView$< span class ="hljs-number "> 1</ span > = (hasDataViewBug ? alternateIsDataView : isDataView);</ pre > </ div > </ div >
418
423
419
424
</ li >
420
425
@@ -1057,7 +1062,7 @@ <h1>underscore-esm.js</h1>
1057
1062
1058
1063
</ div >
1059
1064
1060
- < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> if</ span > (hasStringTagBug && className == < span class ="hljs-string "> '[object Object]'</ span > && < span class ="hljs-title function_ "> isDataView$1</ span > (a)) {
1065
+ < div class ="content "> < div class ='highlight '> < pre > < span class ="hljs-keyword "> if</ span > (hasDataViewBug && className == < span class ="hljs-string "> '[object Object]'</ span > && < span class ="hljs-title function_ "> isDataView$1</ span > (a)) {
1061
1066
< span class ="hljs-keyword "> if</ span > (!< span class ="hljs-title function_ "> isDataView$1</ span > (b)) < span class ="hljs-keyword "> return</ span > < span class ="hljs-literal "> false</ span > ;
1062
1067
className = tagDataView;
1063
1068
}
0 commit comments