confinode
Version:
Node application configuration reader
25 lines (24 loc) • 1.01 kB
TypeScript
import { InternalResult } from '../../ConfinodeResult';
import ConfigDescription, { ConfigDescriptionParameter, ParserContext } from '../ConfigDescription';
/**
* Description of an array.
*/
export default class ArrayDescription<T> implements ConfigDescription<T[]> {
protected readonly description: ConfigDescriptionParameter<T>;
/**
* Create the array description.
*
* @param description - The description to replicate for each array item.
*/
constructor(description: ConfigDescriptionParameter<T>);
parse(data: unknown, context: ParserContext<T[]>): InternalResult<T[]> | undefined;
/**
* Parse and merge the array content. The default behavior is to concatenate the child nodes to the parsed
* parent ones.
*
* @param data - The array to parse and merge.
* @param context - The parsing context.
* @returns The parsed and merged array.
*/
protected mergeArray(data: any[], context: ParserContext<T[]>): InternalResult<T[]>;
}