diff options
author | 2023-06-01 17:31:36 -0400 | |
---|---|---|
committer | 2023-06-01 14:31:36 -0700 | |
commit | 2c1694f63bc4eb279aa708f216037d2e6204eaf1 (patch) | |
tree | 6784f39bc74a9d7b2d46e62e27ccec8ec1855d5d /bench/emitter/implementations.mjs | |
parent | ae277a0dec2acddb2bebc2e46b26bc1543a55914 (diff) | |
download | bun-2c1694f63bc4eb279aa708f216037d2e6204eaf1.tar.gz bun-2c1694f63bc4eb279aa708f216037d2e6204eaf1.tar.zst bun-2c1694f63bc4eb279aa708f216037d2e6204eaf1.zip |
Fix streams breaking on reverted EventEmitter / Make Discord.js work (#2913)
* Revert "Revert "use a lazyily initialized stream for `node:crypto` `createHash` (#2652)""
This reverts commit 613bb4822ee8f4fbfd78aef391e2db8f07659a6f.
* Revert "Revert "implement `node:events` in javascript (#2604)""
This reverts commit a4d0a1961abe0c6073e15cc6f7c0601b74f2e3f7.
* oops
* fix entrypoints stuff
* fix hash copy
* use native events for node streams and crypto
* requested changes
* oops
* make discord.js work
* fix webkit hash
* headers tojson
Diffstat (limited to '')
-rw-r--r-- | bench/emitter/implementations.mjs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/bench/emitter/implementations.mjs b/bench/emitter/implementations.mjs new file mode 100644 index 000000000..2050ac38e --- /dev/null +++ b/bench/emitter/implementations.mjs @@ -0,0 +1,31 @@ +import EventEmitter3 from "eventemitter3"; +import { group } from "mitata"; +import EventEmitterNative from "node:events"; + +export const implementations = [ + { + EventEmitter: EventEmitterNative, + name: process.isBun ? (EventEmitterNative.init ? "bun" : "C++") : "node:events", + monkey: true, + }, + // { EventEmitter: EventEmitter3, name: "EventEmitter3" }, +].filter(Boolean); + +for (const impl of implementations) { + impl.EventEmitter?.setMaxListeners?.(Infinity); +} + +export function groupForEmitter(name, cb) { + if (implementations.length === 1) { + return cb({ + ...implementations[0], + name: `${name}: ${implementations[0].name}`, + }); + } else { + return group(name, () => { + for (let impl of implementations) { + cb(impl); + } + }); + } +} |