@applitools/eyes-storybook
Version:
37 lines (31 loc) • 957 B
JavaScript
;
const eyesStorybookOrig = require('./eyesStorybook');
const {EventEmitter} = require('node:events');
function eyesStorybookEventEmitter({
eyesStorybook = eyesStorybookOrig,
config,
logger,
performance,
timeItAsync,
signal,
addonVersion,
}) {
const eventEmitter = new EventEmitter();
const startedAt = Date.now();
eyesStorybook({config, logger, performance, timeItAsync, eventEmitter, signal, addonVersion})
.then(({results}) => {
eventEmitter.emit('result', {
startedAt,
duration: performance['renderStories'],
storyResults: results.map(({story, resultsOrErr}) => ({
story: {id: story.id, queryParams: story.config.queryParams},
[Array.isArray(resultsOrErr) ? 'results' : 'error']: resultsOrErr,
})),
});
})
.catch(err => {
eventEmitter.emit('error', err);
});
return eventEmitter;
}
module.exports = {eyesStorybookEventEmitter};