aboutsummaryrefslogtreecommitdiffstats
path: root/lang/js/src
diff options
context:
space:
mode:
authorMaximilian Krambach <[email protected]>2018-08-20 13:12:01 +0000
committerMaximilian Krambach <[email protected]>2018-08-20 13:12:01 +0000
commitdd32daad0bb21e3d5567326d0b2e548ff8510431 (patch)
treebbefa811b727f1246fee17a26c9f1c4440609003 /lang/js/src
parentjs: revert changes to class read/write restriction (diff)
downloadgpgme-dd32daad0bb21e3d5567326d0b2e548ff8510431.tar.gz
gpgme-dd32daad0bb21e3d5567326d0b2e548ff8510431.zip
js: add and apply eslint rules
-- * mainly spacing, see .eslintrc.json for details
Diffstat (limited to '')
-rw-r--r--lang/js/src/Connection.js40
-rw-r--r--lang/js/src/Errors.js8
-rw-r--r--lang/js/src/Helpers.js16
-rw-r--r--lang/js/src/Key.js243
-rw-r--r--lang/js/src/Keyring.js83
-rw-r--r--lang/js/src/Message.js32
-rw-r--r--lang/js/src/Signature.js23
-rw-r--r--lang/js/src/gpgmejs.js40
-rw-r--r--lang/js/src/index.js10
-rw-r--r--lang/js/src/permittedOperations.js12
10 files changed, 257 insertions, 250 deletions
diff --git a/lang/js/src/Connection.js b/lang/js/src/Connection.js
index a60fd215..928ac681 100644
--- a/lang/js/src/Connection.js
+++ b/lang/js/src/Connection.js
@@ -38,14 +38,14 @@ import { decode } from './Helpers';
*/
export class Connection{
- constructor(){
+ constructor (){
this._connection = chrome.runtime.connectNative('gpgmejson');
}
/**
* Immediately closes an open port.
*/
- disconnect() {
+ disconnect () {
if (this._connection){
this._connection.disconnect();
this._connection = null;
@@ -81,17 +81,17 @@ export class Connection{
return this.post(msg);
} else {
let me = this;
- return new Promise(function(resolve) {
+ return new Promise(function (resolve) {
Promise.race([
me.post(msg),
- new Promise(function(resolve, reject){
- setTimeout(function(){
+ new Promise(function (resolve, reject){
+ setTimeout(function (){
reject(gpgme_error('CONN_TIMEOUT'));
}, 500);
})
- ]).then(function(){ // success
+ ]).then(function (){ // success
resolve(true);
- }, function(){ // failure
+ }, function (){ // failure
resolve(false);
});
});
@@ -107,7 +107,7 @@ export class Connection{
* @returns {Promise<Object>} The collected answer
* @async
*/
- post(message){
+ post (message){
if (!message || !(message instanceof GPGME_Message)){
this.disconnect();
return Promise.reject(gpgme_error(
@@ -119,9 +119,9 @@ export class Connection{
}
let chunksize = message.chunksize;
const me = this;
- return new Promise(function(resolve, reject){
+ return new Promise(function (resolve, reject){
let answer = new Answer(message);
- let listener = function(msg) {
+ let listener = function (msg) {
if (!msg){
me._connection.onMessage.removeListener(listener);
me._connection.disconnect();
@@ -157,16 +157,16 @@ export class Connection{
} else {
return Promise.race([
me._connection.postMessage(message.message),
- function(resolve, reject){
- setTimeout(function(){
+ function (resolve, reject){
+ setTimeout(function (){
me._connection.disconnect();
reject(gpgme_error('CONN_TIMEOUT'));
}, 5000);
}
- ]).then(function(result){
+ ]).then(function (result){
return result;
- }, function(reject){
- if(!(reject instanceof Error)) {
+ }, function (reject){
+ if (!(reject instanceof Error)) {
me._connection.disconnect();
return gpgme_error('GNUPG_ERROR', reject);
} else {
@@ -189,7 +189,7 @@ class Answer{
/**
* @param {GPGME_Message} message
*/
- constructor(message){
+ constructor (message){
this._operation = message.operation;
this._expected = message.expected;
this._response_b64 = null;
@@ -211,7 +211,7 @@ class Answer{
* @private
*/
collect (msg){
- if (typeof(msg) !== 'object' || !msg.hasOwnProperty('response')) {
+ if (typeof (msg) !== 'object' || !msg.hasOwnProperty('response')) {
return gpgme_error('CONN_UNEXPECTED_ANSWER');
}
if (!this._response_b64){
@@ -226,7 +226,7 @@ class Answer{
* Returns the base64 encoded answer data with the content verified
* against {@link permittedOperations}.
*/
- getMessage(){
+ getMessage (){
if (this._response_b64 === null){
return gpgme_error('CONN_UNEXPECTED_ANSWER');
}
@@ -259,7 +259,7 @@ class Answer{
if (!poa.data.hasOwnProperty(key)){
return gpgme_error('CONN_UNEXPECTED_ANSWER');
}
- if( typeof(_decodedResponse[key]) !== poa.data[key] ){
+ if ( typeof (_decodedResponse[key]) !== poa.data[key] ){
return gpgme_error('CONN_UNEXPECTED_ANSWER');
}
if (_decodedResponse.base64 === true
@@ -268,7 +268,7 @@ class Answer{
){
_response[key] = decodeURIComponent(
atob(_decodedResponse[key]).split('').map(
- function(c) {
+ function (c) {
return '%' +
('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
diff --git a/lang/js/src/Errors.js b/lang/js/src/Errors.js
index 2a35bc5e..53e7bcd7 100644
--- a/lang/js/src/Errors.js
+++ b/lang/js/src/Errors.js
@@ -120,7 +120,7 @@ const err_list = {
* @param {*} info Error message passed through if code is 'GNUPG_ERROR'
* @returns {GPGME_Error}
*/
-export function gpgme_error(code = 'GENERIC_ERROR', info){
+export function gpgme_error (code = 'GENERIC_ERROR', info){
if (err_list.hasOwnProperty(code)){
if (err_list[code].type === 'error'){
return new GPGME_Error(code);
@@ -147,9 +147,9 @@ export function gpgme_error(code = 'GENERIC_ERROR', info){
* @extends Error
*/
class GPGME_Error extends Error{
- constructor(code = 'GENERIC_ERROR', msg=''){
+ constructor (code = 'GENERIC_ERROR', msg=''){
- if (code === 'GNUPG_ERROR' && typeof(msg) === 'string'){
+ if (code === 'GNUPG_ERROR' && typeof (msg) === 'string'){
super(msg);
} else if (err_list.hasOwnProperty(code)){
if (msg){
@@ -163,7 +163,7 @@ class GPGME_Error extends Error{
this._code = code;
}
- get code(){
+ get code (){
return this._code;
}
} \ No newline at end of file
diff --git a/lang/js/src/Helpers.js b/lang/js/src/Helpers.js
index 379015f2..ba4277ab 100644
--- a/lang/js/src/Helpers.js
+++ b/lang/js/src/Helpers.js
@@ -30,7 +30,7 @@ import { gpgme_error } from './Errors';
* @param {Object | Array<Object> | String | Array<String>} input
* @returns {Array<String>} Array of fingerprints, or an empty array
*/
-export function toKeyIdArray(input){
+export function toKeyIdArray (input){
if (!input){
return [];
}
@@ -39,7 +39,7 @@ export function toKeyIdArray(input){
}
let result = [];
for (let i=0; i < input.length; i++){
- if (typeof(input[i]) === 'string'){
+ if (typeof (input[i]) === 'string'){
if (isFingerprint(input[i]) === true){
result.push(input[i]);
} else {
@@ -47,7 +47,7 @@ export function toKeyIdArray(input){
// in src/Errors.js
gpgme_error('MSG_NOT_A_FPR');
}
- } else if (typeof(input[i]) === 'object'){
+ } else if (typeof (input[i]) === 'object'){
let fpr = '';
if (input[i].hasOwnProperty('fingerprint')){
fpr = input[i].fingerprint;
@@ -78,8 +78,8 @@ export function toKeyIdArray(input){
* @returns {Boolean} true if value passes test
* @private
*/
-function hextest(key, len){
- if (!key || typeof(key) !== 'string'){
+function hextest (key, len){
+ if (!key || typeof (key) !== 'string'){
return false;
}
if (key.length !== len){
@@ -95,7 +95,7 @@ function hextest(key, len){
* @param {String} value to check
* @returns {Boolean} true if value passes test
*/
-export function isFingerprint(value){
+export function isFingerprint (value){
return hextest(value, 40);
}
@@ -105,7 +105,7 @@ export function isFingerprint(value){
* @param {String} value to check
* @returns {Boolean} true if value passes test
*/
-export function isLongId(value){
+export function isLongId (value){
return hextest(value, 16);
}
@@ -113,7 +113,7 @@ export function isLongId(value){
* Recursively decodes input (utf8) to output (utf-16; javascript) strings
* @param {Object | Array | String} property
*/
-export function decode(property){
+export function decode (property){
if (typeof property === 'string'){
return decodeURIComponent(escape(property));
} else if (Array.isArray(property)){
diff --git a/lang/js/src/Key.js b/lang/js/src/Key.js
index 37ec7f9d..2800ae9a 100644
--- a/lang/js/src/Key.js
+++ b/lang/js/src/Key.js
@@ -35,8 +35,8 @@ import { createMessage } from './Message';
* a full object as delivered by gpgme-json
* @returns {Object|GPGME_Error} The verified and updated data
*/
-export function createKey(fingerprint, async = false, data){
- if (!isFingerprint(fingerprint) || typeof(async) !== 'boolean'){
+export function createKey (fingerprint, async = false, data){
+ if (!isFingerprint(fingerprint) || typeof (async) !== 'boolean'){
return gpgme_error('PARAM_WRONG');
}
if (data !== undefined){
@@ -60,14 +60,14 @@ export function createKey(fingerprint, async = false, data){
*/
class GPGME_Key {
- constructor(fingerprint, async, data){
+ constructor (fingerprint, async, data){
/**
* @property {Boolean} If true, most answers will be asynchronous
*/
this._async = async;
- this._data = {fingerprint: fingerprint.toUpperCase()};
+ this._data = { fingerprint: fingerprint.toUpperCase() };
if (data !== undefined
&& data.fingerprint.toUpperCase() === this._data.fingerprint
) {
@@ -84,7 +84,7 @@ class GPGME_Key {
* async, the armored property is not available (it can still be
* retrieved asynchronously by {@link Key.getArmor})
*/
- get(property) {
+ get (property) {
if (this._async === true) {
switch (property){
case 'armored':
@@ -98,6 +98,7 @@ class GPGME_Key {
if (property === 'armored') {
return gpgme_error('KEY_ASYNC_ONLY');
}
+ // eslint-disable-next-line no-use-before-define
if (!validKeyProperties.hasOwnProperty(property)){
return gpgme_error('PARAM_WRONG');
} else {
@@ -114,16 +115,16 @@ class GPGME_Key {
* @returns {Promise<GPGME_Key|GPGME_Error>}
* @async
*/
- refreshKey() {
+ refreshKey () {
let me = this;
- return new Promise(function(resolve, reject) {
+ return new Promise(function (resolve, reject) {
if (!me._data.fingerprint){
reject(gpgme_error('KEY_INVALID'));
}
let msg = createMessage('keylist');
msg.setParameter('sigs', true);
msg.setParameter('keys', me._data.fingerprint);
- msg.post().then(function(result){
+ msg.post().then(function (result){
if (result.keys.length === 1){
const newdata = validateKeyData(
me._data.fingerprint, result.keys[0]);
@@ -131,13 +132,13 @@ class GPGME_Key {
reject(gpgme_error('KEY_INVALID'));
} else {
me._data = newdata;
- me.getGnupgSecretState().then(function(){
- me.getArmor().then(function(){
+ me.getGnupgSecretState().then(function (){
+ me.getArmor().then(function (){
resolve(me);
- }, function(error){
+ }, function (error){
reject(error);
});
- }, function(error){
+ }, function (error){
reject(error);
});
}
@@ -157,18 +158,18 @@ class GPGME_Key {
* @returns {Promise<String|GPGME_Error>}
* @async
*/
- getArmor() {
+ getArmor () {
const me = this;
- return new Promise(function(resolve, reject) {
+ return new Promise(function (resolve, reject) {
if (!me._data.fingerprint){
reject(gpgme_error('KEY_INVALID'));
}
let msg = createMessage('export');
msg.setParameter('armor', true);
msg.setParameter('keys', me._data.fingerprint);
- msg.post().then(function(result){
+ msg.post().then(function (result){
resolve(result.data);
- }, function(error){
+ }, function (error){
reject(error);
});
});
@@ -186,14 +187,14 @@ class GPGME_Key {
*/
getGnupgSecretState (){
const me = this;
- return new Promise(function(resolve, reject) {
+ return new Promise(function (resolve, reject) {
if (!me._data.fingerprint){
reject(gpgme_error('KEY_INVALID'));
} else {
let msg = createMessage('keylist');
msg.setParameter('keys', me._data.fingerprint);
msg.setParameter('secret', true);
- msg.post().then(function(result){
+ msg.post().then(function (result){
me._data.hasSecret = null;
if (
result.keys &&
@@ -206,7 +207,7 @@ class GPGME_Key {
me._data.hasSecret = false;
resolve(false);
}
- }, function(error){
+ }, function (error){
reject(error);
});
}
@@ -219,17 +220,17 @@ class GPGME_Key {
* @returns {Promise<Boolean|GPGME_Error>} Success if key was deleted,
* rejects with a GPG error otherwise.
*/
- delete(){
+ delete (){
const me = this;
- return new Promise(function(resolve, reject){
+ return new Promise(function (resolve, reject){
if (!me._data.fingerprint){
reject(gpgme_error('KEY_INVALID'));
}
let msg = createMessage('delete');
msg.setParameter('key', me._data.fingerprint);
- msg.post().then(function(result){
+ msg.post().then(function (result){
resolve(result.success);
- }, function(error){
+ }, function (error){
reject(error);
});
});
@@ -238,7 +239,7 @@ class GPGME_Key {
/**
* @returns {String} The fingerprint defining this Key. Convenience getter
*/
- get fingerprint(){
+ get fingerprint (){
return this._data.fingerprint;
}
}
@@ -255,7 +256,7 @@ class GPGME_Subkey {
* @param {Object} data
* @private
*/
- constructor(data){
+ constructor (data){
this._data = {};
let keys = Object.keys(data);
const me = this;
@@ -268,7 +269,9 @@ class GPGME_Subkey {
* @param private
*/
const setProperty = function (property, value){
+ // eslint-disable-next-line no-use-before-define
if (validSubKeyProperties.hasOwnProperty(property)){
+ // eslint-disable-next-line no-use-before-define
if (validSubKeyProperties[property](value) === true) {
if (property === 'timestamp' || property === 'expires'){
me._data[property] = new Date(value * 1000);
@@ -288,7 +291,7 @@ class GPGME_Subkey {
* @param {String} property Information to request
* @returns {String | Number | Date}
*/
- get(property) {
+ get (property) {
if (this._data.hasOwnProperty(property)){
return (this._data[property]);
}
@@ -308,12 +311,14 @@ class GPGME_UserId {
* @param {Object} data
* @private
*/
- constructor(data){
+ constructor (data){
this._data = {};
const me = this;
let keys = Object.keys(data);
- const setProperty = function(property, value){
+ const setProperty = function (property, value){
+ // eslint-disable-next-line no-use-before-define
if (validUserIdProperties.hasOwnProperty(property)){
+ // eslint-disable-next-line no-use-before-define
if (validUserIdProperties[property](value) === true) {
if (property === 'last_update'){
me._data[property] = new Date(value*1000);
@@ -333,7 +338,7 @@ class GPGME_UserId {
* @param {String} property Information to request
* @returns {String | Number}
*/
- get(property) {
+ get (property) {
if (this._data.hasOwnProperty(property)){
return (this._data[property]);
}
@@ -349,52 +354,52 @@ class GPGME_UserId {
* @const
*/
const validUserIdProperties = {
- 'revoked': function(value){
- return typeof(value) === 'boolean';
+ 'revoked': function (value){
+ return typeof (value) === 'boolean';
},
- 'invalid': function(value){
- return typeof(value) === 'boolean';
+ 'invalid': function (value){
+ return typeof (value) === 'boolean';
},
- 'uid': function(value){
- if (typeof(value) === 'string' || value === ''){
+ 'uid': function (value){
+ if (typeof (value) === 'string' || value === ''){
return true;
}
return false;
},
- 'validity': function(value){
- if (typeof(value) === 'string'){
+ 'validity': function (value){
+ if (typeof (value) === 'string'){
return true;
}
return false;
},
- 'name': function(value){
- if (typeof(value) === 'string' || value === ''){
+ 'name': function (value){
+ if (typeof (value) === 'string' || value === ''){
return true;
}
return false;
},
- 'email': function(value){
- if (typeof(value) === 'string' || value === ''){
+ 'email': function (value){
+ if (typeof (value) === 'string' || value === ''){
return true;
}
return false;
},
- 'address': function(value){
- if (typeof(value) === 'string' || value === ''){
+ 'address': function (value){
+ if (typeof (value) === 'string' || value === ''){
return true;
}
return false;
},
- 'comment': function(value){
- if (typeof(value) === 'string' || value === ''){
+ 'comment': function (value){
+ if (typeof (value) === 'string' || value === ''){
return true;
}
return false;
},
- 'origin': function(value){
+ 'origin': function (value){
return Number.isInteger(value);
},
- 'last_update': function(value){
+ 'last_update': function (value){
return Number.isInteger(value);
}
};
@@ -406,54 +411,54 @@ const validUserIdProperties = {
* @const
*/
const validSubKeyProperties = {
- 'invalid': function(value){
- return typeof(value) === 'boolean';
+ 'invalid': function (value){
+ return typeof (value) === 'boolean';
},
- 'can_encrypt': function(value){
- return typeof(value) === 'boolean';
+ 'can_encrypt': function (value){
+ return typeof (value) === 'boolean';
},
- 'can_sign': function(value){
- return typeof(value) === 'boolean';
+ 'can_sign': function (value){
+ return typeof (value) === 'boolean';
},
- 'can_certify': function(value){
- return typeof(value) === 'boolean';
+ 'can_certify': function (value){
+ return typeof (value) === 'boolean';
},
- 'can_authenticate': function(value){
- return typeof(value) === 'boolean';
+ 'can_authenticate': function (value){
+ return typeof (value) === 'boolean';
},
- 'secret': function(value){
- return typeof(value) === 'boolean';
+ 'secret': function (value){
+ return typeof (value) === 'boolean';
},
- 'is_qualified': function(value){
- return typeof(value) === 'boolean';
+ 'is_qualified': function (value){
+ return typeof (value) === 'boolean';
},
- 'is_cardkey': function(value){
- return typeof(value) === 'boolean';
+ 'is_cardkey': function (value){
+ return typeof (value) === 'boolean';
},
- 'is_de_vs': function(value){
- return typeof(value) === 'boolean';
+ 'is_de_vs': function (value){
+ return typeof (value) === 'boolean';
},
- 'pubkey_algo_name': function(value){
- return typeof(value) === 'string';
+ 'pubkey_algo_name': function (value){
+ return typeof (value) === 'string';
// TODO: check against list of known?['']
},
- 'pubkey_algo_string': function(value){
- return typeof(value) === 'string';
+ 'pubkey_algo_string': function (value){
+ return typeof (value) === 'string';
// TODO: check against list of known?['']
},
- 'keyid': function(value){
+ 'keyid': function (value){
return isLongId(value);
},
- 'pubkey_algo': function(value) {
+ 'pubkey_algo': function (value) {
return (Number.isInteger(value) && value >= 0);
},
- 'length': function(value){
+ 'length': function (value){
return (Number.isInteger(value) && value > 0);
},
- 'timestamp': function(value){
+ 'timestamp': function (value){
return (Number.isInteger(value) && value > 0);
},
- 'expires': function(value){
+ 'expires': function (value){
return (Number.isInteger(value) && value > 0);
}
};
@@ -489,73 +494,73 @@ const validSubKeyProperties = {
* @const
*/
const validKeyProperties = {
- 'fingerprint': function(value){
+ 'fingerprint': function (value){
return isFingerprint(value);
},
- 'revoked': function(value){
- return typeof(value) === 'boolean';
+ 'revoked': function (value){
+ return typeof (value) === 'boolean';
},
- 'expired': function(value){
- return typeof(value) === 'boolean';
+ 'expired': function (value){
+ return typeof (value) === 'boolean';
},
- 'disabled': function(value){
- return typeof(value) === 'boolean';
+ 'disabled': function (value){
+ return typeof (value) === 'boolean';
},
- 'invalid': function(value){
- return typeof(value) === 'boolean';
+ 'invalid': function (value){
+ return typeof (value) === 'boolean';
},
- 'can_encrypt': function(value){
- return typeof(value) === 'boolean';
+ 'can_encrypt': function (value){
+ return typeof (value) === 'boolean';
},
- 'can_sign': function(value){
- return typeof(value) === 'boolean';
+ 'can_sign': function (value){
+ return typeof (value) === 'boolean';
},
- 'can_certify': function(value){
- return typeof(value) === 'boolean';
+ 'can_certify': function (value){
+ return typeof (value) === 'boolean';
},
- 'can_authenticate': function(value){
- return typeof(value) === 'boolean';
+ 'can_authenticate': function (value){
+ return typeof (value) === 'boolean';
},
- 'secret': function(value){
- return typeof(value) === 'boolean';
+ 'secret': function (value){
+ return typeof (value) === 'boolean';
},
- 'is_qualified': function(value){
- return typeof(value) === 'boolean';
+ 'is_qualified': function (value){
+ return typeof (value) === 'boolean';
},
- 'protocol': function(value){
- return typeof(value) === 'string';
- //TODO check for implemented ones
+ 'protocol': function (value){
+ return typeof (value) === 'string';
+ // TODO check for implemented ones
},
- 'issuer_serial': function(value){
- return typeof(value) === 'string';
+ 'issuer_serial': function (value){
+ return typeof (value) === 'string';
},
- 'issuer_name': function(value){
- return typeof(value) === 'string';
+ 'issuer_name': function (value){
+ return typeof (value) === 'string';
},
- 'chain_id': function(value){
- return typeof(value) === 'string';
+ 'chain_id': function (value){
+ return typeof (value) === 'string';
},
- 'owner_trust': function(value){
- return typeof(value) === 'string';
+ 'owner_trust': function (value){
+ return typeof (value) === 'string';
},
- 'last_update': function(value){
+ 'last_update': function (value){
return (Number.isInteger(value));
- //TODO undefined/null possible?
+ // TODO undefined/null possible?
},
- 'origin': function(value){
+ 'origin': function (value){
return (Number.isInteger(value));
},
- 'subkeys': function(value){
+ 'subkeys': function (value){
return (Array.isArray(value));
},
- 'userids': function(value){
+ 'userids': function (value){
return (Array.isArray(value));
},
- 'tofu': function(value){
+ 'tofu': function (value){
return (Array.isArray(value));
},
- 'hasSecret': function(value){
- return typeof(value) === 'boolean';
+ 'hasSecret': function (value){
+ return typeof (value) === 'boolean';
}
};
@@ -570,9 +575,9 @@ const validKeyProperties = {
* an error if something went wrong.
* @private
*/
-function validateKeyData(fingerprint, data){
+function validateKeyData (fingerprint, data){
const key = {};
- if (!fingerprint || typeof(data) !== 'object' || !data.fingerprint
+ if (!fingerprint || typeof (data) !== 'object' || !data.fingerprint
|| fingerprint !== data.fingerprint.toUpperCase()
){
return gpgme_error('KEY_INVALID');
@@ -619,13 +624,13 @@ function validateKeyData(fingerprint, data){
* @async
*/
function getGnupgState (fingerprint, property){
- return new Promise(function(resolve, reject) {
+ return new Promise(function (resolve, reject) {
if (!isFingerprint(fingerprint)) {
reject(gpgme_error('KEY_INVALID'));
} else {
let msg = createMessage('keylist');
msg.setParameter('keys', fingerprint);
- msg.post().then(function(res){
+ msg.post().then(function (res){
if (!res.keys || res.keys.length !== 1){
reject(gpgme_error('KEY_INVALID'));
} else {
@@ -675,7 +680,7 @@ function getGnupgState (fingerprint, property){
break;
}
}
- }, function(error){
+ }, function (error){
reject(gpgme_error(error));
});
}
diff --git a/lang/js/src/Keyring.js b/lang/js/src/Keyring.js
index de21736e..90d267db 100644
--- a/lang/js/src/Keyring.js
+++ b/lang/js/src/Keyring.js
@@ -22,8 +22,8 @@
*/
-import {createMessage} from './Message';
-import {createKey} from './Key';
+import { createMessage } from './Message';
+import { createKey } from './Key';
import { isFingerprint } from './Helpers';
import { gpgme_error } from './Errors';
@@ -31,8 +31,6 @@ import { gpgme_error } from './Errors';
* This class offers access to the gnupg keyring
*/
export class GPGME_Keyring {
- constructor(){
- }
/**
* Queries Keys (all Keys or a subset) from gnupg.
@@ -51,7 +49,7 @@ export class GPGME_Keyring {
* @async
*/
getKeys (pattern, prepare_sync=false, search=false){
- return new Promise(function(resolve, reject) {
+ return new Promise(function (resolve, reject) {
let msg = createMessage('keylist');
if (pattern !== undefined && pattern !== null){
msg.setParameter('keys', pattern);
@@ -60,25 +58,25 @@ export class GPGME_Keyring {
if (search === true){
msg.setParameter('locate', true);
}
- msg.post().then(function(result){
+ msg.post().then(function (result){
let resultset = [];
if (result.keys.length === 0){
resolve([]);
} else {
let secondrequest;
if (prepare_sync === true) {
- secondrequest = function() {
+ secondrequest = function () {
let msg2 = createMessage('keylist');
msg2.setParameter('keys', pattern);
msg2.setParameter('secret', true);
return msg2.post();
};
} else {
- secondrequest = function() {
+ secondrequest = function () {
return Promise.resolve(true);
};
}
- secondrequest().then(function(answer) {
+ secondrequest().then(function (answer) {
for (let i=0; i < result.keys.length; i++){
if (prepare_sync === true){
if (answer && answer.keys) {
@@ -104,7 +102,7 @@ export class GPGME_Keyring {
resultset.push(k);
}
resolve(resultset);
- }, function(error){
+ }, function (error){
reject(error);
});
}
@@ -136,7 +134,7 @@ export class GPGME_Keyring {
* @async
*/
getKeysArmored (pattern, with_secret_fpr) {
- return new Promise(function(resolve, reject) {
+ return new Promise(function (resolve, reject) {
let msg = createMessage('export');
msg.setParameter('armor', true);
if (with_secret_fpr === true) {
@@ -145,15 +143,15 @@ export class GPGME_Keyring {
if (pattern !== undefined && pattern !== null){
msg.setParameter('keys', pattern);
}
- msg.post().then(function(answer){
- const result = {armored: answer.data};
+ msg.post().then(function (answer){
+ const result = { armored: answer.data };
if (with_secret_fpr === true
&& answer.hasOwnProperty('sec-fprs')
) {
result.secret_fprs = answer['sec-fprs'];
}
resolve(result);
- }, function(error){
+ }, function (error){
reject(error);
});
});
@@ -169,32 +167,32 @@ export class GPGME_Keyring {
* @async
* @static
*/
- getDefaultKey(prepare_sync = false) {
+ getDefaultKey (prepare_sync = false) {
let me = this;
- return new Promise(function(resolve, reject){
+ return new Promise(function (resolve, reject){
let msg = createMessage('config_opt');
msg.setParameter('component', 'gpg');
msg.setParameter('option', 'default-key');
- msg.post().then(function(resp){
+ msg.post().then(function (resp){
if (resp.option !== undefined
&& resp.option.hasOwnProperty('value')
&& resp.option.value.length === 1
&& resp.option.value[0].hasOwnProperty('string')
- && typeof(resp.option.value[0].string) === 'string'){
+ && typeof (resp.option.value[0].string) === 'string'){
me.getKeys(resp.option.value[0].string, true).then(
- function(keys){
- if(keys.length === 1){
+ function (keys){
+ if (keys.length === 1){
resolve(keys[0]);
} else {
reject(gpgme_error('KEY_NO_DEFAULT'));
}
- }, function(error){
+ }, function (error){
reject(error);
});
} else {
let msg = createMessage('keylist');
msg.setParameter('secret', true);
- msg.post().then(function(result){
+ msg.post().then(function (result){
if (result.keys.length === 0){
reject(gpgme_error('KEY_NO_DEFAULT'));
} else {
@@ -211,11 +209,11 @@ export class GPGME_Keyring {
}
}
}
- }, function(error){
+ }, function (error){
reject(error);
});
}
- }, function(error){
+ }, function (error){
reject(error);
});
});
@@ -264,14 +262,14 @@ export class GPGME_Keyring {
'new_signatures', 'new_revocations', 'secret_read',
'secret_imported', 'secret_unchanged', 'skipped_new_keys',
'not_imported', 'skipped_v3_keys'];
- if (!armored || typeof(armored) !== 'string'){
+ if (!armored || typeof (armored) !== 'string'){
return Promise.reject(gpgme_error('PARAM_WRONG'));
}
let me = this;
- return new Promise(function(resolve, reject){
+ return new Promise(function (resolve, reject){
let msg = createMessage('import');
msg.setParameter('data', armored);
- msg.post().then(function(response){
+ msg.post().then(function (response){
let infos = {};
let fprs = [];
let summary = {};
@@ -282,7 +280,7 @@ export class GPGME_Keyring {
if (!response.result.hasOwnProperty('imports') ||
response.result.imports.length === 0
){
- resolve({Keys:[],summary: summary});
+ resolve({ Keys:[],summary: summary });
return;
}
for (let res=0; res<response.result.imports.length; res++){
@@ -299,7 +297,7 @@ export class GPGME_Keyring {
changes.userId = (result.status & 2) === 2;
changes.signature = (result.status & 4) === 4;
changes.subkey = (result.status & 8) === 8;
- //16 new secret key: not implemented
+ // 16 new secret key: not implemented
fprs.push(result.fingerprint);
infos[result.fingerprint] = {
@@ -309,7 +307,7 @@ export class GPGME_Keyring {
}
let resultset = [];
if (prepare_sync === true){
- me.getKeys(fprs, true).then(function(result){
+ me.getKeys(fprs, true).then(function (result){
for (let i=0; i < result.length; i++) {
resultset.push({
key: result[i],
@@ -318,8 +316,8 @@ export class GPGME_Keyring {
status: infos[result[i].fingerprint].status
});
}
- resolve({Keys:resultset,summary: summary});
- }, function(error){
+ resolve({ Keys:resultset,summary: summary });
+ }, function (error){
reject(error);
});
} else {
@@ -330,10 +328,10 @@ export class GPGME_Keyring {
status: infos[fprs[i]].status
});
}
- resolve({Keys:resultset,summary:summary});
+ resolve({ Keys:resultset,summary:summary });
}
- }, function(error){
+ }, function (error){
reject(error);
});
@@ -351,7 +349,7 @@ export class GPGME_Keyring {
* @async
* @static
*/
- deleteKey(fingerprint){
+ deleteKey (fingerprint){
if (isFingerprint(fingerprint) === true) {
let key = createKey(fingerprint);
return key.delete();
@@ -375,16 +373,17 @@ export class GPGME_Keyring {
* @return {Promise<Key|GPGME_Error>}
* @async
*/
- generateKey(userId, algo = 'default', expires){
+ generateKey (userId, algo = 'default', expires){
if (
- typeof(userId) !== 'string' ||
+ typeof (userId) !== 'string' ||
+ // eslint-disable-next-line no-use-before-define
supportedKeyAlgos.indexOf(algo) < 0 ||
(expires && !(expires instanceof Date))
){
return Promise.reject(gpgme_error('PARAM_WRONG'));
}
let me = this;
- return new Promise(function(resolve, reject){
+ return new Promise(function (resolve, reject){
let msg = createMessage('createkey');
msg.setParameter('userid', userId);
msg.setParameter('algo', algo );
@@ -394,15 +393,15 @@ export class GPGME_Keyring {
} else {
msg.setParameter('expires', 0);
}
- msg.post().then(function(response){
+ msg.post().then(function (response){
me.getKeys(response.fingerprint, true).then(
// TODO prepare_sync?
- function(result){
+ function (result){
resolve(result);
- }, function(error){
+ }, function (error){
reject(error);
});
- }, function(error) {
+ }, function (error) {
reject(error);
});
});
diff --git a/lang/js/src/Message.js b/lang/js/src/Message.js
index 2134fe99..1ba2b658 100644
--- a/lang/js/src/Message.js
+++ b/lang/js/src/Message.js
@@ -31,8 +31,8 @@ import { Connection } from './Connection';
* @param {String} operation
* @returns {GPGME_Message|GPGME_Error} The Message object
*/
-export function createMessage(operation){
- if (typeof(operation) !== 'string'){
+export function createMessage (operation){
+ if (typeof (operation) !== 'string'){
return gpgme_error('PARAM_WRONG');
}
if (permittedOperations.hasOwnProperty(operation)){
@@ -51,7 +51,7 @@ export function createMessage(operation){
*/
export class GPGME_Message {
- constructor(operation){
+ constructor (operation){
this._msg = {
op: operation,
chunksize: 1023* 1024
@@ -59,7 +59,7 @@ export class GPGME_Message {
this._expected = null;
}
- get operation(){
+ get operation (){
return this._msg.op;
}
@@ -69,7 +69,7 @@ export class GPGME_Message {
}
}
- get expected() {
+ get expected () {
return this._expected;
}
/**
@@ -81,7 +81,7 @@ export class GPGME_Message {
* will not encounter problems, larger messages will be received in
* chunks. If the value is not explicitly specified, 1023 KB is used.
*/
- set chunksize(value){
+ set chunksize (value){
if (
Number.isInteger(value) &&
value > 10 * 1024 &&
@@ -91,7 +91,7 @@ export class GPGME_Message {
}
}
- get chunksize(){
+ get chunksize (){
return this._msg.chunksize;
}
@@ -100,7 +100,7 @@ export class GPGME_Message {
* @returns {Object|null} Object to be posted to gnupg, or null if
* incomplete
*/
- get message() {
+ get message () {
if (this.isComplete() === true){
return this._msg;
} else {
@@ -116,7 +116,7 @@ export class GPGME_Message {
* @returns {Boolean} If the parameter was set successfully
*/
setParameter ( param,value ){
- if (!param || typeof(param) !== 'string'){
+ if (!param || typeof (param) !== 'string'){
return gpgme_error('PARAM_WRONG');
}
let po = permittedOperations[this._msg.op];
@@ -132,10 +132,10 @@ export class GPGME_Message {
return gpgme_error('PARAM_WRONG');
}
// check incoming value for correctness
- let checktype = function(val){
- switch(typeof(val)){
+ let checktype = function (val){
+ switch (typeof (val)){
case 'string':
- if (poparam.allowed.indexOf(typeof(val)) >= 0
+ if (poparam.allowed.indexOf(typeof (val)) >= 0
&& val.length > 0) {
return true;
}
@@ -199,7 +199,7 @@ export class GPGME_Message {
* all 'required' parameters according to {@link permittedOperations}.
* @returns {Boolean} true if message is complete.
*/
- isComplete(){
+ isComplete (){
if (!this._msg.op){
return false;
}
@@ -220,13 +220,13 @@ export class GPGME_Message {
*/
post (){
let me = this;
- return new Promise(function(resolve, reject) {
+ return new Promise(function (resolve, reject) {
if (me.isComplete() === true) {
let conn = new Connection;
- conn.post(me).then(function(response) {
+ conn.post(me).then(function (response) {
resolve(response);
- }, function(reason) {
+ }, function (reason) {
reject(reason);
});
}
diff --git a/lang/js/src/Signature.js b/lang/js/src/Signature.js
index 65365772..a6539048 100644
--- a/lang/js/src/Signature.js
+++ b/lang/js/src/Signature.js
@@ -30,25 +30,27 @@ import { gpgme_error } from './Errors';
* {@link expNote}.
* @returns {GPGME_Signature|GPGME_Error} Signature Object
*/
-export function createSignature(sigObject){
+export function createSignature (sigObject){
if (
- typeof(sigObject) !=='object' ||
+ typeof (sigObject) !=='object' ||
!sigObject.hasOwnProperty('summary') ||
!sigObject.hasOwnProperty('fingerprint') ||
!sigObject.hasOwnProperty('timestamp')
- //TODO check if timestamp is mandatory in specification
+ // TODO check if timestamp is mandatory in specification
){
return gpgme_error('SIG_WRONG');
}
let keys = Object.keys(sigObject);
for (let i=0; i< keys.length; i++){
- if ( typeof(sigObject[keys[i]]) !== expKeys[keys[i]] ){
+ // eslint-disable-next-line no-use-before-define
+ if ( typeof (sigObject[keys[i]]) !== expKeys[keys[i]] ){
return gpgme_error('SIG_WRONG');
}
}
let sumkeys = Object.keys(sigObject.summary);
for (let i=0; i< sumkeys.length; i++){
- if ( typeof(sigObject.summary[sumkeys[i]]) !== expSum[sumkeys[i]] ){
+ // eslint-disable-next-line no-use-before-define
+ if ( typeof (sigObject.summary[sumkeys[i]]) !== expSum[sumkeys[i]] ){
return gpgme_error('SIG_WRONG');
}
}
@@ -60,7 +62,8 @@ export function createSignature(sigObject){
let notation = sigObject.notations[i];
let notekeys = Object.keys(notation);
for (let j=0; j < notekeys.length; j++){
- if ( typeof(notation[notekeys[j]]) !== expNote[notekeys[j]] ){
+ // eslint-disable-next-line no-use-before-define
+ if ( typeof (notation[notekeys[j]]) !== expNote[notekeys[j]] ){
return gpgme_error('SIG_WRONG');
}
}
@@ -81,10 +84,10 @@ export function createSignature(sigObject){
*/
class GPGME_Signature {
- constructor(sigObject){
+ constructor (sigObject){
this._rawSigObject = sigObject;
}
- get fingerprint(){
+ get fingerprint (){
if (!this._rawSigObject.fingerprint){
return gpgme_error('SIG_WRONG');
} else {
@@ -97,7 +100,7 @@ class GPGME_Signature {
* signature does not expire
* @returns {Date | null}
*/
- get expiration(){
+ get expiration (){
if (!this._rawSigObject.exp_timestamp){
return null;
}
@@ -130,7 +133,7 @@ class GPGME_Signature {
* for details on the values.
* @returns {Object} Object with boolean properties
*/
- get errorDetails(){
+ get errorDetails (){
let properties = ['revoked', 'key-expired', 'sig-expired',
'key-missing', 'crl-missing', 'crl-too-old', 'bad-policy',
'sys-error'];
diff --git a/lang/js/src/gpgmejs.js b/lang/js/src/gpgmejs.js
index 4aa51759..9a0925b0 100644
--- a/lang/js/src/gpgmejs.js
+++ b/lang/js/src/gpgmejs.js
@@ -84,7 +84,7 @@ import { createSignature } from './Signature';
*/
export class GpgME {
- constructor(){
+ constructor (){
this._Keyring = null;
}
@@ -92,7 +92,7 @@ export class GpgME {
* setter for {@link setKeyring}.
* @param {GPGME_Keyring} keyring A Keyring to use
*/
- set Keyring(keyring){
+ set Keyring (keyring){
if (keyring && keyring instanceof GPGME_Keyring){
this._Keyring = keyring;
}
@@ -100,7 +100,7 @@ export class GpgME {
/**
* Accesses the {@link GPGME_Keyring}.
*/
- get Keyring(){
+ get Keyring (){
if (!this._Keyring){
this._Keyring = new GPGME_Keyring;
}
@@ -188,9 +188,9 @@ export class GpgME {
if (base64 === true){
msg.setParameter('base64', true);
}
- return new Promise(function(resolve, reject){
- msg.post().then(function(result){
- let _result = {data: result.data};
+ return new Promise(function (resolve, reject){
+ msg.post().then(function (result){
+ let _result = { data: result.data };
_result.base64 = result.base64 ? true: false;
_result.is_mime = result.is_mime ? true: false;
if (result.file_name){
@@ -206,7 +206,7 @@ export class GpgME {
result.signatures);
}
resolve(_result);
- }, function(error){
+ }, function (error){
reject(error);
});
});
@@ -240,14 +240,14 @@ export class GpgME {
}
msg.setParameter('mode', mode);
putData(msg, data);
- return new Promise(function(resolve,reject) {
+ return new Promise(function (resolve,reject) {
if (mode ==='detached'){
msg.expected ='base64';
}
- msg.post().then( function(message) {
+ msg.post().then( function (message) {
if (mode === 'clearsign'){
resolve({
- data: message.data}
+ data: message.data }
);
} else if (mode === 'detached') {
resolve({
@@ -255,7 +255,7 @@ export class GpgME {
signature: message.data
});
}
- }, function(error){
+ }, function (error){
reject(error);
});
});
@@ -278,7 +278,7 @@ export class GpgME {
return Promise.reject(dt);
}
if (signature){
- if (typeof(signature)!== 'string'){
+ if (typeof (signature)!== 'string'){
return Promise.reject(gpgme_error('PARAM_WRONG'));
} else {
msg.setParameter('signature', signature);
@@ -287,7 +287,7 @@ export class GpgME {
if (base64 === true){
msg.setParameter('base64', true);
}
- return new Promise(function(resolve, reject){
+ return new Promise(function (resolve, reject){
msg.post().then(function (message){
if (!message.info || !message.info.signatures){
reject(gpgme_error('SIG_NO_SIGS'));
@@ -301,7 +301,7 @@ export class GpgME {
_result.data = message.data;
resolve(_result);
}
- }, function(error){
+ }, function (error){
reject(error);
});
});
@@ -316,20 +316,20 @@ export class GpgME {
* @returns {undefined| GPGME_Error} Error if not successful, nothing otherwise
* @private
*/
-function putData(message, data){
+function putData (message, data){
if (!message || !(message instanceof GPGME_Message)) {
return gpgme_error('PARAM_WRONG');
}
if (!data){
return gpgme_error('PARAM_WRONG');
- } else if (typeof(data) === 'string') {
+ } else if (typeof (data) === 'string') {
message.setParameter('data', data);
} else if (
- typeof(data) === 'object' &&
- typeof(data.getText) === 'function'
+ typeof (data) === 'object' &&
+ typeof (data.getText) === 'function'
){
let txt = data.getText();
- if (typeof(txt) === 'string'){
+ if (typeof (txt) === 'string'){
message.setParameter('data', txt);
} else {
return gpgme_error('PARAM_WRONG');
@@ -345,7 +345,7 @@ function putData(message, data){
* @param {Array<Object>} sigs
* @returns {signatureDetails} Details about the signatures
*/
-function collectSignatures(sigs){
+function collectSignatures (sigs){
if (!Array.isArray(sigs)){
return gpgme_error('SIG_NO_SIGS');
}
diff --git a/lang/js/src/index.js b/lang/js/src/index.js
index ad4b05b0..cf6e2d03 100644
--- a/lang/js/src/index.js
+++ b/lang/js/src/index.js
@@ -32,21 +32,21 @@ import { Connection } from './Connection';
*
* @async
*/
-function init(){
- return new Promise(function(resolve, reject){
+function init (){
+ return new Promise(function (resolve, reject){
const connection = new Connection;
connection.checkConnection(false).then(
- function(result){
+ function (result){
if (result === true) {
resolve(new GpgME());
} else {
reject(gpgme_error('CONN_NO_CONNECT'));
}
- }, function(){ //unspecific connection error. Should not happen
+ }, function (){ // unspecific connection error. Should not happen
reject(gpgme_error('CONN_NO_CONNECT'));
});
});
}
-const exportvalue = {init:init};
+const exportvalue = { init:init };
export default exportvalue; \ No newline at end of file
diff --git a/lang/js/src/permittedOperations.js b/lang/js/src/permittedOperations.js
index f9145dab..48ff7fa7 100644
--- a/lang/js/src/permittedOperations.js
+++ b/lang/js/src/permittedOperations.js
@@ -48,7 +48,7 @@
*/
export const permittedOperations = {
encrypt: {
- pinentry: true, //TODO only with signing_keys
+ pinentry: true, // TODO only with signing_keys
required: {
'keys': {
allowed: ['string'],
@@ -137,7 +137,7 @@ export const permittedOperations = {
pinentry: true,
required: {
'data': {
- allowed: ['string']},
+ allowed: ['string'] },
'keys': {
allowed: ['string'],
array_allowed: true
@@ -337,7 +337,7 @@ export const permittedOperations = {
},
answer: {
type: [''],
- data: {'fingerprint': 'string'}
+ data: { 'fingerprint': 'string' }
}
},
@@ -365,9 +365,9 @@ export const permittedOperations = {
data: 'string',
base64:'boolean',
info: 'object'
- // file_name: Optional string of the plaintext file name.
- // is_mime: Boolean if the messages claims it is MIME.
- // signatures: Array of signatures
+ // info.file_name: Optional string of the plaintext file name.
+ // info.is_mime: Boolean if the messages claims it is MIME.
+ // info.signatures: Array of signatures
}
}
},