Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Decorator não funciona! <o>

Gente, eu tenho certeza que tô fazendo igual na aula, mas meu decorator simplesmente não imprime o tempo no console. Não dá nenhum erro, mas também não acontece nada. Alguém pode dar uma olhada no meu código e me ajudar a identificar o que eu estou fazendo de errado, por favor?

https://github.com/juamerico/curso-alura-typescript-3/commit/bef07d1fff84d88a61b9671bb567ce7ba531a2ed

2 respostas
solução!

Fala Juliana, tudo bem? Espero que sim!

Há dois erros no código, o primeiro é no arquivo tsconfig.json que na propriedade outDir deve conter app/dist/js e não dist/js, caso contrário o código typescript será compilado na raiz do projeto e assim o html irá acessar arquivos antigos (ou seja, que não existe o decorator ainda), assim ficando o seu tsconfig.json:

{
    "compilerOptions": {
        "outDir": "app/dist/js",
        "target": "ES6",
        "noEmitOnError": true,
        "noImplicitAny": true,
        "removeComments": true,
        "strictNullChecks": true,
        "experimentalDecorators": true
    },
    "include": ["app/**/*"]
}

Outro erro seria no decorator, você deve receber como parâmetro da função do value do descriptor: args e não ...args, caso contrário vocẽ não irá receber todos os argumentos necessário.

Antes:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Depois:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Ah, um aviso! Desligue e ligue novamente o servidor (npm start) do terminal para recompilar o typescript na pasta correta.

Com essas alterações o seu código deve funcionar corretamente.

Espero ter ajudado, abraços e bons estudos :D

Mateus me salvando de novo! hahaha Era isso mesmo, só falta de atenção ao rest operator mesmo. Muito obrigada!!! ♥