/** @module pairs/toIterablePair.ts */ import { isMapOrSet } from '../type/isMapOrSet' import { entries } from './entries' export function toIterablePair>( obj: A ): IterableIterator<[A extends Map ? K : never, A extends Map ? V : never]> export function toIterablePair>( obj: A ): Iterable<[string, A[keyof A]]> export function toIterablePair( obj: A ): Array<[string, A extends Array ? U : never]> export function toIterablePair( obj: A ): A extends { [k in string]: infer V; } ? Array<[string, V]> : never /** * Todo */ export function toIterablePair( obj ) { return isMapOrSet( obj ) ? obj.entries() : entries( obj ) }