Refactor src/packet/*.js to use import & export

This commit is contained in:
Tankred Hase 2016-02-05 14:44:22 +07:00
parent 9ebe31a4ec
commit 70ac662073
20 changed files with 148 additions and 183 deletions

View File

@ -1,63 +1,60 @@
'use strict';
/** /**
* @requires enums * @requires enums
* @module packet * @module packet
*/ */
var enums = require('../enums.js'); import enums from '../enums.js';
// This is pretty ugly, but browserify needs to have the requires explicitly written. /** @see module:packet/compressed */
export { default as Compressed } from './compressed.js';
/** @see module:packet/sym_encrypted_integrity_protected */
export { default as SymEncryptedIntegrityProtected } from './sym_encrypted_integrity_protected.js';
/** @see module:packet/public_key_encrypted_session_key */
export { default as PublicKeyEncryptedSessionKey } from './public_key_encrypted_session_key.js';
/** @see module:packet/sym_encrypted_session_key */
export { default as SymEncryptedSessionKey } from './sym_encrypted_session_key.js';
/** @see module:packet/literal */
export { default as Literal } from './literal.js';
/** @see module:packet/public_key */
export { default as PublicKey } from './public_key.js';
/** @see module:packet/symmetrically_encrypted */
export { default as SymmetricallyEncrypted } from './symmetrically_encrypted.js';
/** @see module:packet/marker */
export { default as Marker } from './marker.js';
/** @see module:packet/public_subkey */
export { default as PublicSubkey } from './public_subkey.js';
/** @see module:packet/user_attribute */
export { default as UserAttribute } from './user_attribute.js';
/** @see module:packet/one_pass_signature */
export { default as OnePassSignature } from './one_pass_signature.js';
/** @see module:packet/secret_key */
export { default as SecretKey } from './secret_key.js';
/** @see module:packet/userid */
export { default as Userid } from './userid.js';
/** @see module:packet/secret_subkey */
export { default as SecretSubkey } from './secret_subkey.js';
/** @see module:packet/signature */
export { default as Signature } from './signature.js';
/** @see module:packet/trust */
export { default as Trust } from './trust.js';
module.exports = { /**
/** @see module:packet/compressed */
Compressed: require('./compressed.js'),
/** @see module:packet/sym_encrypted_integrity_protected */
SymEncryptedIntegrityProtected: require('./sym_encrypted_integrity_protected.js'),
/** @see module:packet/public_key_encrypted_session_key */
PublicKeyEncryptedSessionKey: require('./public_key_encrypted_session_key.js'),
/** @see module:packet/sym_encrypted_session_key */
SymEncryptedSessionKey: require('./sym_encrypted_session_key.js'),
/** @see module:packet/literal */
Literal: require('./literal.js'),
/** @see module:packet/public_key */
PublicKey: require('./public_key.js'),
/** @see module:packet/symmetrically_encrypted */
SymmetricallyEncrypted: require('./symmetrically_encrypted.js'),
/** @see module:packet/marker */
Marker: require('./marker.js'),
/** @see module:packet/public_subkey */
PublicSubkey: require('./public_subkey.js'),
/** @see module:packet/user_attribute */
UserAttribute: require('./user_attribute.js'),
/** @see module:packet/one_pass_signature */
OnePassSignature: require('./one_pass_signature.js'),
/** @see module:packet/secret_key */
SecretKey: require('./secret_key.js'),
/** @see module:packet/userid */
Userid: require('./userid.js'),
/** @see module:packet/secret_subkey */
SecretSubkey: require('./secret_subkey.js'),
/** @see module:packet/signature */
Signature: require('./signature.js'),
/** @see module:packet/trust */
Trust: require('./trust.js'),
/**
* Allocate a new packet * Allocate a new packet
* @param {String} tag property name from {@link module:enums.packet} * @param {String} tag property name from {@link module:enums.packet}
* @returns {Object} new packet object with type based on tag * @returns {Object} new packet object with type based on tag
*/ */
newPacketFromTag: function (tag) { export function newPacketFromTag(tag) {
return new this[packetClassFromTagName(tag)](); return new this[packetClassFromTagName(tag)]();
}, }
/**
/**
* Allocate a new packet from structured packet clone * Allocate a new packet from structured packet clone
* See {@link http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#safe-passing-of-structured-data} * See {@link http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#safe-passing-of-structured-data}
* @param {Object} packetClone packet clone * @param {Object} packetClone packet clone
* @returns {Object} new packet object with data from packet clone * @returns {Object} new packet object with data from packet clone
*/ */
fromStructuredClone: function(packetClone) { export function fromStructuredClone(packetClone) {
var tagName = enums.read(enums.packet, packetClone.tag); var tagName = enums.read(enums.packet, packetClone.tag);
var packet = this.newPacketFromTag(tagName); var packet = newPacketFromTag(tagName);
for (var attr in packetClone) { for (var attr in packetClone) {
if (packetClone.hasOwnProperty(attr)) { if (packetClone.hasOwnProperty(attr)) {
packet[attr] = packetClone[attr]; packet[attr] = packetClone[attr];
@ -67,8 +64,7 @@ module.exports = {
packet.postCloneTypeFix(); packet.postCloneTypeFix();
} }
return packet; return packet;
} }
};
/** /**
* Convert tag name to class name * Convert tag name to class name

View File

@ -31,18 +31,16 @@
'use strict'; 'use strict';
module.exports = Compressed; import enums from '../enums.js';
import util from '../util.js';
var enums = require('../enums.js'), import Zlib from '../compression/zlib.min.js';
util = require('../util.js'), import RawInflate from '../compression/rawinflate.min.js';
Zlib = require('../compression/zlib.min.js'), import RawDeflate from '../compression/rawdeflate.min.js';
RawInflate = require('../compression/rawinflate.min.js'),
RawDeflate = require('../compression/rawdeflate.min.js');
/** /**
* @constructor * @constructor
*/ */
function Compressed() { export default function Compressed() {
/** /**
* Packet type * Packet type
* @type {module:enums.packet} * @type {module:enums.packet}

View File

@ -1,15 +1,18 @@
'use strict'; 'use strict';
module.exports = { import * as packets from './all_packets.js';
import List from './packetlist.js';
const mod = {
/** /**
* @name module:packet.List * @name module:packet.List
* @see module:packet/packetlist * @see module:packet/packetlist
*/ */
List: require('./packetlist.js') List: List
}; };
var packets = require('./all_packets.js'); for (let i in packets) {
mod[i] = packets[i];
for (var i in packets) {
module.exports[i] = packets[i];
} }
export default mod;

View File

@ -27,15 +27,13 @@
'use strict'; 'use strict';
module.exports = Literal; import util from '../util.js';
import enums from '../enums.js';
var util = require('../util.js'),
enums = require('../enums.js');
/** /**
* @constructor * @constructor
*/ */
function Literal() { export default function Literal() {
this.tag = enums.packet.literal; this.tag = enums.packet.literal;
this.format = 'utf8'; // default format for literal data packets this.format = 'utf8'; // default format for literal data packets
this.date = new Date(); this.date = new Date();

View File

@ -31,14 +31,12 @@
'use strict'; 'use strict';
module.exports = Marker; import enums from '../enums.js';
var enums = require('../enums.js');
/** /**
* @constructor * @constructor
*/ */
function Marker() { export default function Marker() {
this.tag = enums.packet.marker; this.tag = enums.packet.marker;
} }

View File

@ -31,16 +31,14 @@
'use strict'; 'use strict';
module.exports = OnePassSignature; import util from '../util.js';
import enums from '../enums.js';
var util = require('../util.js'), import type_keyid from '../type/keyid.js';
enums = require('../enums.js'),
type_keyid = require('../type/keyid.js');
/** /**
* @constructor * @constructor
*/ */
function OnePassSignature() { export default function OnePassSignature() {
this.tag = enums.packet.onePassSignature; // The packet type this.tag = enums.packet.onePassSignature; // The packet type
this.version = null; // A one-octet version number. The current version is 3. this.version = null; // A one-octet version number. The current version is 3.
this.type = null; // A one-octet signature type. Signature types are described in {@link http://tools.ietf.org/html/rfc4880#section-5.2.1|RFC4880 Section 5.2.1}. this.type = null; // A one-octet signature type. Signature types are described in {@link http://tools.ietf.org/html/rfc4880#section-5.2.1|RFC4880 Section 5.2.1}.

View File

@ -23,9 +23,9 @@
'use strict'; 'use strict';
var util = require('../util.js'); import util from '../util.js';
module.exports = { export default {
readSimpleLength: function(bytes) { readSimpleLength: function(bytes) {
var len = 0, var len = 0,
offset, offset,

View File

@ -11,17 +11,15 @@
'use strict'; 'use strict';
module.exports = Packetlist; import util from '../util';
import packetParser from './packet.js';
var util = require('../util'), import * as packets from './all_packets.js';
packetParser = require('./packet.js'), import enums from '../enums.js';
packets = require('./all_packets.js'),
enums = require('../enums.js');
/** /**
* @constructor * @constructor
*/ */
function Packetlist() { export default function Packetlist() {
/** The number of packets contained within the list. /** The number of packets contained within the list.
* @readonly * @readonly
* @type {Integer} */ * @type {Integer} */
@ -193,7 +191,7 @@ Packetlist.prototype.concat = function (packetlist) {
* @param {Object} packetClone packetlist clone * @param {Object} packetClone packetlist clone
* @returns {Object} new packetlist object with data from packetlist clone * @returns {Object} new packetlist object with data from packetlist clone
*/ */
module.exports.fromStructuredClone = function(packetlistClone) { Packetlist.fromStructuredClone = function(packetlistClone) {
var packetlist = new Packetlist(); var packetlist = new Packetlist();
for (var i = 0; i < packetlistClone.length; i++) { for (var i = 0; i < packetlistClone.length; i++) {
packetlist.push(packets.fromStructuredClone(packetlistClone[i])); packetlist.push(packets.fromStructuredClone(packetlistClone[i]));

View File

@ -32,18 +32,16 @@
'use strict'; 'use strict';
module.exports = PublicKey; import util from '../util.js';
import type_mpi from '../type/mpi.js';
var util = require('../util.js'), import type_keyid from '../type/keyid.js';
type_mpi = require('../type/mpi.js'), import enums from '../enums.js';
type_keyid = require('../type/keyid.js'), import crypto from '../crypto';
enums = require('../enums.js'),
crypto = require('../crypto');
/** /**
* @constructor * @constructor
*/ */
function PublicKey() { export default function PublicKey() {
this.tag = enums.packet.publicKey; this.tag = enums.packet.publicKey;
this.version = 4; this.version = 4;
/** Key creation date. /** Key creation date.

View File

@ -39,18 +39,16 @@
'use strict'; 'use strict';
module.exports = PublicKeyEncryptedSessionKey; import type_keyid from '../type/keyid.js';
import util from '../util.js';
var type_keyid = require('../type/keyid.js'), import type_mpi from '../type/mpi.js';
util = require('../util.js'), import enums from '../enums.js';
type_mpi = require('../type/mpi.js'), import crypto from '../crypto';
enums = require('../enums.js'),
crypto = require('../crypto');
/** /**
* @constructor * @constructor
*/ */
function PublicKeyEncryptedSessionKey() { export default function PublicKeyEncryptedSessionKey() {
this.tag = enums.packet.publicKeyEncryptedSessionKey; this.tag = enums.packet.publicKeyEncryptedSessionKey;
this.version = 3; this.version = 3;

View File

@ -23,16 +23,14 @@
'use strict'; 'use strict';
module.exports = PublicSubkey; import publicKey from './public_key.js';
import enums from '../enums.js';
var publicKey = require('./public_key.js'),
enums = require('../enums.js');
/** /**
* @constructor * @constructor
* @extends module:packet/public_key * @extends module:packet/public_key
*/ */
function PublicSubkey() { export default function PublicSubkey() {
publicKey.call(this); publicKey.call(this);
this.tag = enums.packet.publicSubkey; this.tag = enums.packet.publicSubkey;
} }

View File

@ -33,20 +33,18 @@
'use strict'; 'use strict';
module.exports = SecretKey; import publicKey from './public_key.js';
import enums from '../enums.js';
var publicKey = require('./public_key.js'), import util from '../util.js';
enums = require('../enums.js'), import crypto from '../crypto';
util = require('../util.js'), import type_mpi from '../type/mpi.js';
crypto = require('../crypto'), import type_s2k from '../type/s2k.js';
type_mpi = require('../type/mpi.js'),
type_s2k = require('../type/s2k.js');
/** /**
* @constructor * @constructor
* @extends module:packet/public_key * @extends module:packet/public_key
*/ */
function SecretKey() { export default function SecretKey() {
publicKey.call(this); publicKey.call(this);
this.tag = enums.packet.secretKey; this.tag = enums.packet.secretKey;
// encrypted secret-key data // encrypted secret-key data

View File

@ -23,16 +23,14 @@
'use strict'; 'use strict';
module.exports = SecretSubkey; import secretKey from './secret_key.js';
import enums from '../enums.js';
var secretKey = require('./secret_key.js'),
enums = require('../enums.js');
/** /**
* @constructor * @constructor
* @extends module:packet/secret_key * @extends module:packet/secret_key
*/ */
function SecretSubkey() { export default function SecretSubkey() {
secretKey.call(this); secretKey.call(this);
this.tag = enums.packet.secretSubkey; this.tag = enums.packet.secretSubkey;
} }

View File

@ -31,19 +31,17 @@
* @module packet/signature * @module packet/signature
*/ */
module.exports = Signature; import util from '../util.js';
import packet from './packet.js';
var util = require('../util.js'), import enums from '../enums.js';
packet = require('./packet.js'), import crypto from '../crypto';
enums = require('../enums.js'), import type_mpi from '../type/mpi.js';
crypto = require('../crypto'), import type_keyid from '../type/keyid.js';
type_mpi = require('../type/mpi.js'),
type_keyid = require('../type/keyid.js');
/** /**
* @constructor * @constructor
*/ */
function Signature() { export default function Signature() {
this.tag = enums.packet.signature; this.tag = enums.packet.signature;
this.version = 4; this.version = 4;
this.signatureType = null; this.signatureType = null;

View File

@ -34,19 +34,17 @@
'use strict'; 'use strict';
module.exports = SymEncryptedIntegrityProtected; import util from '../util.js';
import crypto from '../crypto';
var util = require('../util.js'), import enums from '../enums.js';
crypto = require('../crypto'), import asmCrypto from 'asmcrypto-lite';
enums = require('../enums.js'), const nodeCrypto = util.getNodeCrypto();
asmCrypto = require('asmcrypto-lite'), const Buffer = util.getNodeBuffer();
nodeCrypto = util.getNodeCrypto(),
Buffer = util.getNodeBuffer();
/** /**
* @constructor * @constructor
*/ */
function SymEncryptedIntegrityProtected() { export default function SymEncryptedIntegrityProtected() {
this.tag = enums.packet.symEncryptedIntegrityProtected; this.tag = enums.packet.symEncryptedIntegrityProtected;
/** The encrypted payload. */ /** The encrypted payload. */
this.encrypted = null; // string this.encrypted = null; // string

View File

@ -38,17 +38,15 @@
'use strict'; 'use strict';
var util = require('../util.js'), import util from '../util.js';
type_s2k = require('../type/s2k.js'), import type_s2k from '../type/s2k.js';
enums = require('../enums.js'), import enums from '../enums.js';
crypto = require('../crypto'); import crypto from '../crypto';
module.exports = SymEncryptedSessionKey;
/** /**
* @constructor * @constructor
*/ */
function SymEncryptedSessionKey() { export default function SymEncryptedSessionKey() {
this.tag = enums.packet.symEncryptedSessionKey; this.tag = enums.packet.symEncryptedSessionKey;
this.version = 4; this.version = 4;
this.sessionKey = null; this.sessionKey = null;

View File

@ -30,16 +30,14 @@
'use strict'; 'use strict';
module.exports = SymmetricallyEncrypted; import crypto from '../crypto';
import enums from '../enums.js';
var crypto = require('../crypto'), import config from '../config';
enums = require('../enums.js'),
config = require('../config');
/** /**
* @constructor * @constructor
*/ */
function SymmetricallyEncrypted() { export default function SymmetricallyEncrypted() {
this.tag = enums.packet.symmetricallyEncrypted; this.tag = enums.packet.symmetricallyEncrypted;
this.encrypted = null; this.encrypted = null;
/** Decrypted packets contained within. /** Decrypted packets contained within.

View File

@ -5,14 +5,12 @@
'use strict'; 'use strict';
module.exports = Trust; import enums from '../enums.js';
var enums = require('../enums.js');
/** /**
* @constructor * @constructor
*/ */
function Trust() { export default function Trust() {
this.tag = enums.packet.trust; this.tag = enums.packet.trust;
} }

View File

@ -38,16 +38,14 @@
'use strict'; 'use strict';
var util = require('../util.js'), import util from '../util.js';
packet = require('./packet.js'), import packet from './packet.js';
enums = require('../enums.js'); import enums from '../enums.js';
module.exports = UserAttribute;
/** /**
* @constructor * @constructor
*/ */
function UserAttribute() { export default function UserAttribute() {
this.tag = enums.packet.userAttribute; this.tag = enums.packet.userAttribute;
this.attributes = []; this.attributes = [];
} }

View File

@ -30,15 +30,13 @@
'use strict'; 'use strict';
module.exports = Userid; import util from '../util.js';
import enums from '../enums.js';
var util = require('../util.js'),
enums = require('../enums.js');
/** /**
* @constructor * @constructor
*/ */
function Userid() { export default function Userid() {
this.tag = enums.packet.userid; this.tag = enums.packet.userid;
/** A string containing the user id. Usually in the form /** A string containing the user id. Usually in the form
* John Doe <john@example.com> * John Doe <john@example.com>