Frontend/25_01_07/mai/node_modules/has-proto/mutator.js

34 lines
533 B
JavaScript
Raw Normal View History

2025-01-28 10:38:27 +00:00
'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;
};