TS keyof keyword
[TS as keyword](https://texonom.com/ts-as-keyword-339011d3228d416a9d4d16b01747dceb) [TS Template Literal Type](https://texonom.com/ts-template-literal-type-a3200d7c04694c259f0c1d9755f18341) 


```typetype Option<T> = {  [K in keyof T]?: T[K]}```

### With [TS Template Literal Type](https://texonom.com/ts-template-literal-type-a3200d7c04694c259f0c1d9755f18341) 
```typetype Getters<Type> = {    [Property in keyof Type as `get${Capitalize<string & Property>}`]: () => Type[Property]}; interface Person {    name: string;    age: number;    location: string;} type LazyPerson = Getters<Person>;         type LazyPerson = {    getName: () => string;    getAge: () => number;    getLocation: () => string;}```


> [Documentation - Mapped Types](https://www.typescriptlang.org/docs/handbook/2/mapped-types.html)

> [Get keys of a Typescript interface as array of strings](https://stackoverflow.com/questions/43909566/get-keys-of-a-typescript-interface-as-array-of-strings)





