UNPKG

@nameof/nameof

Version:

A tiny utility for safely extracting property names from TypeScript objects — inspired by C#'s [`nameof`](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/nameof) operator.

27 lines (26 loc) 726 B
declare function nameof<T extends Function>(fn: T): string; declare function nameof<T extends object>(key: keyof T): keyof T; declare function nameof<T extends object>(obj: T): keyof T; declare function nameof< T, K1 extends keyof T >(obj: T, k1: K1): K1; declare function nameof< T, K1 extends keyof T, K2 extends keyof T[K1] >(obj: T, k1: K1, k2: K2): K2; declare function nameof< T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2] >(obj: T, k1: K1, k2: K2, k3: K3): K3; declare function nameof< T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3] >(obj: T, k1: K1, k2: K2, k3: K3, k4: K4): K4; export { nameof, nameof as default };