XYOracleNetwork/sdk-xyo-client-js

View on GitHub
packages/modules/packages/bridge/packages/pub-sub/src/AsyncQueryBus/model/Params.ts

Summary

Maintainability
A
30 mins
Test Coverage
import { BaseParams } from '@xylabs/object'
import { QueryFulfillFinishedEventArgs, QueryFulfillStartedEventArgs } from '@xyo-network/bridge-model'
import { ModuleInstance } from '@xyo-network/module-model'

import { AsyncQueryBusBaseConfig } from './BaseConfig'
import { AsyncQueryBusClientConfig } from './ClientConfig'
import { AsyncQueryBusHostConfig } from './HostConfig'

export type AsyncQueryBusParams<TConfig extends AsyncQueryBusBaseConfig = AsyncQueryBusBaseConfig> = BaseParams<{
  config?: TConfig
  rootModule: ModuleInstance
}>

export type AsyncQueryBusClientParams = AsyncQueryBusParams<AsyncQueryBusClientConfig>
export type AsyncQueryBusHostParams = AsyncQueryBusParams<AsyncQueryBusHostConfig> & {
  onQueryFulfillFinished?: (args: Omit<QueryFulfillFinishedEventArgs, 'module'>) => void
  onQueryFulfillStarted?: (args: Omit<QueryFulfillStartedEventArgs, 'module'>) => void
}