0.2.0 - Mid migration

This commit is contained in:
Daniel Mason 2022-04-25 14:47:15 +12:00
parent 139e6a915e
commit 7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions

View file

@ -0,0 +1,10 @@
"use strict";
if (!require("./is-implemented")()) {
Object.defineProperty(Array.prototype, "copyWithin", {
value: require("./shim"),
configurable: true,
enumerable: false,
writable: true
});
}

View file

@ -0,0 +1,3 @@
"use strict";
module.exports = require("./is-implemented")() ? Array.prototype.copyWithin : require("./shim");

View file

@ -0,0 +1,7 @@
"use strict";
module.exports = function () {
var arr = [1, 2, 3, 4, 5];
if (typeof arr.copyWithin !== "function") return false;
return String(arr.copyWithin(1, 3)) === "1,4,5,4,5";
};

45
web/node_modules/es5-ext/array/#/copy-within/shim.js generated vendored Normal file
View file

@ -0,0 +1,45 @@
// Taken from: https://github.com/paulmillr/es6-shim/
"use strict";
var toInteger = require("../../../number/to-integer")
, toPosInt = require("../../../number/to-pos-integer")
, validValue = require("../../../object/valid-value")
, objHasOwnProperty = Object.prototype.hasOwnProperty
, max = Math.max
, min = Math.min;
module.exports = function (target, start/*, end*/) {
var arr = validValue(this)
, end = arguments[2]
, length = toPosInt(arr.length)
, to
, from
, fin
, count
, direction;
target = toInteger(target);
start = toInteger(start);
end = end === undefined ? length : toInteger(end);
to = target < 0 ? max(length + target, 0) : min(target, length);
from = start < 0 ? max(length + start, 0) : min(start, length);
fin = end < 0 ? max(length + end, 0) : min(end, length);
count = min(fin - from, length - to);
direction = 1;
if (from < to && to < from + count) {
direction = -1;
from += count - 1;
to += count - 1;
}
while (count > 0) {
if (objHasOwnProperty.call(arr, from)) arr[to] = arr[from];
else delete arr[from];
from += direction;
to += direction;
count -= 1;
}
return arr;
};