mirror of
https://github.com/swc-project/swc.git
synced 2025-01-07 06:06:41 +03:00
f44e25c3af
swc_common: - Add `Span.has_mark`. swc_ecma_codegen: - Emit `1e3` for `1000`. - Optimize output. (#1986) swc_ecma_minifier: - name mangler: Don't use keywords as an id. - `properties`: Optimize member expression with string properties. - `inline`: Inline some function expressions even if it's not fn-local. - `analyzer`: Track reassignment correctly. - `analyzer`: Track fn-local correctly. - `sequences`: Inject `void` if required. - `inline`: Inline function declarations correctly. - `sequences`: Merge expressions into test of if statements. - `sequences`: Reduce calls to an assigned variable. - Use `Marks` instead of `&dyn Comments`. swc_ecma_transforms_optimization: - `expr_simplifier`: Fix infinite loops. node/swc: - Ensure that `.transform` performs minification. (#1989)
25 lines
573 B
JavaScript
25 lines
573 B
JavaScript
YArray.indexOf = Lang._isNative(Native.indexOf) ? function (array, value, from) {
|
|
return Native.indexOf.call(array, value, from);
|
|
} : function (array, value, from) {
|
|
// http://es5.github.com/#x15.4.4.14
|
|
var len = array.length;
|
|
|
|
from = +from || 0;
|
|
from = (from > 0 || -1) * Math.floor(Math.abs(from));
|
|
|
|
if (from < 0) {
|
|
from += len;
|
|
|
|
if (from < 0) {
|
|
from = 0;
|
|
}
|
|
}
|
|
|
|
for (; from < len; ++from) {
|
|
if (from in array && array[from] === value) {
|
|
return from;
|
|
}
|
|
}
|
|
|
|
return -1;
|
|
}; |