UNPKG

@ganache/options

Version:
19 lines 1.55 kB
import { Base } from "./base"; export type Options<C extends Base.Config> = C["options"]; export type ExclusiveGroups<C extends Base.Config> = C["exclusiveGroups"]; export type OptionName<C extends Base.Config> = keyof Options<C> & string; export type ExclusiveGroupIndex<C extends Base.Config> = number & keyof ExclusiveGroups<C>; export type Option<C extends Base.Config, N extends OptionName<C> = OptionName<C>> = Options<C>[N]; export type OptionRawType<C extends Base.Config, N extends OptionName<C> = OptionName<C>> = void extends Option<C, N>["rawType"] ? Option<C, N>["type"] : Option<C, N>["rawType"]; export type OptionCliType<C extends Base.Config, N extends OptionName<C> = OptionName<C>> = void extends Option<C, N>["cliType"] ? Option<C, N>["type"] : Option<C, N>["cliType"]; export type OptionType<C extends Base.Config, N extends OptionName<C> = OptionName<C>> = Option<C, N>["type"]; export type OptionHasDefault<C extends Base.Config, N extends OptionName<C> = OptionName<C>> = Option<C, N>["hasDefault"]; export type OptionHasCliType<C extends Base.Config, N extends OptionName<C> = OptionName<C>> = Option<C, N>["cliType"]; export type OptionHasLegacy<C extends Base.Config, N extends OptionName<C> = OptionName<C>> = Option<C, N>["legacy"]; export type LegacyOptions<C extends Base.Config> = { [K in OptionName<C>]: Option<C, K> extends { legacy: any; } ? K : never; }[OptionName<C>]; export type Legacy<C extends Base.Config, N extends OptionName<C>> = Option<C, N>["legacy"]; //# sourceMappingURL=getters.d.ts.map