File: index.d.ts

package info (click to toggle)
node-invert-kv 3.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 148 kB
  • sloc: javascript: 110; makefile: 2
file content (21 lines) | stat: -rw-r--r-- 635 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 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;