Esperando a primeira promessa bem-sucedida

JavaScript Easy promises

Tarefa «Esperando a primeira promessa bem-sucedida»

Escreva a função `firstResolved(promises)`, que recebe um array de promessas e retorna uma nova promessa que é resolvida com o valor da primeira promessa bem-sucedida (resolved) do array. Se todas as promessas forem rejeitadas (reject), a promessa retornada deve ser rejeitada com a mensagem "All promises rejected". Use apenas métodos padrão de promessas, sem async/await.

Formato de Entrada

String com um array de promessas no formato JSON, onde cada promessa é representada como [resolve, value] ou [reject, error]. Por exemplo: [[true, 10], [false, 'Error'], [true, 20]].

Formato de Saída

Valor da primeira promessa bem-sucedida ou a string 'All promises rejected'.

Exemplos

Exemplo 1

ENTRADA
[[true, 10], [true, 20], [false, 'Error']]
SAÍDA
10

Exemplo 2

ENTRADA
[[false, 'Error1'], [true, 'Success'], [false, 'Error2']]
SAÍDA
Success

Exemplo 3

ENTRADA
[[false, 'Error1'], [false, 'Error2']]
SAÍDA
All promises rejected
main.js