UNPKG

@waboyz-baileys/shared

Version:

61 lines (60 loc) 2.38 kB
import { createSchemaRegistry } from '@grpc-pipe/core'; import { Empty } from './proto/google/protobuf/empty.js'; import { ActionClearUnreadCount, ActionSendMessage, ActionSpawnDestroyClient, ActionSpawnGracefulClient, ActionSpawnGracefulShutdown, ActionSpawnRestartClient, ActionSpawnStartBatch, ActionSpawnStartClient, ActionUploadMediaFromWa, EventChatsUpdate, EventChatsUpsert, EventConnected, EventError, EventMessageUpdate, EventMessageUpsert, EventNull, EventPresenceUpdate, EventQr, EventSendMessage, EventSendMessageError, EventSpawnCrashed, EventSpawnDestroyDone, EventSpawnGracefulClientDone, EventSpawnGracefulDone, TopicsInput } from './proto/wag.js'; const spawnActions = { 'spawn:boot': ActionSpawnStartClient, 'spawn:batch': ActionSpawnStartBatch, 'spawn:restart': ActionSpawnRestartClient, 'spawn:graceful:client': ActionSpawnGracefulClient, 'spawn:graceful': ActionSpawnGracefulShutdown, 'spawn:destroy': ActionSpawnDestroyClient, }; const spawnEvents = { 'spawn:graceful:client.done': EventSpawnGracefulClientDone, 'spawn:graceful.done': EventSpawnGracefulDone, 'spawn:destroy.done': EventSpawnDestroyDone, 'spawn:crashed': EventSpawnCrashed, }; const actions = { 'send.message': ActionSendMessage, 'clear.unread-count': ActionClearUnreadCount, 'upload.media-from-wa': ActionUploadMediaFromWa, 'fetch.pps': Empty, 'subscribe': TopicsInput, 'unsubscribe': TopicsInput, }; const events = { 'error': EventError, 'warn': EventError, 'initialized': EventNull, 'history.sync.complete': EventNull, 'qr': EventQr, 'connected': EventConnected, 'logout': EventNull, 'creds.update': EventNull, 'messages.send': EventSendMessage, 'messages.error': EventSendMessageError, 'messages.upsert': EventMessageUpsert, 'messages.update': EventMessageUpdate, 'presence.update': EventPresenceUpdate, 'chats.upsert': EventChatsUpsert, 'chats.update': EventChatsUpdate, }; export const ServerRegistry = createSchemaRegistry({ send: { ...actions, ...spawnActions, }, receive: { ...events, ...spawnEvents }, }); export const ClientRegistry = createSchemaRegistry({ send: events, receive: actions, }); export const SpawnRegistry = createSchemaRegistry({ send: spawnEvents, receive: spawnActions, });