jest-allure2-reporter
Version:
Idiomatic Jest reporter for Allure Framework
22 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.labelsMap = labelsMap;
const utils_1 = require("../../../utils");
const simplifyLabelsMap_1 = require("./simplifyLabelsMap");
function labelsMap(customizer) {
const simplifiedCustomizer = (0, simplifyLabelsMap_1.simplifyLabelsMap)(customizer);
const customizerKeys = Object.keys(simplifiedCustomizer);
return async (context) => {
return (0, utils_1.thruMaybePromise)(context.value, (value) => {
const labels = (0, utils_1.groupBy)(value, 'name');
const keys = (0, utils_1.uniq)([...customizerKeys, ...Object.keys(labels)]);
const batches = keys.map((key) => {
const keyedContext = { ...context, value: (0, utils_1.asMaybeArray)(labels[key]) };
const keyedCustomizer = simplifiedCustomizer[key];
return keyedCustomizer ? keyedCustomizer(keyedContext) : keyedContext.value;
});
return (0, utils_1.maybePromiseAll)(batches, (batches) => batches.flat());
});
};
}
//# sourceMappingURL=labelsMap.js.map