'use strict'; | |
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; | |
}; |