Files
react-native-devtools-frontend/node_modules/es-array-method-boxes-properly/index.js
T
Peter Marshall 0b95ea162f Update Mocha to 8.0.1
Breaking changes here https://github.com/mochajs/mocha/releases/tag/v8.0.0
seem fine.

DISABLE_THIRD_PARTY_CHECK=Update Mocha

Bug: chromium:1101784
Change-Id: Idc75c94f9a923e2b0ca13d1d1331540cb1c5d3a3
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2279830
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
2020-07-03 09:50:38 +00:00

31 lines
743 B
JavaScript

module.exports = function properlyBoxed(method) {
// Check node 0.6.21 bug where third parameter is not boxed
var properlyBoxesNonStrict = true;
var properlyBoxesStrict = true;
var threwException = false;
if (typeof method === 'function') {
try {
// eslint-disable-next-line max-params
method.call('f', function (_, __, O) {
if (typeof O !== 'object') {
properlyBoxesNonStrict = false;
}
});
method.call(
[null],
function () {
'use strict';
properlyBoxesStrict = typeof this === 'string'; // eslint-disable-line no-invalid-this
},
'x'
);
} catch (e) {
threwException = true;
}
return !threwException && properlyBoxesNonStrict && properlyBoxesStrict;
}
return false;
};