@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
4 lines (3 loc) • 358 B
TypeScript
export type AnyKey<T, Visited = never> = {
[Key in keyof T & (string | number)]: T[Key] extends object ? T[Key] extends (...args: unknown[]) => unknown ? `${Key}` : T[Key] extends Visited ? `${Key}` : Key extends keyof T[Key] & (string | number) ? `${Key}` : `${Key}` | `${Key}.${AnyKey<T[Key], Visited | T>}` : `${Key}`;
}[keyof T & (string | number)];