UNPKG

jest-allure2-reporter

Version:
23 lines (17 loc) 615 B
import type { KeyedLabelCustomizer, KeyedLabelExtractor } from 'jest-allure2-reporter'; import { appender, compose2 } from '../../common'; import { asArray, thruMaybePromise } from '../../../utils'; export function keyedLabel<Context>( value: KeyedLabelCustomizer<Context>, ): KeyedLabelExtractor<Context> | undefined { if (value == null) { return; } if (typeof value === 'function') { return value; } if (typeof value === 'string') { return (context) => thruMaybePromise(context.value, (base) => base ?? value); } return compose2(appender(value), ({ value }) => asArray(value)); }