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, ''>>, +]