Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1x 1x 1x 3x 4x 2x | import type { IParameterBuilders } from './IParameterBuilders';
import type { ParameterContainer } from './ParameterContainer';
import { mapRecord } from '../utils';
export class ParameterParser<Parameters extends Record<string, unknown>> {
public constructor(
private readonly paramterBuilders: IParameterBuilders<Parameters>
) {}
public parse(container: ParameterContainer): Parameters {
return mapRecord(this.paramterBuilders, (builder, key) => {
const parameter = container.parameter(key, builder.expectedTypes);
return builder.build(parameter);
}) as Parameters;
}
}
|