UNPKG

confinode

Version:

Node application configuration reader

20 lines (19 loc) 949 B
import { InternalResult } from '../../ConfinodeResult'; import ConfigDescription, { ConfigDescriptionParameter, ParserContext } from '../ConfigDescription'; /** * Description of a conditional configuration. */ export default class ConditionalDescription<I, E> implements ConfigDescription<I | E> { private readonly predicate; private readonly ifDescription; private readonly elseDescription; /** * Create a conditional configuration description. * * @param predicate - The predicate to test the value against. * @param ifDescription - The description to use if predicate is true. * @param elseDescription - The description to use if predicate is false. */ constructor(predicate: (value: unknown) => boolean, ifDescription: ConfigDescriptionParameter<I>, elseDescription: ConfigDescriptionParameter<E>); parse(data: unknown, context: ParserContext<I | E>): InternalResult<I | E> | undefined; }