diff options
Diffstat (limited to '')
| -rw-r--r-- | lang/js/src/Keyring.js | 3 | ||||
| -rw-r--r-- | lang/js/src/Message.js | 42 | ||||
| -rw-r--r-- | lang/js/src/gpgmejs.js | 9 | 
3 files changed, 24 insertions, 30 deletions
| diff --git a/lang/js/src/Keyring.js b/lang/js/src/Keyring.js index 52fa7f71..d8cb84b2 100644 --- a/lang/js/src/Keyring.js +++ b/lang/js/src/Keyring.js @@ -49,8 +49,7 @@ export class GPGME_Keyring {       *       */      getKeys(pattern, include_secret){ -        let msg = new GPGME_Message; -        msg.operation = 'listkeys'; +        let msg = new GPGME_Message('listkeys');          if (pattern && typeof(pattern) === 'string'){              msg.setParameter('pattern', pattern);          } diff --git a/lang/js/src/Message.js b/lang/js/src/Message.js index 6a93b6f4..f5e21e00 100644 --- a/lang/js/src/Message.js +++ b/lang/js/src/Message.js @@ -23,28 +23,7 @@ export class GPGME_Message {      //TODO getter      constructor(operation){ -        if (operation){ -            this.operation(operation); -        } -    } - -    /** -     * Defines the operation this message will have -     * @param {String} operation Must be defined in permittedOperations -     *  TODO: move to constructor? -     */ -    set operation (operation){ -        if (!operation || typeof(operation) !== 'string'){ -            return new GPGMEJS_Error('WRONGPARAM'); -        } -        if (operation in permittedOperations){ -            if (!this._msg){ -                this._msg = {}; -            } -            this._msg.op = operation; -        } else { -            return new GPGMEJS_Error('WRONG_OP'); -        } +        setOperation(this, operation);      }      get operation(){ @@ -110,4 +89,23 @@ export class GPGME_Message {          }      } +} + +/** + * Defines the operation this message will have + * @param {String} operation Must be defined in permittedOperations + *  TODO: move to constructor? + */ +function setOperation (scope, operation){ +    if (!operation || typeof(operation) !== 'string'){ +        return new GPGMEJS_Error('WRONGTYPE'); +    } +    if (permittedOperations.hasOwnProperty(operation)){ +        if (!scope._msg){ +            scope._msg = {}; +        } +        scope._msg.op = operation; +    } else { +        return new GPGMEJS_Error('WRONG_OP'); +    }  }
\ No newline at end of file diff --git a/lang/js/src/gpgmejs.js b/lang/js/src/gpgmejs.js index c23a356b..b15477f0 100644 --- a/lang/js/src/gpgmejs.js +++ b/lang/js/src/gpgmejs.js @@ -76,8 +76,7 @@ export class GpgME {       */      encrypt (data, publicKeys, wildcard=false){ -        let msg = new GPGME_Message; -        msg.operation = 'encrypt'; +        let msg = new GPGME_Message('encrypt');          // TODO temporary          msg.setParameter('armor', true); @@ -108,8 +107,7 @@ export class GpgME {          if (data === undefined){              return Promise.reject(new GPGMEJS_Error ('EMPTY_MSG'));          } -        let msg = new GPGME_Message; -        msg.operation = 'decrypt'; +        let msg = new GPGME_Message('decrypt');          putData(msg, data);          return this._connection.post(msg); @@ -117,8 +115,7 @@ export class GpgME {      deleteKey(key, delete_secret = false, no_confirm = false){          return Promise.reject(new GPGMEJS_Error ('NOT_YET_IMPLEMENTED')); -        let msg = new GPGME_Message; -        msg.operation = 'deletekey'; +        let msg = new GPGME_Message('deletekey');          let key_arr = toKeyIdArray(key);          if (key_arr.length !== 1){              throw('TODO'); | 
