added whole system from ola4doc

This commit is contained in:
Bachir Soussi Chiadmi
2017-12-14 17:06:06 +01:00
parent 9646c74be1
commit 0611418f7a
8725 changed files with 817688 additions and 2 deletions
+7
View File
@@ -0,0 +1,7 @@
'use strict';
if (!require('./is-implemented')()) {
Object.defineProperty(Array.prototype, 'copyWithin',
{ value: require('./shim'), configurable: true, enumerable: false,
writable: true });
}
+4
View File
@@ -0,0 +1,4 @@
'use strict';
module.exports = require('./is-implemented')() ?
Array.prototype.copyWithin : require('./shim');
+7
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';
};
+39
View File
@@ -0,0 +1,39 @@
// 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')
, hasOwnProperty = Object.prototype.hasOwnProperty
, max = Math.max, min = Math.min;
module.exports = function (target, start/*, end*/) {
var o = validValue(this), end = arguments[2], l = toPosInt(o.length)
, to, from, fin, count, direction;
target = toInteger(target);
start = toInteger(start);
end = (end === undefined) ? l : toInteger(end);
to = target < 0 ? max(l + target, 0) : min(target, l);
from = start < 0 ? max(l + start, 0) : min(start, l);
fin = end < 0 ? max(l + end, 0) : min(end, l);
count = min(fin - from, l - to);
direction = 1;
if ((from < to) && (to < (from + count))) {
direction = -1;
from += count - 1;
to += count - 1;
}
while (count > 0) {
if (hasOwnProperty.call(o, from)) o[to] = o[from];
else delete o[from];
from += direction;
to += direction;
count -= 1;
}
return o;
};