has-proto
Version:
Does this environment have the ability to get the [[Prototype]] of an object on creation with `__proto__`?
34 lines (26 loc) • 533 B
JavaScript
var result = require('./')();
var test = {
__proto__: null,
foo: {}
};
var setter = require('dunder-proto/set');
/** @type {import('./mutator')} */
module.exports = function hasMutator() {
if (!result) {
return false;
}
var obj = { __proto__: test };
// @ts-expect-error: TS errors on an inherited property for some reason
if (obj.foo !== test.foo) {
return false;
}
if (!setter) {
return false;
}
setter(obj, null);
if ('foo' in obj || 'toString' in obj) {
return false;
}
return true;
};
;