@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
JavaScript
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
}