summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/@tufjs/models/dist/signature.js
blob: 33eb204eb0835e072f757c08b64f9cc41198941a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"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;