aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lang/js/src/Keyring.js25
-rw-r--r--lang/js/src/gpgmejs.js20
-rw-r--r--lang/js/unittests.js15
3 files changed, 40 insertions, 20 deletions
diff --git a/lang/js/src/Keyring.js b/lang/js/src/Keyring.js
index 2b57e63f..0c64f337 100644
--- a/lang/js/src/Keyring.js
+++ b/lang/js/src/Keyring.js
@@ -49,7 +49,13 @@ export class GPGME_Keyring {
* @static
* @async
*/
- getKeys ({ pattern, prepare_sync = false, search = false }){
+ getKeys ({ pattern, prepare_sync = false, search = false } = {}){
+ if (typeof arguments[0] !== 'object') {
+ return Promise.reject(gpgme_error('PARAM_WRONG'));
+ }
+ if (arguments.length && typeof arguments[0] !== 'object') {
+ return Promise.reject(gpgme_error('PARAM_WRONG'));
+ }
return new Promise(function (resolve, reject) {
let msg = createMessage('keylist');
if (pattern) {
@@ -387,7 +393,7 @@ export class GPGME_Keyring {
* @return {Promise<Key|GPGME_Error>}
* @async
*/
- generateKey ({ userId, algo = 'default', expires= 0, subkey_algo }){
+ generateKey ({ userId, algo = 'default', expires= 0, subkey_algo } = {}){
if (typeof userId !== 'string'
// eslint-disable-next-line no-use-before-define
|| (algo && supportedKeyAlgos.indexOf(algo) < 0 )
@@ -409,13 +415,14 @@ export class GPGME_Keyring {
}
msg.setParameter('expires', expires);
msg.post().then(function (response){
- me.getKeys(response.fingerprint, true).then(
- // TODO prepare_sync?
- function (result){
- resolve(result);
- }, function (error){
- reject(error);
- });
+ me.getKeys({
+ pattern: response.fingerprint,
+ prepare_sync: true
+ }).then(function (result){
+ resolve(result);
+ }, function (error){
+ reject(error);
+ });
}, function (error) {
reject(error);
});
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'));
}
diff --git a/lang/js/unittests.js b/lang/js/unittests.js
index 8f1ffb66..de06320e 100644
--- a/lang/js/unittests.js
+++ b/lang/js/unittests.js
@@ -287,13 +287,14 @@ function unittests (){
it('Querying non-existing Key from Keyring', function (done){
let keyring = new GPGME_Keyring;
- keyring.getKeys(kp.invalidKeyFingerprint, true).then(
- function (result){
- expect(result).to.be.an('array');
- expect(result.length).to.equal(0);
- done();
- }
- );
+ keyring.getKeys({
+ pattern: kp.invalidKeyFingerprint,
+ prepare_sync: true
+ }).then(function (result){
+ expect(result).to.be.an('array');
+ expect(result.length).to.equal(0);
+ done();
+ });
});
});