XYOracleNetwork/sdk-xyo-client-js

View on GitHub
packages/modules/packages/witness/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 } from '@xyo-network/payload-model'

export const WitnessConfigSchema = 'network.xyo.witness.config' as const
export type WitnessConfigSchema = typeof WitnessConfigSchema

export type WitnessConfig<TConfig extends EmptyObject | Payload | void = void, TSchema extends string | void = void> = ModuleConfig<
  WithAdditional<
    {
      schema: TConfig extends Payload ? TConfig['schema'] : WitnessConfigSchema
    },
    TConfig
  >,
  TSchema
>