export function createBidirectionalMap< T extends string | number, U extends string | number, >( mappings: readonly (readonly [T, U])[] ): { forward: Record reverse: Partial> } { const forward = Object.fromEntries(mappings) as Record const reverse = Object.fromEntries( mappings.map(([key, value]) => [value, key]) ) as Partial> return { forward, reverse } }