Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Every remote is an event source: operations report through structured `log` even
- 🎯 **Event-driven architecture** - Comprehensive event system with structured data
- ⌨️ **Comprehensive keyboard input** - 71 characters with smart shift detection and special symbols
- πŸ”„ **ESM & CommonJS support** - Works with both `import` and `require`
- πŸ›‘οΈ **Error resilience** - Errors emit events instead of crashing your app (attach an `error` listener β€” see [Event-Driven Usage](#event-driven-usage-recommended))
- πŸ›‘οΈ **Error resilience** - Errors are reported as events instead of crashing your app; an `error` listener is optional (see [Event-Driven Usage](#event-driven-usage-recommended))
- πŸ”— **Method chaining** - Fluent API for event listener management
- πŸ“Š **Structured logging** - Timestamped, categorized log events with source tracking
- πŸš€ **Promise-based** - Modern async/await support with callback compatibility
Expand Down Expand Up @@ -134,7 +134,7 @@ const remote = await createAndroidTVRemote({ ip: "192.168.1.100" });

### Event-Driven Usage (Recommended)

This module uses an **event-driven architecture** instead of console logging. All operations emit structured events that you can listen to. The remote is a Node.js event emitter, so an `error` event with no listener attached throws β€” always register an `error` listener:
This module uses an **event-driven architecture** instead of console logging. All operations emit structured events that you can listen to. The remote is a Node.js event emitter, but an `error` event is only emitted when a listener is attached, so an `error` listener is optional. Without one, the error is emitted as a `log` event with `level: 'error'` and written to `NODE_DEBUG=android-tv-remote`. Register an `error` listener to handle failures yourself:

```js
import createRemote from "@cldmv/node-android-tv-remote";
Expand Down
Loading