@observertc/samples-encoder
Version:
ObserveRTC Library for Encoding Samples
43 lines (42 loc) • 1.92 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CertificateEncoder = void 0;
const utils_1 = require("./utils");
const OutputSamples_1 = require("./OutputSamples");
class CertificateEncoder {
constructor(attachmentsEncoder) {
this._visited = false;
this._timestampEncoder = new utils_1.NumberToNumberEncoder();
this._fingerprintEncoder = new utils_1.StringToStringEncoder();
this._fingerprintAlgorithmEncoder = new utils_1.StringToStringEncoder();
this._base64CertificateEncoder = new utils_1.StringToStringEncoder();
this._issuerCertificateIdEncoder = new utils_1.StringToStringEncoder();
this._attachmentsEncoder = attachmentsEncoder;
}
get visited() {
const result = this._visited;
this._visited = false;
return result;
}
reset() {
this._timestampEncoder.reset();
this._fingerprintEncoder.reset();
this._fingerprintAlgorithmEncoder.reset();
this._base64CertificateEncoder.reset();
this._issuerCertificateIdEncoder.reset();
this._attachmentsEncoder.reset();
}
encode(sample) {
this._visited = true;
return new OutputSamples_1.ClientSample_PeerConnectionSample_CertificateStats({
timestamp: this._timestampEncoder.encode(sample.timestamp),
id: sample.id,
fingerprint: this._fingerprintEncoder.encode(sample.fingerprint),
fingerprintAlgorithm: this._fingerprintAlgorithmEncoder.encode(sample.fingerprintAlgorithm),
base64Certificate: this._base64CertificateEncoder.encode(sample.base64Certificate),
issuerCertificateId: this._issuerCertificateIdEncoder.encode(sample.issuerCertificateId),
attachments: this._attachmentsEncoder.encode(sample.attachments),
});
}
}
exports.CertificateEncoder = CertificateEncoder;