Files
scriptc/tests/corpus/1650-ee-prepend.ts
2026-07-22 18:08:04 -05:00

21 lines
689 B
TypeScript

// prependListener / prependOnceListener: insertion at the FRONT of the
// list, once semantics preserved, mixed with appends.
import { EventEmitter } from "node:events";
const e = new EventEmitter();
const log: string[] = [];
e.on("go", () => log.push("appended"));
e.prependListener("go", () => log.push("front"));
e.prependOnceListener("go", () => log.push("front-once"));
e.on("go", () => log.push("tail"));
e.emit("go");
log.push("/");
e.emit("go");
console.log(log.join(","));
console.log(e.listenerCount("go"));
// Prepend onto an empty list is an ordinary add.
const e2 = new EventEmitter();
e2.prependListener("solo", (n: number) => console.log("solo", n));
e2.emit("solo", 9);