Skip to content

Latest commit

 

History

History
15 lines (11 loc) · 1.66 KB

File metadata and controls

15 lines (11 loc) · 1.66 KB

Object Key Paths hard #object-keys

by CattChen @ChenKS12138

Take the Challenge

Get all possible paths that could be called by _.get (a lodash function) to get the value of an object

type T1 = ObjectKeyPaths<{ name: string; age: number }>; // expected to be 'name' | 'age'
type T2 = ObjectKeyPaths<{
  refCount: number;
  person: { name: string; age: number };
}>; // expected to be 'refCount' | 'person' | 'person.name' | 'person.age'
type T3 = ObjectKeyPaths<{ books: [{ name: string; price: number }] }>; // expected to be the superset of 'books' | 'books.0' | 'books[0]' | 'books.[0]' | 'books.0.name' | 'books.0.price' | 'books.length' | 'books.find'

Back Share your Solutions Check out Solutions