diff options
author | Maximilian Krambach <[email protected]> | 2018-08-27 10:32:28 +0000 |
---|---|---|
committer | Maximilian Krambach <[email protected]> | 2018-08-27 10:38:32 +0000 |
commit | 766d42c248a8c526b831685e93d54db81492f5a8 (patch) | |
tree | 3d4b0794e4b59f1a347548b0277662d3005b7365 /lang/js/src/gpgmejs.js | |
parent | json: Do not put FILE_NAME into the verify result. (diff) | |
download | gpgme-766d42c248a8c526b831685e93d54db81492f5a8.tar.gz gpgme-766d42c248a8c526b831685e93d54db81492f5a8.zip |
js: typecheck destructured parameters
--
* destructuring just takes the input argument and treats it as object.
In cases like in src/Keyring/generateKey, where I forgot to change
the old syntax, the fingerprint as string was destructured into an
object without "pattern", which caused all Keys to be retrieved.
So, methods with a destructuring now check if the first argument is
an object and get a default empty object if no parameter is
submitted. This allows the further use of destructured parameters,
while still ensuring nothing vastly incorrect is used.
* src/Kering.js, unittsets.js: fixed old syntax in method usage
Diffstat (limited to 'lang/js/src/gpgmejs.js')
-rw-r--r-- | lang/js/src/gpgmejs.js | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lang/js/src/gpgmejs.js b/lang/js/src/gpgmejs.js index b86b5f18..592b0a13 100644 --- a/lang/js/src/gpgmejs.js +++ b/lang/js/src/gpgmejs.js @@ -142,7 +142,10 @@ export class GpgME { * @async */ encrypt ({ data, publicKeys, secretKeys, base64 = false, armor = true, - wildcard, always_trust = true, additional = {} }){ + wildcard, always_trust = true, additional = {} } = {}){ + if (typeof arguments[0] !== 'object') { + return Promise.reject(gpgme_error('PARAM_WRONG')); + } if (!data || !publicKeys){ return Promise.reject(gpgme_error('MSG_INCOMPLETE')); } @@ -203,7 +206,10 @@ export class GpgME { * @returns {Promise<decrypt_result>} Decrypted Message and information * @async */ - decrypt ({ data, base64, expect }){ + decrypt ({ data, base64, expect } = {}){ + if (typeof arguments[0] !== 'object') { + return Promise.reject(gpgme_error('PARAM_WRONG')); + } if (!data){ return Promise.reject(gpgme_error('MSG_EMPTY')); } @@ -263,7 +269,10 @@ export class GpgME { * @returns {Promise<signResult>} * @async */ - sign ({ data, keys, mode = 'clearsign', base64 }){ + sign ({ data, keys, mode = 'clearsign', base64 } = {}){ + if (typeof arguments[0] !== 'object') { + return Promise.reject(gpgme_error('PARAM_WRONG')); + } if (!data){ return Promise.reject(gpgme_error('MSG_EMPTY')); } @@ -310,7 +319,10 @@ export class GpgME { * @returns {Promise<verifyResult>} *@async */ - verify ({ data, signature, base64 }){ + verify ({ data, signature, base64 } = {}){ + if (typeof arguments[0] !== 'object') { + return Promise.reject(gpgme_error('PARAM_WRONG')); + } if (!data){ return Promise.reject(gpgme_error('PARAM_WRONG')); } |