Skip to content

Instantly share code, notes, and snippets.

@vimanvh
vimanvh / customized-fields.ts
Last active July 21, 2022 17:40
customized-fields.ts
// custom type names
type CustomType = "type1" | "type2";
// mapping from custom type names to TypeScript types
type TypeOf<T extends CustomType> =
T extends "type1" ? string
: T extends "type2" ? number
: never;
// generic Options type parametrized by custom types
@vimanvh
vimanvh / path.ts
Last active June 24, 2022 06:56
Ukázka typování cesty v objektu libovolné úrovně
/**
* Generický typ pro cestu v objektu
*/
type PathOf<Object extends object, Value> = {
[Property in keyof Object & string]:
Object[Property] extends Value
? `${Property}`
: Object[Property] extends object
? `${Property}.${PathOf<Object[Property], Value>}`
: never