Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

187
Vistas
how do you make an object callable and attach functions to it at the same time

I'm using winston as a logger and in it you have a format namespace and function at the same time, so i can both call format() and access other functions via the namespace format.someFunction() as illustrated in the code below. Now i'm wondering how i can create an object like this myself?

const isRequest = format((info, _opts) => {
    if (info.isRequest) {
        return info
    }
    return false
})

export const logger = createLogger({
    level: 'info',
    format: format.combine(
        format.timestamp({
            format: 'YYYY-MM-DD HH:mm:ss'
        }),
        format.printf((info) => {
            return `${info.timestamp} ${info.level}: ${info.message}`
        })
    ),
    transports: [
        new transports.File({
            filename: errorLog,
            level: 'error'
        }),
        new transports.File({
            filename: requestLog,
            format: format.combine(isRequest())
        }),
        new transports.File({
            filename: combinedLog
        })
    ],
    exceptionHandlers: [
        new transports.File({
            filename: exceptionsLog
        })
    ]
})
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

It's JavaScript function expression. If you export it, it works pretty much the same. Hope this is what you mean.

More about function expression

let sayHello = function() {
  console.log("Hello")
}
sayHello.sayWorld = function() {
  console.log("World")
}

sayHello();
sayHello.sayWorld();

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda