es-toolkit
Version:
A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.
11 lines (8 loc) • 355 B
JavaScript
import { isEqualsSameValueZero } from '../../_internal/isEqualsSameValueZero.mjs';
const assignValue = (object, key, value) => {
const objValue = object[key];
if (!(Object.hasOwn(object, key) && isEqualsSameValueZero(objValue, value)) || (value === undefined && !(key in object))) {
object[key] = value;
}
};
export { assignValue };