UNPKG

@signalapp/mock-server

Version:
37 lines (36 loc) 1.15 kB
"use strict"; // 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()); }