Jé pa l'temps #28 - Advanced Typescript

Prevent Typescript to make Duck typing and have a real strict typing

1// Here, A <> B :p
2export type A = string & { readonly "": unique symbol };
3export type B = string & { readonly "": unique symbol };

Map type from another

1export type CamelCase<S extends string> = S extends `${infer Head}_${infer Tail}`? `${Lowercase<Head>}${Capitalize<CamelCase<Tail>>}` : `${Lowercase<S>}`;
2
3export type TotoEntity = {
4  [K in keyof Toto as CamelCase<K>]: Toto[K];
5};

— — — — — — — — — — — — — — — — — — — — —

La série « Jé pa l’temps » est une série de tutoriels rapides en mode “prise de note” pour avoir une trace de tout ce dont je ne peux me rappeler et pourquoi pas le partager à d’autre. On va à l’essentiel, laissons les jolis pavés à d’autres sites comme medium… LOL !