3b46d43beb
* refactor: reorganize browser utility functions and improve buffer handling * fix: harden protobuf deserialization and clean up code * refactor: simplify data handling in GroupCipher and SenderKey classes * fix: Ensure consistent Buffer hydration and remove redundant code * refactor: update decodeAndHydrate calls to use proto types for improved type safety
32 lines
962 B
TypeScript
32 lines
962 B
TypeScript
import { platform, release } from 'os'
|
|
import { proto } from '../../WAProto/index.js'
|
|
import type { BrowsersMap } from '../Types'
|
|
|
|
const PLATFORM_MAP = {
|
|
aix: 'AIX',
|
|
darwin: 'Mac OS',
|
|
win32: 'Windows',
|
|
android: 'Android',
|
|
freebsd: 'FreeBSD',
|
|
openbsd: 'OpenBSD',
|
|
sunos: 'Solaris',
|
|
linux: undefined,
|
|
haiku: undefined,
|
|
cygwin: undefined,
|
|
netbsd: undefined
|
|
}
|
|
|
|
export const Browsers: BrowsersMap = {
|
|
ubuntu: browser => ['Ubuntu', browser, '22.04.4'],
|
|
macOS: browser => ['Mac OS', browser, '14.4.1'],
|
|
baileys: browser => ['Baileys', browser, '6.5.0'],
|
|
windows: browser => ['Windows', browser, '10.0.22631'],
|
|
/** The appropriate browser based on your OS & release */
|
|
appropriate: browser => [PLATFORM_MAP[platform()] || 'Ubuntu', browser, release()]
|
|
}
|
|
|
|
export const getPlatformId = (browser: string) => {
|
|
const platformType = proto.DeviceProps.PlatformType[browser.toUpperCase() as any]
|
|
return platformType ? platformType.toString() : '1' //chrome
|
|
}
|