define-property

Define a non-enumerable property on an object. Uses Reflect.defineProperty when available, otherwise Object.defineProperty.

own-keys

Robustly get an object's own property keys (strings and symbols), including non-enumerables when possible

for-each-property

Executes a callback for each property found on a object, with options regarding enumerability (enumerable or non-enumerable) and ownership (inherited or only own properties). It excludes built-in properties from Object and Function prototypes by default,