jest-allure2-reporter
Version:
Idiomatic Jest reporter for Allure Framework
24 lines (17 loc) • 713 B
text/typescript
import type { Parameter } from 'jest-allure2-reporter';
import { thruMaybePromise } from '../../../utils';
import type { ParameterOrPrimitive, ParameterOrPrimitiveInflator } from './types';
import { isParameter } from './isParameter';
export function inflateParameter<Context>(name: string): ParameterOrPrimitiveInflator<Context> {
function repair(value: ParameterOrPrimitive): Parameter | undefined {
if (value == null) {
return;
}
if (isParameter(value)) {
return value.value == null ? undefined : ({ ...value, name } as Parameter);
}
return { name, value };
}
return ({ value }) =>
thruMaybePromise<ParameterOrPrimitive, Parameter | undefined>(value, repair);
}