UNPKG

@observertc/samples-encoder

Version:

ObserveRTC Library for Encoding Samples

43 lines (42 loc) 1.92 kB
"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;