mirror of
https://github.com/musix-org/musix-oss
synced 2025-06-17 04:26:00 +00:00
Modules
This commit is contained in:
37
node_modules/es-abstract/5/AbstractEqualityComparison.js
generated
vendored
Normal file
37
node_modules/es-abstract/5/AbstractEqualityComparison.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
'use strict';
|
||||
|
||||
var ToNumber = require('./ToNumber');
|
||||
var ToPrimitive = require('./ToPrimitive');
|
||||
var Type = require('./Type');
|
||||
|
||||
// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3
|
||||
|
||||
module.exports = function AbstractEqualityComparison(x, y) {
|
||||
var xType = Type(x);
|
||||
var yType = Type(y);
|
||||
if (xType === yType) {
|
||||
return x === y; // ES6+ specified this shortcut anyways.
|
||||
}
|
||||
if (x == null && y == null) {
|
||||
return true;
|
||||
}
|
||||
if (xType === 'Number' && yType === 'String') {
|
||||
return AbstractEqualityComparison(x, ToNumber(y));
|
||||
}
|
||||
if (xType === 'String' && yType === 'Number') {
|
||||
return AbstractEqualityComparison(ToNumber(x), y);
|
||||
}
|
||||
if (xType === 'Boolean') {
|
||||
return AbstractEqualityComparison(ToNumber(x), y);
|
||||
}
|
||||
if (yType === 'Boolean') {
|
||||
return AbstractEqualityComparison(x, ToNumber(y));
|
||||
}
|
||||
if ((xType === 'String' || xType === 'Number') && yType === 'Object') {
|
||||
return AbstractEqualityComparison(x, ToPrimitive(y));
|
||||
}
|
||||
if (xType === 'Object' && (yType === 'String' || yType === 'Number')) {
|
||||
return AbstractEqualityComparison(ToPrimitive(x), y);
|
||||
}
|
||||
return false;
|
||||
};
|
66
node_modules/es-abstract/5/AbstractRelationalComparison.js
generated
vendored
Normal file
66
node_modules/es-abstract/5/AbstractRelationalComparison.js
generated
vendored
Normal file
@ -0,0 +1,66 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $Number = GetIntrinsic('%Number%');
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
var $isNaN = require('../helpers/isNaN');
|
||||
var $isFinite = require('../helpers/isFinite');
|
||||
var isPrefixOf = require('../helpers/isPrefixOf');
|
||||
|
||||
var ToNumber = require('./ToNumber');
|
||||
var ToPrimitive = require('./ToPrimitive');
|
||||
var Type = require('./Type');
|
||||
|
||||
// https://www.ecma-international.org/ecma-262/5.1/#sec-11.8.5
|
||||
|
||||
// eslint-disable-next-line max-statements
|
||||
module.exports = function AbstractRelationalComparison(x, y, LeftFirst) {
|
||||
if (Type(LeftFirst) !== 'Boolean') {
|
||||
throw new $TypeError('Assertion failed: LeftFirst argument must be a Boolean');
|
||||
}
|
||||
var px;
|
||||
var py;
|
||||
if (LeftFirst) {
|
||||
px = ToPrimitive(x, $Number);
|
||||
py = ToPrimitive(y, $Number);
|
||||
} else {
|
||||
py = ToPrimitive(y, $Number);
|
||||
px = ToPrimitive(x, $Number);
|
||||
}
|
||||
var bothStrings = Type(px) === 'String' && Type(py) === 'String';
|
||||
if (!bothStrings) {
|
||||
var nx = ToNumber(px);
|
||||
var ny = ToNumber(py);
|
||||
if ($isNaN(nx) || $isNaN(ny)) {
|
||||
return undefined;
|
||||
}
|
||||
if ($isFinite(nx) && $isFinite(ny) && nx === ny) {
|
||||
return false;
|
||||
}
|
||||
if (nx === 0 && ny === 0) {
|
||||
return false;
|
||||
}
|
||||
if (nx === Infinity) {
|
||||
return false;
|
||||
}
|
||||
if (ny === Infinity) {
|
||||
return true;
|
||||
}
|
||||
if (ny === -Infinity) {
|
||||
return false;
|
||||
}
|
||||
if (nx === -Infinity) {
|
||||
return true;
|
||||
}
|
||||
return nx < ny; // by now, these are both nonzero, finite, and not equal
|
||||
}
|
||||
if (isPrefixOf(py, px)) {
|
||||
return false;
|
||||
}
|
||||
if (isPrefixOf(px, py)) {
|
||||
return true;
|
||||
}
|
||||
return px < py; // both strings, neither a prefix of the other. shortcut for steps c-f
|
||||
};
|
14
node_modules/es-abstract/5/CheckObjectCoercible.js
generated
vendored
Normal file
14
node_modules/es-abstract/5/CheckObjectCoercible.js
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.10
|
||||
|
||||
module.exports = function CheckObjectCoercible(value, optMessage) {
|
||||
if (value == null) {
|
||||
throw new $TypeError(optMessage || ('Cannot call method on ' + value));
|
||||
}
|
||||
return value;
|
||||
};
|
54
node_modules/es-abstract/5/DateFromTime.js
generated
vendored
Normal file
54
node_modules/es-abstract/5/DateFromTime.js
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $EvalError = GetIntrinsic('%EvalError%');
|
||||
|
||||
var DayWithinYear = require('./DayWithinYear');
|
||||
var InLeapYear = require('./InLeapYear');
|
||||
var MonthFromTime = require('./MonthFromTime');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.5
|
||||
|
||||
module.exports = function DateFromTime(t) {
|
||||
var m = MonthFromTime(t);
|
||||
var d = DayWithinYear(t);
|
||||
if (m === 0) {
|
||||
return d + 1;
|
||||
}
|
||||
if (m === 1) {
|
||||
return d - 30;
|
||||
}
|
||||
var leap = InLeapYear(t);
|
||||
if (m === 2) {
|
||||
return d - 58 - leap;
|
||||
}
|
||||
if (m === 3) {
|
||||
return d - 89 - leap;
|
||||
}
|
||||
if (m === 4) {
|
||||
return d - 119 - leap;
|
||||
}
|
||||
if (m === 5) {
|
||||
return d - 150 - leap;
|
||||
}
|
||||
if (m === 6) {
|
||||
return d - 180 - leap;
|
||||
}
|
||||
if (m === 7) {
|
||||
return d - 211 - leap;
|
||||
}
|
||||
if (m === 8) {
|
||||
return d - 242 - leap;
|
||||
}
|
||||
if (m === 9) {
|
||||
return d - 272 - leap;
|
||||
}
|
||||
if (m === 10) {
|
||||
return d - 303 - leap;
|
||||
}
|
||||
if (m === 11) {
|
||||
return d - 333 - leap;
|
||||
}
|
||||
throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m);
|
||||
};
|
13
node_modules/es-abstract/5/Day.js
generated
vendored
Normal file
13
node_modules/es-abstract/5/Day.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $floor = GetIntrinsic('%Math.floor%');
|
||||
|
||||
var msPerDay = require('../helpers/timeConstants').msPerDay;
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2
|
||||
|
||||
module.exports = function Day(t) {
|
||||
return $floor(t / msPerDay);
|
||||
};
|
12
node_modules/es-abstract/5/DayFromYear.js
generated
vendored
Normal file
12
node_modules/es-abstract/5/DayFromYear.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $floor = GetIntrinsic('%Math.floor%');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3
|
||||
|
||||
module.exports = function DayFromYear(y) {
|
||||
return (365 * (y - 1970)) + $floor((y - 1969) / 4) - $floor((y - 1901) / 100) + $floor((y - 1601) / 400);
|
||||
};
|
||||
|
11
node_modules/es-abstract/5/DayWithinYear.js
generated
vendored
Normal file
11
node_modules/es-abstract/5/DayWithinYear.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
var Day = require('./Day');
|
||||
var DayFromYear = require('./DayFromYear');
|
||||
var YearFromTime = require('./YearFromTime');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4
|
||||
|
||||
module.exports = function DayWithinYear(t) {
|
||||
return Day(t) - DayFromYear(YearFromTime(t));
|
||||
};
|
18
node_modules/es-abstract/5/DaysInYear.js
generated
vendored
Normal file
18
node_modules/es-abstract/5/DaysInYear.js
generated
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
'use strict';
|
||||
|
||||
var mod = require('../helpers/mod');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3
|
||||
|
||||
module.exports = function DaysInYear(y) {
|
||||
if (mod(y, 4) !== 0) {
|
||||
return 365;
|
||||
}
|
||||
if (mod(y, 100) !== 0) {
|
||||
return 366;
|
||||
}
|
||||
if (mod(y, 400) !== 0) {
|
||||
return 365;
|
||||
}
|
||||
return 366;
|
||||
};
|
39
node_modules/es-abstract/5/FromPropertyDescriptor.js
generated
vendored
Normal file
39
node_modules/es-abstract/5/FromPropertyDescriptor.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
var Type = require('./Type');
|
||||
var IsDataDescriptor = require('./IsDataDescriptor');
|
||||
var IsAccessorDescriptor = require('./IsAccessorDescriptor');
|
||||
|
||||
var assertRecord = require('../helpers/assertRecord');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-8.10.4
|
||||
|
||||
module.exports = function FromPropertyDescriptor(Desc) {
|
||||
if (typeof Desc === 'undefined') {
|
||||
return Desc;
|
||||
}
|
||||
|
||||
assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
|
||||
|
||||
if (IsDataDescriptor(Desc)) {
|
||||
return {
|
||||
value: Desc['[[Value]]'],
|
||||
writable: !!Desc['[[Writable]]'],
|
||||
enumerable: !!Desc['[[Enumerable]]'],
|
||||
configurable: !!Desc['[[Configurable]]']
|
||||
};
|
||||
} else if (IsAccessorDescriptor(Desc)) {
|
||||
return {
|
||||
get: Desc['[[Get]]'],
|
||||
set: Desc['[[Set]]'],
|
||||
enumerable: !!Desc['[[Enumerable]]'],
|
||||
configurable: !!Desc['[[Configurable]]']
|
||||
};
|
||||
} else {
|
||||
throw new $TypeError('FromPropertyDescriptor must be called with a fully populated Property Descriptor');
|
||||
}
|
||||
};
|
16
node_modules/es-abstract/5/HourFromTime.js
generated
vendored
Normal file
16
node_modules/es-abstract/5/HourFromTime.js
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $floor = GetIntrinsic('%Math.floor%');
|
||||
|
||||
var mod = require('../helpers/mod');
|
||||
var timeConstants = require('../helpers/timeConstants');
|
||||
var msPerHour = timeConstants.msPerHour;
|
||||
var HoursPerDay = timeConstants.HoursPerDay;
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10
|
||||
|
||||
module.exports = function HourFromTime(t) {
|
||||
return mod($floor(t / msPerHour), HoursPerDay);
|
||||
};
|
21
node_modules/es-abstract/5/InLeapYear.js
generated
vendored
Normal file
21
node_modules/es-abstract/5/InLeapYear.js
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $EvalError = GetIntrinsic('%EvalError%');
|
||||
|
||||
var DaysInYear = require('./DaysInYear');
|
||||
var YearFromTime = require('./YearFromTime');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3
|
||||
|
||||
module.exports = function InLeapYear(t) {
|
||||
var days = DaysInYear(YearFromTime(t));
|
||||
if (days === 365) {
|
||||
return 0;
|
||||
}
|
||||
if (days === 366) {
|
||||
return 1;
|
||||
}
|
||||
throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days);
|
||||
};
|
23
node_modules/es-abstract/5/IsAccessorDescriptor.js
generated
vendored
Normal file
23
node_modules/es-abstract/5/IsAccessorDescriptor.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
'use strict';
|
||||
|
||||
var has = require('has');
|
||||
|
||||
var Type = require('./Type');
|
||||
|
||||
var assertRecord = require('../helpers/assertRecord');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-8.10.1
|
||||
|
||||
module.exports = function IsAccessorDescriptor(Desc) {
|
||||
if (typeof Desc === 'undefined') {
|
||||
return false;
|
||||
}
|
||||
|
||||
assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
|
||||
|
||||
if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
5
node_modules/es-abstract/5/IsCallable.js
generated
vendored
Normal file
5
node_modules/es-abstract/5/IsCallable.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11
|
||||
|
||||
module.exports = require('is-callable');
|
23
node_modules/es-abstract/5/IsDataDescriptor.js
generated
vendored
Normal file
23
node_modules/es-abstract/5/IsDataDescriptor.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
'use strict';
|
||||
|
||||
var has = require('has');
|
||||
|
||||
var Type = require('./Type');
|
||||
|
||||
var assertRecord = require('../helpers/assertRecord');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-8.10.2
|
||||
|
||||
module.exports = function IsDataDescriptor(Desc) {
|
||||
if (typeof Desc === 'undefined') {
|
||||
return false;
|
||||
}
|
||||
|
||||
assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
|
||||
|
||||
if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
23
node_modules/es-abstract/5/IsGenericDescriptor.js
generated
vendored
Normal file
23
node_modules/es-abstract/5/IsGenericDescriptor.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
'use strict';
|
||||
|
||||
var IsAccessorDescriptor = require('./IsAccessorDescriptor');
|
||||
var IsDataDescriptor = require('./IsDataDescriptor');
|
||||
var Type = require('./Type');
|
||||
|
||||
var assertRecord = require('../helpers/assertRecord');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-8.10.3
|
||||
|
||||
module.exports = function IsGenericDescriptor(Desc) {
|
||||
if (typeof Desc === 'undefined') {
|
||||
return false;
|
||||
}
|
||||
|
||||
assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
|
||||
|
||||
if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
17
node_modules/es-abstract/5/IsPropertyDescriptor.js
generated
vendored
Normal file
17
node_modules/es-abstract/5/IsPropertyDescriptor.js
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
'use strict';
|
||||
|
||||
var isPropertyDescriptor = require('../helpers/isPropertyDescriptor');
|
||||
|
||||
var Type = require('./Type');
|
||||
var IsDataDescriptor = require('./IsDataDescriptor');
|
||||
var IsAccessorDescriptor = require('./IsAccessorDescriptor');
|
||||
|
||||
// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
|
||||
|
||||
module.exports = function IsPropertyDescriptor(Desc) {
|
||||
return isPropertyDescriptor({
|
||||
IsDataDescriptor: IsDataDescriptor,
|
||||
IsAccessorDescriptor: IsAccessorDescriptor,
|
||||
Type: Type
|
||||
}, Desc);
|
||||
};
|
13
node_modules/es-abstract/5/MakeDate.js
generated
vendored
Normal file
13
node_modules/es-abstract/5/MakeDate.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
'use strict';
|
||||
|
||||
var $isFinite = require('../helpers/isFinite');
|
||||
var msPerDay = require('../helpers/timeConstants').msPerDay;
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.13
|
||||
|
||||
module.exports = function MakeDate(day, time) {
|
||||
if (!$isFinite(day) || !$isFinite(time)) {
|
||||
return NaN;
|
||||
}
|
||||
return (day * msPerDay) + time;
|
||||
};
|
33
node_modules/es-abstract/5/MakeDay.js
generated
vendored
Normal file
33
node_modules/es-abstract/5/MakeDay.js
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $floor = GetIntrinsic('%Math.floor%');
|
||||
var $DateUTC = GetIntrinsic('%Date.UTC%');
|
||||
|
||||
var mod = require('../helpers/mod');
|
||||
var $isFinite = require('../helpers/isFinite');
|
||||
|
||||
var DateFromTime = require('./DateFromTime');
|
||||
var Day = require('./Day');
|
||||
var MonthFromTime = require('./MonthFromTime');
|
||||
var ToInteger = require('./ToInteger');
|
||||
var YearFromTime = require('./YearFromTime');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.12
|
||||
|
||||
module.exports = function MakeDay(year, month, date) {
|
||||
if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) {
|
||||
return NaN;
|
||||
}
|
||||
var y = ToInteger(year);
|
||||
var m = ToInteger(month);
|
||||
var dt = ToInteger(date);
|
||||
var ym = y + $floor(m / 12);
|
||||
var mn = mod(m, 12);
|
||||
var t = $DateUTC(ym, mn, 1);
|
||||
if (YearFromTime(t) !== ym || MonthFromTime(t) !== mn || DateFromTime(t) !== 1) {
|
||||
return NaN;
|
||||
}
|
||||
return Day(t) + dt - 1;
|
||||
};
|
23
node_modules/es-abstract/5/MakeTime.js
generated
vendored
Normal file
23
node_modules/es-abstract/5/MakeTime.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
'use strict';
|
||||
|
||||
var $isFinite = require('../helpers/isFinite');
|
||||
var timeConstants = require('../helpers/timeConstants');
|
||||
var msPerSecond = timeConstants.msPerSecond;
|
||||
var msPerMinute = timeConstants.msPerMinute;
|
||||
var msPerHour = timeConstants.msPerHour;
|
||||
|
||||
var ToInteger = require('./ToInteger');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.11
|
||||
|
||||
module.exports = function MakeTime(hour, min, sec, ms) {
|
||||
if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) {
|
||||
return NaN;
|
||||
}
|
||||
var h = ToInteger(hour);
|
||||
var m = ToInteger(min);
|
||||
var s = ToInteger(sec);
|
||||
var milli = ToInteger(ms);
|
||||
var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli;
|
||||
return t;
|
||||
};
|
16
node_modules/es-abstract/5/MinFromTime.js
generated
vendored
Normal file
16
node_modules/es-abstract/5/MinFromTime.js
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $floor = GetIntrinsic('%Math.floor%');
|
||||
|
||||
var mod = require('../helpers/mod');
|
||||
var timeConstants = require('../helpers/timeConstants');
|
||||
var msPerMinute = timeConstants.msPerMinute;
|
||||
var MinutesPerHour = timeConstants.MinutesPerHour;
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10
|
||||
|
||||
module.exports = function MinFromTime(t) {
|
||||
return mod($floor(t / msPerMinute), MinutesPerHour);
|
||||
};
|
47
node_modules/es-abstract/5/MonthFromTime.js
generated
vendored
Normal file
47
node_modules/es-abstract/5/MonthFromTime.js
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
'use strict';
|
||||
|
||||
var DayWithinYear = require('./DayWithinYear');
|
||||
var InLeapYear = require('./InLeapYear');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.4
|
||||
|
||||
module.exports = function MonthFromTime(t) {
|
||||
var day = DayWithinYear(t);
|
||||
if (0 <= day && day < 31) {
|
||||
return 0;
|
||||
}
|
||||
var leap = InLeapYear(t);
|
||||
if (31 <= day && day < (59 + leap)) {
|
||||
return 1;
|
||||
}
|
||||
if ((59 + leap) <= day && day < (90 + leap)) {
|
||||
return 2;
|
||||
}
|
||||
if ((90 + leap) <= day && day < (120 + leap)) {
|
||||
return 3;
|
||||
}
|
||||
if ((120 + leap) <= day && day < (151 + leap)) {
|
||||
return 4;
|
||||
}
|
||||
if ((151 + leap) <= day && day < (181 + leap)) {
|
||||
return 5;
|
||||
}
|
||||
if ((181 + leap) <= day && day < (212 + leap)) {
|
||||
return 6;
|
||||
}
|
||||
if ((212 + leap) <= day && day < (243 + leap)) {
|
||||
return 7;
|
||||
}
|
||||
if ((243 + leap) <= day && day < (273 + leap)) {
|
||||
return 8;
|
||||
}
|
||||
if ((273 + leap) <= day && day < (304 + leap)) {
|
||||
return 9;
|
||||
}
|
||||
if ((304 + leap) <= day && day < (334 + leap)) {
|
||||
return 10;
|
||||
}
|
||||
if ((334 + leap) <= day && day < (365 + leap)) {
|
||||
return 11;
|
||||
}
|
||||
};
|
13
node_modules/es-abstract/5/SameValue.js
generated
vendored
Normal file
13
node_modules/es-abstract/5/SameValue.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
'use strict';
|
||||
|
||||
var $isNaN = require('../helpers/isNaN');
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.12
|
||||
|
||||
module.exports = function SameValue(x, y) {
|
||||
if (x === y) { // 0 === -0, but they are not identical.
|
||||
if (x === 0) { return 1 / x === 1 / y; }
|
||||
return true;
|
||||
}
|
||||
return $isNaN(x) && $isNaN(y);
|
||||
};
|
16
node_modules/es-abstract/5/SecFromTime.js
generated
vendored
Normal file
16
node_modules/es-abstract/5/SecFromTime.js
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $floor = GetIntrinsic('%Math.floor%');
|
||||
|
||||
var mod = require('../helpers/mod');
|
||||
var timeConstants = require('../helpers/timeConstants');
|
||||
var msPerSecond = timeConstants.msPerSecond;
|
||||
var SecondsPerMinute = timeConstants.SecondsPerMinute;
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10
|
||||
|
||||
module.exports = function SecFromTime(t) {
|
||||
return mod($floor(t / msPerSecond), SecondsPerMinute);
|
||||
};
|
17
node_modules/es-abstract/5/StrictEqualityComparison.js
generated
vendored
Normal file
17
node_modules/es-abstract/5/StrictEqualityComparison.js
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
'use strict';
|
||||
|
||||
var Type = require('./Type');
|
||||
|
||||
// https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6
|
||||
|
||||
module.exports = function StrictEqualityComparison(x, y) {
|
||||
var xType = Type(x);
|
||||
var yType = Type(y);
|
||||
if (xType !== yType) {
|
||||
return false;
|
||||
}
|
||||
if (xType === 'Undefined' || xType === 'Null') {
|
||||
return true;
|
||||
}
|
||||
return x === y; // shortcut for steps 4-7
|
||||
};
|
21
node_modules/es-abstract/5/TimeClip.js
generated
vendored
Normal file
21
node_modules/es-abstract/5/TimeClip.js
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $Date = GetIntrinsic('%Date%');
|
||||
var $Number = GetIntrinsic('%Number%');
|
||||
var $abs = GetIntrinsic('%Math.abs%');
|
||||
|
||||
var $isFinite = require('../helpers/isFinite');
|
||||
|
||||
var ToNumber = require('./ToNumber');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.14
|
||||
|
||||
module.exports = function TimeClip(time) {
|
||||
if (!$isFinite(time) || $abs(time) > 8.64e15) {
|
||||
return NaN;
|
||||
}
|
||||
return $Number(new $Date(ToNumber(time)));
|
||||
};
|
||||
|
11
node_modules/es-abstract/5/TimeFromYear.js
generated
vendored
Normal file
11
node_modules/es-abstract/5/TimeFromYear.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
var msPerDay = require('../helpers/timeConstants').msPerDay;
|
||||
|
||||
var DayFromYear = require('./DayFromYear');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3
|
||||
|
||||
module.exports = function TimeFromYear(y) {
|
||||
return msPerDay * DayFromYear(y);
|
||||
};
|
11
node_modules/es-abstract/5/TimeWithinDay.js
generated
vendored
Normal file
11
node_modules/es-abstract/5/TimeWithinDay.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
var mod = require('../helpers/mod');
|
||||
var msPerDay = require('../helpers/timeConstants').msPerDay;
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.2
|
||||
|
||||
module.exports = function TimeWithinDay(t) {
|
||||
return mod(t, msPerDay);
|
||||
};
|
||||
|
5
node_modules/es-abstract/5/ToBoolean.js
generated
vendored
Normal file
5
node_modules/es-abstract/5/ToBoolean.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2
|
||||
|
||||
module.exports = function ToBoolean(value) { return !!value; };
|
9
node_modules/es-abstract/5/ToInt32.js
generated
vendored
Normal file
9
node_modules/es-abstract/5/ToInt32.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
var ToNumber = require('./ToNumber');
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.5
|
||||
|
||||
module.exports = function ToInt32(x) {
|
||||
return ToNumber(x) >> 0;
|
||||
};
|
22
node_modules/es-abstract/5/ToInteger.js
generated
vendored
Normal file
22
node_modules/es-abstract/5/ToInteger.js
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $Math = GetIntrinsic('%Math%');
|
||||
|
||||
var ToNumber = require('./ToNumber');
|
||||
var $isNaN = require('../helpers/isNaN');
|
||||
var $isFinite = require('../helpers/isFinite');
|
||||
var $sign = require('../helpers/sign');
|
||||
|
||||
var $floor = $Math.floor;
|
||||
var $abs = $Math.abs;
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.4
|
||||
|
||||
module.exports = function ToInteger(value) {
|
||||
var number = ToNumber(value);
|
||||
if ($isNaN(number)) { return 0; }
|
||||
if (number === 0 || !$isFinite(number)) { return number; }
|
||||
return $sign(number) * $floor($abs(number));
|
||||
};
|
7
node_modules/es-abstract/5/ToNumber.js
generated
vendored
Normal file
7
node_modules/es-abstract/5/ToNumber.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.3
|
||||
|
||||
module.exports = function ToNumber(value) {
|
||||
return +value; // eslint-disable-line no-implicit-coercion
|
||||
};
|
14
node_modules/es-abstract/5/ToObject.js
generated
vendored
Normal file
14
node_modules/es-abstract/5/ToObject.js
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $Object = GetIntrinsic('%Object%');
|
||||
|
||||
var CheckObjectCoercible = require('./CheckObjectCoercible');
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.9
|
||||
|
||||
module.exports = function ToObject(value) {
|
||||
CheckObjectCoercible(value);
|
||||
return $Object(value);
|
||||
};
|
5
node_modules/es-abstract/5/ToPrimitive.js
generated
vendored
Normal file
5
node_modules/es-abstract/5/ToPrimitive.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.1
|
||||
|
||||
module.exports = require('es-to-primitive/es5');
|
52
node_modules/es-abstract/5/ToPropertyDescriptor.js
generated
vendored
Normal file
52
node_modules/es-abstract/5/ToPropertyDescriptor.js
generated
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
'use strict';
|
||||
|
||||
var has = require('has');
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
var Type = require('./Type');
|
||||
var ToBoolean = require('./ToBoolean');
|
||||
var IsCallable = require('./IsCallable');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5
|
||||
|
||||
module.exports = function ToPropertyDescriptor(Obj) {
|
||||
if (Type(Obj) !== 'Object') {
|
||||
throw new $TypeError('ToPropertyDescriptor requires an object');
|
||||
}
|
||||
|
||||
var desc = {};
|
||||
if (has(Obj, 'enumerable')) {
|
||||
desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable);
|
||||
}
|
||||
if (has(Obj, 'configurable')) {
|
||||
desc['[[Configurable]]'] = ToBoolean(Obj.configurable);
|
||||
}
|
||||
if (has(Obj, 'value')) {
|
||||
desc['[[Value]]'] = Obj.value;
|
||||
}
|
||||
if (has(Obj, 'writable')) {
|
||||
desc['[[Writable]]'] = ToBoolean(Obj.writable);
|
||||
}
|
||||
if (has(Obj, 'get')) {
|
||||
var getter = Obj.get;
|
||||
if (typeof getter !== 'undefined' && !IsCallable(getter)) {
|
||||
throw new TypeError('getter must be a function');
|
||||
}
|
||||
desc['[[Get]]'] = getter;
|
||||
}
|
||||
if (has(Obj, 'set')) {
|
||||
var setter = Obj.set;
|
||||
if (typeof setter !== 'undefined' && !IsCallable(setter)) {
|
||||
throw new $TypeError('setter must be a function');
|
||||
}
|
||||
desc['[[Set]]'] = setter;
|
||||
}
|
||||
|
||||
if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) {
|
||||
throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');
|
||||
}
|
||||
return desc;
|
||||
};
|
12
node_modules/es-abstract/5/ToString.js
generated
vendored
Normal file
12
node_modules/es-abstract/5/ToString.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $String = GetIntrinsic('%String%');
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.8
|
||||
|
||||
module.exports = function ToString(value) {
|
||||
return $String(value);
|
||||
};
|
||||
|
24
node_modules/es-abstract/5/ToUint16.js
generated
vendored
Normal file
24
node_modules/es-abstract/5/ToUint16.js
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $Math = GetIntrinsic('%Math%');
|
||||
|
||||
var ToNumber = require('./ToNumber');
|
||||
|
||||
var $isNaN = require('../helpers/isNaN');
|
||||
var $isFinite = require('../helpers/isFinite');
|
||||
var $sign = require('../helpers/sign');
|
||||
var $mod = require('../helpers/mod');
|
||||
|
||||
var $floor = $Math.floor;
|
||||
var $abs = $Math.abs;
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.7
|
||||
|
||||
module.exports = function ToUint16(value) {
|
||||
var number = ToNumber(value);
|
||||
if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }
|
||||
var posInt = $sign(number) * $floor($abs(number));
|
||||
return $mod(posInt, 0x10000);
|
||||
};
|
9
node_modules/es-abstract/5/ToUint32.js
generated
vendored
Normal file
9
node_modules/es-abstract/5/ToUint32.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
var ToNumber = require('./ToNumber');
|
||||
|
||||
// http://www.ecma-international.org/ecma-262/5.1/#sec-9.6
|
||||
|
||||
module.exports = function ToUint32(x) {
|
||||
return ToNumber(x) >>> 0;
|
||||
};
|
24
node_modules/es-abstract/5/Type.js
generated
vendored
Normal file
24
node_modules/es-abstract/5/Type.js
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
'use strict';
|
||||
|
||||
// https://www.ecma-international.org/ecma-262/5.1/#sec-8
|
||||
|
||||
module.exports = function Type(x) {
|
||||
if (x === null) {
|
||||
return 'Null';
|
||||
}
|
||||
if (typeof x === 'undefined') {
|
||||
return 'Undefined';
|
||||
}
|
||||
if (typeof x === 'function' || typeof x === 'object') {
|
||||
return 'Object';
|
||||
}
|
||||
if (typeof x === 'number') {
|
||||
return 'Number';
|
||||
}
|
||||
if (typeof x === 'boolean') {
|
||||
return 'Boolean';
|
||||
}
|
||||
if (typeof x === 'string') {
|
||||
return 'String';
|
||||
}
|
||||
};
|
11
node_modules/es-abstract/5/WeekDay.js
generated
vendored
Normal file
11
node_modules/es-abstract/5/WeekDay.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
var mod = require('../helpers/mod');
|
||||
|
||||
var Day = require('./Day');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.6
|
||||
|
||||
module.exports = function WeekDay(t) {
|
||||
return mod(Day(t) + 4, 7);
|
||||
};
|
16
node_modules/es-abstract/5/YearFromTime.js
generated
vendored
Normal file
16
node_modules/es-abstract/5/YearFromTime.js
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('../GetIntrinsic');
|
||||
|
||||
var $Date = GetIntrinsic('%Date%');
|
||||
|
||||
var callBound = require('../helpers/callBound');
|
||||
|
||||
var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.3
|
||||
|
||||
module.exports = function YearFromTime(t) {
|
||||
// largest y such that this.TimeFromYear(y) <= t
|
||||
return $getUTCFullYear(new $Date(t));
|
||||
};
|
9
node_modules/es-abstract/5/modulo.js
generated
vendored
Normal file
9
node_modules/es-abstract/5/modulo.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
var mod = require('../helpers/mod');
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-5.2
|
||||
|
||||
module.exports = function modulo(x, y) {
|
||||
return mod(x, y);
|
||||
};
|
10
node_modules/es-abstract/5/msFromTime.js
generated
vendored
Normal file
10
node_modules/es-abstract/5/msFromTime.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
'use strict';
|
||||
|
||||
var mod = require('../helpers/mod');
|
||||
var msPerSecond = require('../helpers/timeConstants').msPerSecond;
|
||||
|
||||
// https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.10
|
||||
|
||||
module.exports = function msFromTime(t) {
|
||||
return mod(t, msPerSecond);
|
||||
};
|
Reference in New Issue
Block a user