import { PromiseResolver } from "@yume-chan/async"; import type { Event } from "./event.js"; export async function once(event: Event): Promise { const resolver = new PromiseResolver(); const dispose = event(resolver.resolve); const result = await resolver.promise; dispose(); return result; }