Back to Explore

kettanaito/rettime

GitHub
10 updates · last 90 days1 watchersOpen source

Last release: 1 month ago

Rettime is a small TypeScript library that combines browser-style `EventTarget` behavior with Node-style `EventEmitter`, adding event cancellation and type safety. It’s useful for building event-based systems where you want strongly typed event names and payloads, plus convenience helpers like `.emitAsPromise()` and `.emitAsGenerator()`.

Project status

  • Actively maintained, recent GitHub activity shows multiple small updates on 2026-05-03, with the latest push at 2026-05-03 18:45 UTC and subsequent patch releases following shortly after.
  • Apparent update cadence is fast for the recent window, v0.11.9 to v0.11.11 land within about 5 hours on the same day, suggesting an active development/review cycle rather than sporadic changes.

AI summary generated Today

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v0.11.11

    1 month ago

    v0.11.11 is a small patch release focused on correcting duplicate handling in LensList and listener removal behavior. The documented change mentions keeping LensList internal stores synchronized when deleting duplicates, and the code diff shows additional listener iteration behavior changes not called out in the release notes.

  • v0.11.10

    1 month ago

    v0.11.10 improves the Emitter.hooks and listener registration behavior around AbortSignal, preventing indefinite registrations when the signal is already aborted. It also hardens hook invocation by iterating over snapshots so that removing other hooks during hook execution does not cause later hooks to be skipped.

  • v0.11.9

    1 month ago

    v0.11.9 changes the internal Emitter removal logic so that the `removeListener` hook is emitted when `removeAllListeners()` removes listeners. The implementation now centralizes removal behavior through `removeListener`, and updates related cleanup behavior for listeners registered with abort signals.

  • v0.11.8

    1 month ago

    v0.11.8 fixes an issue related to listener cleanup, and also addresses a behavioral bug around `.earlyOn` interactions with listener propagation. The implementation changes focus on correctly unsubscribing `AbortSignal` abort handlers to prevent leaked subscriptions and avoid unintended re-triggering during listener removal.

  • v0.11.7

    2 months ago

    v0.11.7 introduces hook enhancements around event emission. It adds a new hooks.beforeEmit hook and a persist option intended to keep hook handlers active across emitter.removeAllListeners().

    Features
  • v0.11.6

    2 months ago

    v0.11.6 adds support for passing listener options to hooks, specifically enabling hook removal when an AbortSignal is aborted. The implementation also introduces a once-like behavior for hook callbacks when options.once is provided.

    Features
  • v0.11.5

    2 months ago

    v0.11.5 introduces a new Emitter hook named removeListener. The implementation wires this hook into both explicit listener removal and automatic removal paths (for once listeners).

    Features
  • v0.11.4

    2 months ago

    v0.11.4 is a small release with release notes that only mention “various performance improvements”. The code diff shows changes inside the Emitter implementation (listener tracking and event.stopPropagation interception), plus a dev dependency update to @rolldown/binding-darwin-arm64.

  • v0.11.3

    2 months ago

    v0.11.3 contains a targeted bug fix focused on improving lookup performance inside `LensList`. The release notes specifically claim a reduction in lookup cost to O(1).

  • v0.11.2

    2 months ago

    v0.11.2 introduces a new Emitter hook, `newListener`, intended to let consumers observe when listeners are added. The release notes only mention the hook addition, but the implementation adds a new public `emitter.hooks` API and specifies exact callback timing and argument shapes in code.

    Features