useLatestMessageValue.ts
586 Bytes
import type { SubscriptionData } from '@/core/websocket/type/message'
export function useLatestMessageValue(message: SubscriptionData, attr: string) {
const value = message[attr] || []
const [lateset] = value || []
const [ts, latestValue = null] = lateset || []
return { ts, latestValue }
}
export function useLatestMultipleMessageValue(message: SubscriptionData, attr: string[], Fn: (attribute: string, value: any, timespan: number) => void) {
attr.forEach((item) => {
const [ts = null, latestValue = null] = message[item][0] || []
Fn(item, ts, latestValue)
})
}