From 28ae5a48add195830599870073a6b16f8bd43a3e Mon Sep 17 00:00:00 2001 From: Fabien Salles Date: Fri, 5 May 2023 23:22:32 +0200 Subject: [PATCH] add other solution for exercice 17.5 --- ...rence-inside-generic-functions.solution.1.ts} | 0 ...erence-inside-generic-functions.solution.2.ts | 16 ++++++++++++++++ 2 files changed, 16 insertions(+) rename src/04-generics-advanced/{17.5-inference-inside-generic-functions.solution.ts => 17.5-inference-inside-generic-functions.solution.1.ts} (100%) create mode 100644 src/04-generics-advanced/17.5-inference-inside-generic-functions.solution.2.ts diff --git a/src/04-generics-advanced/17.5-inference-inside-generic-functions.solution.ts b/src/04-generics-advanced/17.5-inference-inside-generic-functions.solution.1.ts similarity index 100% rename from src/04-generics-advanced/17.5-inference-inside-generic-functions.solution.ts rename to src/04-generics-advanced/17.5-inference-inside-generic-functions.solution.1.ts diff --git a/src/04-generics-advanced/17.5-inference-inside-generic-functions.solution.2.ts b/src/04-generics-advanced/17.5-inference-inside-generic-functions.solution.2.ts new file mode 100644 index 0000000..dc3a7fd --- /dev/null +++ b/src/04-generics-advanced/17.5-inference-inside-generic-functions.solution.2.ts @@ -0,0 +1,16 @@ +type Person = { + name: string; + age: number; + birthdate: Date; +}; + +export function remapPerson( + key: Key, + value: Person[Key], +): Person[keyof Person] { + if (key === "birthdate") { + return new Date(); + } + + return value; +} \ No newline at end of file