jest-allure2-reporter
Version:
Idiomatic Jest reporter for Allure Framework
29 lines (23 loc) • 705 B
text/typescript
import type { KeyedParameterCustomizer, Primitive } from 'jest-allure2-reporter';
import * as extractors from '../../common';
import type { ParameterOrPrimitiveExtractor } from './types';
import { isParameter } from './isParameter';
export function keyedParameter<Context>(
value: KeyedParameterCustomizer<Context>,
key: string,
): ParameterOrPrimitiveExtractor<Context> | undefined {
if (value == null) {
return;
}
if (typeof value === 'function') {
return value as ParameterOrPrimitiveExtractor<Context>;
}
return extractors.constant(
isParameter(value)
? {
...value,
name: key,
}
: { name: key, value: value as Primitive },
);
}