Búsqueda de sitios web

¿Decoradores de Typescript para funciones de Firebase @OnCall y @OnRequest?


Estoy intentando escribir algunos decoradores de métodos para usar con funciones de Firebase en TypeScript, pero estoy un poco confundido con la sintaxis y lo que he intentado hasta ahora no funciona.

Me gustaría tener métodos en mi clase, por ejemplo:

@OnCall('europe-west1')
@Wrapper([errorHandler, validateSomething])
doSomething(data, context) {
// doing stuff in the function
}

y el resultado final sea:

const doSomething = functions.region(<REGION PARAM>).https.onCall((data, context) => {

errorHandler() {

  validateSomething() {

    DECORATEDFUNCTION()
}

});

Ahora, la parte del envoltorio no es tan crucial al principio, aunque es deseable. Hasta ahora, he probado varias variaciones de esto:

export function OnCall(region: string, name: string, target: any): MethodDecorator {
    return target => {
        //
    };
}

Respuesta #1

Para cualquiera que se encuentre con esto, terminé escribiendo algunos decoradores y una función que los utiliza para obtener el resultado deseado. Al final, he abandonado la idea ya que parece ir en contra del propósito de las funciones serverless y, esencialmente, solo intentaba imitar endpoints REST con funciones independientes.

El proyecto de GitHub se puede encontrar aquí. Allí también hay un proyecto de ejemplo que utiliza los decoradores.