// https://github.com/nodejs/node/blob/main/lib/internal/test_runner/reporter/spec.js export default async function* emojiReporter(source) { for await (const event of source) { switch (event.type) { case 'test:pass': yield '✅'; break; case 'test:fail': yield '🐛'; break; } } } // import { Transform } from 'node:stream'; // // const customReporter = new Transform({ // writableObjectMode: true, // transform(event, encoding, callback) { // switch (event.type) { // case 'test:start': // callback(null, `test ${event.data.name} started`); // break; // case 'test:pass': // callback(null, `test ${event.data.name} passed`); // break; // case 'test:fail': // callback(null, `test ${event.data.name} failed`); // break; // } // }, // }); // // export default customReporter; // export default async function * customReporter(source) { // for await (const event of source) { // switch (event.type) { // case 'test:start': // yield `test ${event.data.name} started\n`; // break; // case 'test:pass': // yield `test ${event.data.name} passed\n`; // break; // case 'test:fail': // yield `test ${event.data.name} failed\n`; // break; // case 'test:plan': // yield 'test plan'; // break; // case 'test:diagnostic': // yield `${event.data.message}\n`; // break; // case 'test:coverage': { // const { totalLineCount } = event.data.summary.totals; // yield `total line count: ${totalLineCount}\n`; // break; // } // } // } // }