XYOracleNetwork/sdk-xyo-client-js

View on GitHub
packages/modules/packages/diviner/packages/model/src/Config.ts

Summary

Maintainability
A
45 mins
Test Coverage
import { EmptyObject, WithAdditional } from '@xylabs/object'
import { ModuleConfig } from '@xyo-network/module-model'
import { Payload, Schema } from '@xyo-network/payload-model'

export const DivinerConfigSchema = 'network.xyo.diviner.config' as const
export type DivinerConfigSchema = typeof DivinerConfigSchema

export type DivinerConfig<TConfig extends Payload | EmptyObject | void = void, TSchema extends Schema | void = void> = ModuleConfig<
  WithAdditional<
    {
      schema: TConfig extends Payload ? TConfig['schema'] : DivinerConfigSchema
    },
    TConfig
  >,
  TSchema
>