Decorators, Factories (fábricas)

Si queremos personalizar como un decorador es aplicado a una declaración, podemos escribir una factory (fábrica). Un fábrica de decoradores es simplemente una función que retorna la expresión que es llamada por el decorador en tiempo de ejecución.

Podemos escribir una fábrica de la siguiente forma:

function color(value: string) {
    // esta es la fábrica
    return function (target) {
        // este es el decorador
    };
}