Property Utilities

This is a collection of utility functions used for handling properties in a platform-safe way.

The next major version of ethers will no longer be compatible with ES3, so many of these will be removed in favor of the built-in options available in ES2015 and above.

ethers.utils.checkProperties( object , check ) void

Checks that object only contains properties included in check, and throws INVALID_ARGUMENT if not.

ethers.utils.deepCopy( anObject ) any

Creates a recursive copy of anObject. Frozen (i.e. and other known immutable) objects are copied by reference.

ethers.utils.defineReadOnly( anObject , name , value ) void

Uses the Object.defineProperty method to set a read-only property on an object.

ethers.utils.getStatic( aConstructor , key ) any

Recursively check for a static method key on an inheritance chain from aConstructor to all ancestors.

This is used to mimic behaviour in other languages where this in a static method will also search ancestors.

ethers.utils.resolveProperties( anObject ) Promise< any >

Retruns a Promise which resolves all child values on anObject.

ethers.utils.shallowCopy( anObject ) any

Returns a shallow copy of anObject. This is the same as using Object.assign({ }, anObject).