diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2018-03-19 13:33:46 +0100 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-03-25 01:45:37 +0100 |
commit | c6b6c92185316e13738e6fa931fdd5303e381e46 (patch) | |
tree | c38af9cd1a0a8cd6eeb459af3adee4dfd390fdc6 /lib/internal/crypto/hash.js | |
parent | eeb57022e6bada13955a19b15232a9ee4fe9b465 (diff) | |
download | android-node-v8-c6b6c92185316e13738e6fa931fdd5303e381e46.tar.gz android-node-v8-c6b6c92185316e13738e6fa931fdd5303e381e46.tar.bz2 android-node-v8-c6b6c92185316e13738e6fa931fdd5303e381e46.zip |
lib: always show ERR_INVALID_ARG_TYPE received part
This makes a effort to make sure all of these errors will actually
also show the received input.
On top of that it refactors a few tests for better maintainability.
It will also change the returned type to always be a simple typeof
instead of special handling null.
PR-URL: https://github.com/nodejs/node/pull/19445
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'lib/internal/crypto/hash.js')
-rw-r--r-- | lib/internal/crypto/hash.js | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/internal/crypto/hash.js b/lib/internal/crypto/hash.js index 41e00b88b9..d172a6a3c8 100644 --- a/lib/internal/crypto/hash.js +++ b/lib/internal/crypto/hash.js @@ -29,7 +29,7 @@ function Hash(algorithm, options) { if (!(this instanceof Hash)) return new Hash(algorithm, options); if (typeof algorithm !== 'string') - throw new ERR_INVALID_ARG_TYPE('algorithm', 'string'); + throw new ERR_INVALID_ARG_TYPE('algorithm', 'string', algorithm); this._handle = new _Hash(algorithm); this[kState] = { [kFinalized]: false @@ -56,7 +56,7 @@ Hash.prototype.update = function update(data, encoding) { if (typeof data !== 'string' && !isArrayBufferView(data)) { throw new ERR_INVALID_ARG_TYPE('data', - ['string', 'TypedArray', 'DataView']); + ['string', 'TypedArray', 'DataView'], data); } if (!this._handle.update(data, encoding || getDefaultEncoding())) @@ -84,9 +84,10 @@ function Hmac(hmac, key, options) { if (!(this instanceof Hmac)) return new Hmac(hmac, key, options); if (typeof hmac !== 'string') - throw new ERR_INVALID_ARG_TYPE('hmac', 'string'); + throw new ERR_INVALID_ARG_TYPE('hmac', 'string', hmac); if (typeof key !== 'string' && !isArrayBufferView(key)) { - throw new ERR_INVALID_ARG_TYPE('key', ['string', 'TypedArray', 'DataView']); + throw new ERR_INVALID_ARG_TYPE('key', + ['string', 'TypedArray', 'DataView'], key); } this._handle = new _Hmac(); this._handle.init(hmac, toBuf(key)); |