This commit is contained in:
Domen Kožar 2019-11-19 17:50:30 +01:00
parent cd5893b2c6
commit 70742d22d9
No known key found for this signature in database
GPG key ID: C2FFBCAFD2C24246
6774 changed files with 1602535 additions and 1 deletions

48
node_modules/es-abstract/helpers/assertRecord.js generated vendored Normal file
View file

@ -0,0 +1,48 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var $TypeError = GetIntrinsic('%TypeError%');
var $SyntaxError = GetIntrinsic('%SyntaxError%');
var has = require('has');
var predicates = {
// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
'Property Descriptor': function isPropertyDescriptor(ES, Desc) {
if (ES.Type(Desc) !== 'Object') {
return false;
}
var allowed = {
'[[Configurable]]': true,
'[[Enumerable]]': true,
'[[Get]]': true,
'[[Set]]': true,
'[[Value]]': true,
'[[Writable]]': true
};
for (var key in Desc) { // eslint-disable-line
if (has(Desc, key) && !allowed[key]) {
return false;
}
}
var isData = has(Desc, '[[Value]]');
var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');
if (isData && IsAccessor) {
throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');
}
return true;
}
};
module.exports = function assertRecord(ES, recordType, argumentName, value) {
var predicate = predicates[recordType];
if (typeof predicate !== 'function') {
throw new $SyntaxError('unknown record type: ' + recordType);
}
if (!predicate(ES, value)) {
throw new $TypeError(argumentName + ' must be a ' + recordType);
}
};

21
node_modules/es-abstract/helpers/assign.js generated vendored Normal file
View file

@ -0,0 +1,21 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var has = require('has');
var $assign = GetIntrinsic('%Object%').assign;
module.exports = function assign(target, source) {
if ($assign) {
return $assign(target, source);
}
// eslint-disable-next-line no-restricted-syntax
for (var key in source) {
if (has(source, key)) {
target[key] = source[key];
}
}
return target;
};

17
node_modules/es-abstract/helpers/callBind.js generated vendored Normal file
View file

@ -0,0 +1,17 @@
'use strict';
var bind = require('function-bind');
var GetIntrinsic = require('../GetIntrinsic');
var $Function = GetIntrinsic('%Function%');
var $apply = $Function.apply;
var $call = $Function.call;
module.exports = function callBind() {
return bind.apply($call, arguments);
};
module.exports.apply = function applyBind() {
return bind.apply($apply, arguments);
};

10
node_modules/es-abstract/helpers/every.js generated vendored Normal file
View file

@ -0,0 +1,10 @@
'use strict';
module.exports = function every(array, predicate) {
for (var i = 0; i < array.length; i += 1) {
if (!predicate(array[i], i, array)) {
return false;
}
}
return true;
};

7
node_modules/es-abstract/helpers/forEach.js generated vendored Normal file
View file

@ -0,0 +1,7 @@
'use strict';
module.exports = function forEach(array, callback) {
for (var i = 0; i < array.length; i += 1) {
callback(array[i], i, array); // eslint-disable-line callback-return
}
};

5
node_modules/es-abstract/helpers/isFinite.js generated vendored Normal file
View file

@ -0,0 +1,5 @@
'use strict';
var $isNaN = Number.isNaN || function (a) { return a !== a; };
module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };

5
node_modules/es-abstract/helpers/isNaN.js generated vendored Normal file
View file

@ -0,0 +1,5 @@
'use strict';
module.exports = Number.isNaN || function isNaN(a) {
return a !== a;
};

5
node_modules/es-abstract/helpers/isPrimitive.js generated vendored Normal file
View file

@ -0,0 +1,5 @@
'use strict';
module.exports = function isPrimitive(value) {
return value === null || (typeof value !== 'function' && typeof value !== 'object');
};

View file

@ -0,0 +1,31 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var has = require('has');
var $TypeError = GetIntrinsic('%TypeError%');
module.exports = function IsPropertyDescriptor(ES, Desc) {
if (ES.Type(Desc) !== 'Object') {
return false;
}
var allowed = {
'[[Configurable]]': true,
'[[Enumerable]]': true,
'[[Get]]': true,
'[[Set]]': true,
'[[Value]]': true,
'[[Writable]]': true
};
for (var key in Desc) { // eslint-disable-line
if (has(Desc, key) && !allowed[key]) {
return false;
}
}
if (ES.IsDataDescriptor(Desc) && ES.IsAccessorDescriptor(Desc)) {
throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');
}
return true;
};

View file

@ -0,0 +1,20 @@
'use strict';
var every = require('./every');
module.exports = function isSamePropertyDescriptor(ES, D1, D2) {
var fields = [
'[[Configurable]]',
'[[Enumerable]]',
'[[Get]]',
'[[Set]]',
'[[Value]]',
'[[Writable]]'
];
return every(fields, function (field) {
if ((field in D1) !== (field in D2)) {
return false;
}
return ES.SameValue(D1[field], D2[field]);
});
};

6
node_modules/es-abstract/helpers/mod.js generated vendored Normal file
View file

@ -0,0 +1,6 @@
'use strict';
module.exports = function mod(number, modulo) {
var remain = number % modulo;
return Math.floor(remain >= 0 ? remain : remain + modulo);
};

5
node_modules/es-abstract/helpers/sign.js generated vendored Normal file
View file

@ -0,0 +1,5 @@
'use strict';
module.exports = function sign(number) {
return number >= 0 ? 1 : -1;
};