38 lines
1,018 B
JavaScript
Executable file
38 lines
1,018 B
JavaScript
Executable file
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.Signature = void 0;
|
|
/**
|
|
* A container class containing information about a signature.
|
|
*
|
|
* Contains a signature and the keyid uniquely identifying the key used
|
|
* to generate the signature.
|
|
*
|
|
* Provide a `fromJSON` method to create a Signature from a JSON object.
|
|
*/
|
|
class Signature {
|
|
constructor(options) {
|
|
const { keyID, sig } = options;
|
|
this.keyID = keyID;
|
|
this.sig = sig;
|
|
}
|
|
toJSON() {
|
|
return {
|
|
keyid: this.keyID,
|
|
sig: this.sig,
|
|
};
|
|
}
|
|
static fromJSON(data) {
|
|
const { keyid, sig } = data;
|
|
if (typeof keyid !== 'string') {
|
|
throw new TypeError('keyid must be a string');
|
|
}
|
|
if (typeof sig !== 'string') {
|
|
throw new TypeError('sig must be a string');
|
|
}
|
|
return new Signature({
|
|
keyID: keyid,
|
|
sig: sig,
|
|
});
|
|
}
|
|
}
|
|
exports.Signature = Signature;
|