LendAndRegret/node_modules/es-toolkit/dist/compat/util/toPlainObject.mjs
2026-05-02 17:27:43 +08:00

25 lines
640 B
JavaScript

import { keysIn } from '../object/keysIn.mjs';
function toPlainObject(value) {
const plainObject = {};
const valueKeys = keysIn(value);
for (let i = 0; i < valueKeys.length; i++) {
const key = valueKeys[i];
const objValue = value[key];
if (key === '__proto__') {
Object.defineProperty(plainObject, key, {
configurable: true,
enumerable: true,
value: objValue,
writable: true,
});
}
else {
plainObject[key] = objValue;
}
}
return plainObject;
}
export { toPlainObject };