Event based JavaScript for the browser with comprehensive event management API
91
{
"context": "This evaluation assesses how effectively the engineer uses wolfy87-eventemitter's Context and Chaining capability to build an event-driven task processor. The focus is on proper utilization of method chaining for fluent configuration and accessing the EventEmitter context within listeners to emit follow-up events.",
"type": "weighted_checklist",
"checklist": [
{
"name": "EventEmitter Integration",
"description": "TaskProcessor class properly extends or incorporates EventEmitter functionality, making event methods (on, emit, etc.) available on processor instances",
"max_score": 20
},
{
"name": "Method Chaining Support",
"description": "Configuration methods (on, addListener, once, etc.) return the EventEmitter/TaskProcessor instance to enable chaining, demonstrated by successful chaining of multiple .on() calls",
"max_score": 25
},
{
"name": "Context Access via 'this'",
"description": "Event listeners access the EventEmitter context using 'this' keyword to emit follow-up events, rather than using external references or closures",
"max_score": 30
},
{
"name": "Event Emission Chain",
"description": "Implementation correctly uses emit() or emitEvent() methods to trigger events in the sequence: prepare → execute → validate → complete",
"max_score": 15
},
{
"name": "Fluent Configuration Pattern",
"description": "The processor supports fluent initialization where multiple event handlers can be registered in a single chained expression (e.g., processor.on('prepare', fn1).on('execute', fn2).on('validate', fn3))",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-wolfy87-eventemitterdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10