@waboyz-baileys/shared
Version:
61 lines (60 loc) • 2.38 kB
JavaScript
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,
});