Define a non-enumerable property on an object. Uses Reflect.defineProperty when available, otherwise Object.defineProperty.
Robustly get an object's own property keys (strings and symbols), including non-enumerables when possible
Define a non-enumerable read-only 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,
Executes a callback for each property found on a object, recursively on nested properties, with options regarding enumerability (enumerable or non-enumerable) and ownership (inherited or only own properties). It excludes built-in properties from Object an