Olá Guilherme! Tudo bem?
Vamos lá, vou tentar ajudá-lo a entender essas dúvidas.
Esse trecho de código está mapeando um array chamado "capturas" para criar um novo array chamado "resultados".
Para cada elemento do array "capturas", ele utiliza uma função de callback (captura => ({[captura[1]]: captura[2]}))
que recebe cada elemento como parâmetro e retorna um objeto com uma chave e um valor.
A chave do objeto é definida como o segundo elemento (captura[1])
do elemento atual do array capturas. O valor é definido como o terceiro elemento (captura[2])
do mesmo elemento atual. O resultado é um novo array "resultados" contendo objetos com as chaves e valores correspondentes aos elementos do array "capturas".
Contudo, toda essa estrutura não é condizente com o que é passado durante o curso. Logo abaixo estarei deixando a estrutura usada durante o curso.
const resultado = await pegaArquivo(argumentos[2]);
Nela estamos passando um determinado argumento e uma posição de sua lista, esse argumento é uma lista de tudo, que anteriormente, foi passado via terminal ao compilar o código, e está sendo recolhido usando a seguinte parte const caminho = process.argv;
.
Então, nessa estrutura que passei anteriormente, estaremos processando o caminho do arquivo, passado via terminal, e mandando para a constante "resultado".
Já sobre a sua outra dúvida, a constante "encoding" está sendo utilizada para especificar o tipo de codificação que será usada para ler o arquivo texto.md. O UTF-8 é uma codificação de caracteres que permite representar textos em várias línguas, incluindo o português.
Espero ter ajudado. Caso tenha mais perguntas, estarei à disposição para ajudá-lo.
No mais, grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.