Falta el método de captura en Javascript y hace algo de lógic
En Ruby, puede capturar una llamada a un método que falta y definirla sobre la marcha.
Lo que quiero lograr en JavaScript es tener un objeto sin métodos. Quiero que un método faltante se traduzca en una llamada a emit ():
app.isReady() -> app.emit("isReady")
soldier.kills() -> soldier.emit("kills")
Creo que es mejor capturar el error del método faltante y ejecutar emit (methodName) en lugar de definir todos los métodos (de una lista fija) en tiempo de ejecución. De esa manera no tenemos gastos generales de rendimiento si hay cientos o miles de eventos para un objeto.
¿Cuál es la mejor manera de hacer esto
UPDATE: este es un diseño de API, así que prefiero quedarme fuera de:
try {
app.isReady()
} catch(e) {
...
}
Quiero saber cómo puedo lograr esto detrás de escena para que los usuarios puedan usar los métodos de la forma habitual.