update
This commit is contained in:
parent
d9becc67b6
commit
9308795b8b
964 changed files with 104265 additions and 16 deletions
67
node_modules/ramda/es/internal/_indexOf.js
generated
vendored
Normal file
67
node_modules/ramda/es/internal/_indexOf.js
generated
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
import equals from "../equals.js";
|
||||
export default function _indexOf(list, a, idx) {
|
||||
var inf, item; // Array.prototype.indexOf doesn't exist below IE9
|
||||
|
||||
if (typeof list.indexOf === 'function') {
|
||||
switch (typeof a) {
|
||||
case 'number':
|
||||
if (a === 0) {
|
||||
// manually crawl the list to distinguish between +0 and -0
|
||||
inf = 1 / a;
|
||||
|
||||
while (idx < list.length) {
|
||||
item = list[idx];
|
||||
|
||||
if (item === 0 && 1 / item === inf) {
|
||||
return idx;
|
||||
}
|
||||
|
||||
idx += 1;
|
||||
}
|
||||
|
||||
return -1;
|
||||
} else if (a !== a) {
|
||||
// NaN
|
||||
while (idx < list.length) {
|
||||
item = list[idx];
|
||||
|
||||
if (typeof item === 'number' && item !== item) {
|
||||
return idx;
|
||||
}
|
||||
|
||||
idx += 1;
|
||||
}
|
||||
|
||||
return -1;
|
||||
} // non-zero numbers can utilise Set
|
||||
|
||||
|
||||
return list.indexOf(a, idx);
|
||||
// all these types can utilise Set
|
||||
|
||||
case 'string':
|
||||
case 'boolean':
|
||||
case 'function':
|
||||
case 'undefined':
|
||||
return list.indexOf(a, idx);
|
||||
|
||||
case 'object':
|
||||
if (a === null) {
|
||||
// null can utilise Set
|
||||
return list.indexOf(a, idx);
|
||||
}
|
||||
|
||||
}
|
||||
} // anything else not covered above, defer to R.equals
|
||||
|
||||
|
||||
while (idx < list.length) {
|
||||
if (equals(list[idx], a)) {
|
||||
return idx;
|
||||
}
|
||||
|
||||
idx += 1;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue