CoastalCommitsPastes/server/node_modules/invert-kv/index.d.ts
2022-03-06 16:46:59 -08:00

21 lines
635 B
TypeScript

// TODO: Extend this to symbol when TS allows symbols in index signatures:
// https://github.com/Microsoft/TypeScript/issues/1863
/**
Invert the key/value of an object. Example: `{foo: 'bar'}` → `{bar: 'foo'}`.
@example
```
import invertKeyValue = require('invert-kv');
invertKeyValue({foo: 'bar', '🦄': '🌈'});
//=> {bar: 'foo', '🌈': '🦄'}
```
*/
declare function invertKeyValue<
KeyType extends string | number,
ValueType extends string | number | symbol
>(
object: {[key in KeyType]: ValueType}
): {[key in ValueType]: KeyType extends number ? Exclude<KeyType, number> | string : KeyType};
export = invertKeyValue;