UNPKG

@vreden/meta

Version:

Baileys is a lightweight JavaScript library for interacting with the WhatsApp Web API using WebSocket.

59 lines (52 loc) 1.28 kB
"use strict" Object.defineProperty(exports, "__esModule", { value: true }) function isNull(str) { return str === null || str === '' } function intValue(num) { const MAX_VALUE = 0x7fffffff const MIN_VALUE = -0x80000000 if (num > MAX_VALUE || num < MIN_VALUE) { return num & 0xffffffff } return num } function hashCode(strKey) { let hash = 0 if (!isNull(strKey)) { for (let i = 0; i < strKey.length; i++) { hash = hash * 31 + strKey.charCodeAt(i) hash = intValue(hash) } } return hash } class SenderKeyName { constructor(groupId, sender) { this.groupId = groupId this.sender = sender } getGroupId() { return this.groupId } getSender() { return this.sender } serialize() { return `${this.groupId}::${this.sender.id}::${this.sender.deviceId}` } toString() { return this.serialize() } equals(other) { if (other === null) return false return this.groupId === other.groupId && this.sender.toString() === other.sender.toString() } hashCode() { return hashCode(this.groupId) ^ hashCode(this.sender.toString()) } } module.exports = { SenderKeyName }