From 72d338afb93eaef437859c12ee6953e2eb642abe Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Nov 2020 18:38:16 +0800 Subject: [PATCH] #116 - Replace (#117) Co-authored-by: Anthony Fu <11247099+antfu@users.noreply.github.com> --- questions/116-medium-replace/README.md | 7 +++++++ questions/116-medium-replace/info.yml | 9 +++++++++ questions/116-medium-replace/template.ts | 1 + questions/116-medium-replace/test-cases.ts | 8 ++++++++ 4 files changed, 25 insertions(+) create mode 100644 questions/116-medium-replace/README.md create mode 100644 questions/116-medium-replace/info.yml create mode 100644 questions/116-medium-replace/template.ts create mode 100644 questions/116-medium-replace/test-cases.ts diff --git a/questions/116-medium-replace/README.md b/questions/116-medium-replace/README.md new file mode 100644 index 00000000..dfb57a57 --- /dev/null +++ b/questions/116-medium-replace/README.md @@ -0,0 +1,7 @@ +Implement `Replace` which replace the string `From` with `To` once in the given string `S` + +For example + +```ts +type replaced = Replace<'types are fun!', 'fun', 'awesome'> // expected to be 'types are awesome!' +``` diff --git a/questions/116-medium-replace/info.yml b/questions/116-medium-replace/info.yml new file mode 100644 index 00000000..0c571ee9 --- /dev/null +++ b/questions/116-medium-replace/info.yml @@ -0,0 +1,9 @@ +difficulty: medium +title: Replace +tags: template-string +tsconfig: + ts: 4.1.0-pr-40336-88 +author: + github: antfu + name: Anthony Fu + diff --git a/questions/116-medium-replace/template.ts b/questions/116-medium-replace/template.ts new file mode 100644 index 00000000..3f3a9c1a --- /dev/null +++ b/questions/116-medium-replace/template.ts @@ -0,0 +1 @@ +type Replace = any diff --git a/questions/116-medium-replace/test-cases.ts b/questions/116-medium-replace/test-cases.ts new file mode 100644 index 00000000..9c30a49a --- /dev/null +++ b/questions/116-medium-replace/test-cases.ts @@ -0,0 +1,8 @@ +import { Equal, Expect } from '@type-challenges/utils' + +type cases = [ + Expect, 'foofoo'>>, + Expect, 'foofoobar'>>, + Expect, 'foobarbar'>>, + Expect, ''>>, +]