Resolved type
Uma versão mais estreita do tipo Awaited do TypeScript 4.5 que desembrulha recursivamente o "tipo esperado", emulando o comportamento de await
.
type Resolved<T> = (T extends { then(onfulfilled: F) => any } ? (F extends (value: V) => any ? Resolved<V> : never) : T)