Como converter Map do JS para objeto em TypeScript com Object.fromEntries
Meu objetivo é converter um Map do JavaScript em um objeto, usando Object.fromEntries() ts-playground-link
O código que eu tenho no meu playground de TypeScript, parece assim:
interface Car {
engine: string;
color: string;
price: number;
}
const carMap = new Map<keyof Car, any>();
carMap.set('engine', 200);
const carMapAsObject = Object.fromEntries(carMap);
console.log(carMapAsObject); // --> {engine: 200}
Object.fromEntries(carMap); não funciona no playground do TypeScript, aqui ele dá o erro: Property 'fromEntries' does not exist on type 'ObjectConstructor'.(2339).
Na minha máquina local, o erro que recebo é diferente (erro 2345):
Argument of type 'Map<"engine" | "color" | "price", any>' is not assignable to parameter of type '[string, unknown][]'.
Type 'Map<"engine" | "color" | "price", any>' is missing the following properties from type '[string, unknown][]': length, pop, push, concat, and 24 more.ts(2345)
Isso ainda não é suportado pelo TypeScript, ou como eu deveria fazer essa conversão de objeto? Ao olhar para o console, posso perceber que o javascript subjacente está executando normalmente 🙃