jest-allure2-reporter
Version:
Idiomatic Jest reporter for Allure Framework
32 lines • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.compositeExtractor = compositeExtractor;
const utils_1 = require("../../utils");
function getPropertyContext(context, key) {
return {
...context,
get value() {
return context.value[key];
},
};
}
function compositeExtractor(looseCustomizer) {
const customizer = (0, utils_1.compactObject)(looseCustomizer, true);
const propertyNames = Object.keys(customizer);
return (context) => {
const descriptors = Object.fromEntries(propertyNames.map((key) => {
const propertyContext = getPropertyContext(context, key);
const propertyCustomizer = customizer[key];
const descriptor = {
enumerable: true,
get: (0, utils_1.onceWithLoopDetection)(computePropertyValue),
};
function computePropertyValue() {
return propertyCustomizer(propertyContext);
}
return [key, descriptor];
}));
return Object.defineProperties({}, descriptors);
};
}
//# sourceMappingURL=compositeExtractor.js.map