@signalapp/mock-server
Version:
Mock Signal Server for writing tests
37 lines (36 loc) • 1.15 kB
JavaScript
;
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeContacts = serializeContacts;
const compiled_1 = require("../../protos/compiled");
function serializeContacts(contacts) {
const chunks = contacts
.map((contact) => {
const { aciBinary, number, profileName: name } = contact;
return Buffer.from(compiled_1.signalservice.ContactDetails.encode({
aciBinary,
number,
name,
avatar: null,
expireTimer: null,
expireTimerVersion: null,
inboxPosition: null,
aci: null,
}));
})
.map((chunk) => {
const size = [];
let remaining = chunk.length;
do {
let element = remaining & 0x7f;
remaining >>>= 7;
if (remaining !== 0) {
element |= 0x80;
}
size.push(element);
} while (remaining !== 0);
return [Buffer.from(size), chunk];
});
return Buffer.concat(chunks.flat());
}