UNPKG

@sprucelabs/mercury-client

Version:

The simple way to interact with the Spruce Experience Platform

46 lines (45 loc) 1.33 kB
import { buildEventContract } from '@sprucelabs/mercury-types'; import { buildSchema } from '@sprucelabs/schema'; const statusChangePayloadSchema = buildSchema({ id: 'connectionStatusChangeEmitPayload', fields: { status: { type: 'select', isRequired: true, options: { choices: [ { label: 'Connecting', value: 'connecting', }, { label: 'Connected', value: 'connected', }, { label: 'Disconnected', value: 'disconnected', }, ], }, }, }, }); const statusChangeTargetAndPayloadSchema = buildSchema({ id: 'connectionStatusChangeEmitTargetAndPayload', fields: { payload: { type: 'schema', isRequired: true, options: { schema: statusChangePayloadSchema }, }, }, }); export const connectionStatusContract = buildEventContract({ id: 'connectionStatus', eventSignatures: { 'connection-status-change': { emitPayloadSchema: statusChangeTargetAndPayloadSchema, }, }, });