UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

25 lines (18 loc) 674 B
import { getActiveClient } from '~/client/api/activeClient'; import { createEventSubscriber } from '~/core/events'; import { ingestInCache } from '~/cache/api/ingestInCache'; import { prepareUserPayload } from '../utils/prepareUserPayload'; export const createUserEventSubscriber = ( event: keyof Amity.MqttUserEvents, callback: Amity.Listener<Amity.InternalUser>, ) => { const client = getActiveClient(); const filter = (data: Amity.UserPayload) => { const payload = prepareUserPayload(data); if (client.cache) { ingestInCache(payload); } callback(payload.users[0]); }; return createEventSubscriber(client, event, event, filter); };