diff --git a/README.ja.md b/README.ja.md
index eb9ab888b..feaf1006c 100644
--- a/README.ja.md
+++ b/README.ja.md
@@ -32,7 +32,7 @@ TypeScriptには [ts-toolbelt](https://github.com/millsp/ts-toolbelt), [utility-
> 以下のバッジをクリックすると、課題の詳細が表示されます。
-
By Plain Text
お試し (1)
初級 (13)
中級 (97)
上級 (47)
最上級 (15)
+
プレーンテキストによる
お試し (1)
初級 (13)
中級 (97)
上級 (47)
最上級 (15)
> ✨ [今後の課題](https://github.com/type-challenges/type-challenges/issues?q=is%3Aissue+is%3Aopen+label%3Anew-challenge)
diff --git a/README.ko.md b/README.ko.md
index 9225e5398..6de2b75c4 100644
--- a/README.ko.md
+++ b/README.ko.md
@@ -30,7 +30,7 @@
> 배지를 클릭해서 챌린지의 자세한 내용을 확인해보세요.
-
By Plain Text
워밍업 (1)
쉬움 (13)
보통 (97)
어려움 (47)
매우 어려움 (15)
+
일반 텍스트로
워밍업 (1)
쉬움 (13)
보통 (97)
어려움 (47)
매우 어려움 (15)
> ✨ [Upcoming challenges](https://github.com/type-challenges/type-challenges/issues?q=is%3Aissue+is%3Aopen+label%3Anew-challenge)
diff --git a/README.pt-BR.md b/README.pt-BR.md
index 958d258c2..93d450f08 100644
--- a/README.pt-BR.md
+++ b/README.pt-BR.md
@@ -40,7 +40,7 @@ Esse projeto tem como objetivo ajudar você a entender melhor como um sistema de
-
By Plain Text
aquecimento (1)
fácil (13)
médio (97)
difícil (47)
extremo (15)
+
Por Texto Simples
aquecimento (1)
fácil (13)
médio (97)
difícil (47)
extremo (15)
> ✨ [Próximos desafios](https://github.com/type-challenges/type-challenges/issues?q=is%3Aissue+is%3Aopen+label%3Anew-challenge)
diff --git a/README.zh-CN.md b/README.zh-CN.md
index b3380e60d..cd18166c1 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -40,7 +40,7 @@
-
By Plain Text
热身 (1)
简单 (13)
中等 (97)
困难 (47)
地狱 (15)
+
通过纯文本
热身 (1)
简单 (13)
中等 (97)
困难 (47)
地狱 (15)
> ✨ [即将到来的新题目](https://github.com/type-challenges/type-challenges/issues?q=is%3Aissue+is%3Aopen+label%3Anew-challenge)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b72160112..6148626ef 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -75,6 +75,9 @@ importers:
'@type-challenges/octokit-create-pull-request':
specifier: ^0.1.9
version: 0.1.9
+ '@vitalets/google-translate-api':
+ specifier: ^9.2.0
+ version: 9.2.0
esno:
specifier: ^4.0.0
version: 4.0.0
@@ -84,9 +87,6 @@ importers:
fs-extra:
specifier: ^11.2.0
version: 11.2.0
- google-translate-open-api:
- specifier: ^1.3.7
- version: 1.3.7
js-yaml:
specifier: ^4.1.0
version: 4.1.0
@@ -886,6 +886,10 @@ packages:
'@types/node': 20.10.5
dev: true
+ /@types/http-errors@1.8.2:
+ resolution: {integrity: sha512-EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w==}
+ dev: false
+
/@types/js-yaml@4.0.9:
resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
dev: true
@@ -900,12 +904,6 @@ packages:
'@types/node': 20.10.5
dev: true
- /@types/keyv@3.1.4:
- resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
- dependencies:
- '@types/node': 20.10.5
- dev: false
-
/@types/lz-string@1.5.0:
resolution: {integrity: sha512-s84fKOrzqqNCAPljhVyC5TjAo6BH4jKHw9NRNFNiRUY5QSgZCmVm5XILlWbisiKl+0OcS7eWihmKGS5akc2iQw==}
deprecated: This is a stub types definition. lz-string provides its own type definitions, so you do not need this installed.
@@ -935,12 +933,6 @@ packages:
kleur: 3.0.3
dev: true
- /@types/responselike@1.0.0:
- resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
- dependencies:
- '@types/node': 20.10.5
- dev: false
-
/@types/semver@7.5.6:
resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
dev: true
@@ -1085,11 +1077,15 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
- /@vitalets/google-translate-token@1.2.0:
- resolution: {integrity: sha512-7MXRjMIWTH8XdIWRWj9IUwgYnd+VB5/herOgxNemSRzIJ6oaIeAxOSe0htw5S+OSm/gvCcUz2gq3SNBO0TufDA==}
+ /@vitalets/google-translate-api@9.2.0:
+ resolution: {integrity: sha512-w98IPWGuexlGmh8Y19AxF6cgWT0U5JLevVNDKEuFpTWtBC9z3YtDWKTDxF3nPP1k9bWicuB1V7I7YfHoZiDScw==}
+ engines: {node: '>=14'}
dependencies:
- configstore: 5.0.1
- got: 6.7.1
+ '@types/http-errors': 1.8.2
+ http-errors: 2.0.0
+ node-fetch: 2.6.7
+ transitivePeerDependencies:
+ - encoding
dev: false
/@vue/compiler-core@3.3.13:
@@ -1158,13 +1154,6 @@ packages:
hasBin: true
dev: true
- /agent-base@4.3.0:
- resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==}
- engines: {node: '>= 4.0.0'}
- dependencies:
- es6-promisify: 5.0.0
- dev: false
-
/ajv@6.12.4:
resolution: {integrity: sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==}
dependencies:
@@ -1207,16 +1196,6 @@ packages:
engines: {node: '>=8'}
dev: true
- /axios-https-proxy-fix@0.17.1:
- resolution: {integrity: sha512-ZsIVzZEndyNHQXMphMeyZi6AmwfxhyHqZIXmqpfA/Lea7P3DoPCzwnCVgvIVTJVlSONkIaGIunOO8oVI5d35UA==}
- dependencies:
- follow-redirects: 1.13.0
- https-proxy-agent: 2.2.4
- is-buffer: 1.1.6
- transitivePeerDependencies:
- - supports-color
- dev: false
-
/balanced-match@1.0.0:
resolution: {integrity: sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==}
dev: true
@@ -1283,11 +1262,6 @@ packages:
resolution: {integrity: sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==}
dev: true
- /capture-stack-trace@1.0.1:
- resolution: {integrity: sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==}
- engines: {node: '>=0.10.0'}
- dev: false
-
/chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -1368,31 +1342,12 @@ packages:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
- /configstore@5.0.1:
- resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==}
- engines: {node: '>=8'}
- dependencies:
- dot-prop: 5.2.0
- graceful-fs: 4.2.4
- make-dir: 3.1.0
- unique-string: 2.0.0
- write-file-atomic: 3.0.3
- xdg-basedir: 4.0.0
- dev: false
-
/core-js-compat@3.34.0:
resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==}
dependencies:
browserslist: 4.22.2
dev: true
- /create-error-class@3.0.2:
- resolution: {integrity: sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=}
- engines: {node: '>=0.10.0'}
- dependencies:
- capture-stack-trace: 1.0.1
- dev: false
-
/cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
@@ -1402,28 +1357,12 @@ packages:
which: 2.0.2
dev: true
- /crypto-random-string@2.0.0:
- resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
- engines: {node: '>=8'}
- dev: false
-
/cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
hasBin: true
dev: true
- /debug@3.2.6:
- resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.2
- dev: false
-
/debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -1451,6 +1390,11 @@ packages:
resolution: {integrity: sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==}
dev: true
+ /depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
/deprecation@2.3.1:
resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
dev: false
@@ -1469,17 +1413,6 @@ packages:
esutils: 2.0.3
dev: true
- /dot-prop@5.2.0:
- resolution: {integrity: sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==}
- engines: {node: '>=8'}
- dependencies:
- is-obj: 2.0.0
- dev: false
-
- /duplexer3@0.1.4:
- resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=}
- dev: false
-
/electron-to-chromium@1.4.616:
resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==}
dev: true
@@ -1494,16 +1427,6 @@ packages:
is-arrayish: 0.2.1
dev: true
- /es6-promise@4.2.8:
- resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==}
- dev: false
-
- /es6-promisify@5.0.0:
- resolution: {integrity: sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=}
- dependencies:
- es6-promise: 4.2.8
- dev: false
-
/esbuild@0.19.10:
resolution: {integrity: sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==}
engines: {node: '>=12'}
@@ -2078,11 +2001,6 @@ packages:
resolution: {integrity: sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==}
dev: true
- /follow-redirects@1.13.0:
- resolution: {integrity: sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==}
- engines: {node: '>=4.0'}
- dev: false
-
/fs-extra@11.2.0:
resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
engines: {node: '>=14.14'}
@@ -2117,11 +2035,6 @@ packages:
engines: {node: 6.* || 8.* || >= 10.*}
dev: true
- /get-stream@3.0.0:
- resolution: {integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=}
- engines: {node: '>=4'}
- dev: false
-
/get-stream@8.0.1:
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
engines: {node: '>=16'}
@@ -2175,34 +2088,6 @@ packages:
slash: 3.0.0
dev: true
- /google-translate-open-api@1.3.7:
- resolution: {integrity: sha512-eLFovCNaauuUb9xCqNuFCGZ5AaNnwO1td0M9YIvkt//rENRBRewRtVIdzH7ZXPbEAe8aH9k7PdkS2M6LFUe6Cw==}
- dependencies:
- '@vitalets/google-translate-token': 1.2.0
- axios-https-proxy-fix: 0.17.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /got@6.7.1:
- resolution: {integrity: sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=}
- engines: {node: '>=4'}
- dependencies:
- '@types/keyv': 3.1.4
- '@types/responselike': 1.0.0
- create-error-class: 3.0.2
- duplexer3: 0.1.4
- get-stream: 3.0.0
- is-redirect: 1.0.0
- is-retry-allowed: 1.2.0
- is-stream: 1.1.0
- lowercase-keys: 1.0.1
- safe-buffer: 5.2.1
- timed-out: 4.0.1
- unzip-response: 2.0.1
- url-parse-lax: 1.0.0
- dev: false
-
/graceful-fs@4.2.4:
resolution: {integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==}
dev: false
@@ -2246,14 +2131,15 @@ packages:
resolution: {integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==}
dev: true
- /https-proxy-agent@2.2.4:
- resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==}
- engines: {node: '>= 4.5.0'}
+ /http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
dependencies:
- agent-base: 4.3.0
- debug: 3.2.6
- transitivePeerDependencies:
- - supports-color
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
dev: false
/human-signals@5.0.0:
@@ -2282,6 +2168,7 @@ packages:
/imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
+ dev: true
/indent-string@4.0.0:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
@@ -2297,7 +2184,6 @@ packages:
/inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- dev: true
/is-alphabetical@1.0.4:
resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
@@ -2314,10 +2200,6 @@ packages:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
dev: true
- /is-buffer@1.1.6:
- resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
- dev: false
-
/is-builtin-module@3.2.1:
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
engines: {node: '>=6'}
@@ -2364,11 +2246,6 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
- /is-obj@2.0.0:
- resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
- engines: {node: '>=8'}
- dev: false
-
/is-path-inside@3.0.3:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
@@ -2384,30 +2261,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /is-redirect@1.0.0:
- resolution: {integrity: sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /is-retry-allowed@1.2.0:
- resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /is-stream@1.1.0:
- resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=}
- engines: {node: '>=0.10.0'}
- dev: false
-
/is-stream@3.0.0:
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
- /is-typedarray@1.0.0:
- resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=}
- dev: false
-
/isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
@@ -2533,11 +2391,6 @@ packages:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: true
- /lowercase-keys@1.0.1:
- resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==}
- engines: {node: '>=0.10.0'}
- dev: false
-
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
@@ -2556,13 +2409,6 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
- /make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
- dependencies:
- semver: 6.3.0
- dev: false
-
/mdast-util-from-markdown@0.8.5:
resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
dependencies:
@@ -2637,6 +2483,7 @@ packages:
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ dev: true
/nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
@@ -2860,11 +2707,6 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- /prepend-http@1.0.4:
- resolution: {integrity: sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=}
- engines: {node: '>=0.10.0'}
- dev: false
-
/prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -2954,20 +2796,11 @@ packages:
/run-parallel@1.1.9:
resolution: {integrity: sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==}
- /safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
- dev: false
-
/semver@5.7.1:
resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
hasBin: true
dev: true
- /semver@6.3.0:
- resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
- hasBin: true
- dev: false
-
/semver@7.3.7:
resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
engines: {node: '>=10'}
@@ -2984,6 +2817,10 @@ packages:
lru-cache: 6.0.0
dev: true
+ /setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ dev: false
+
/shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -2996,10 +2833,6 @@ packages:
engines: {node: '>=8'}
dev: true
- /signal-exit@3.0.3:
- resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==}
- dev: false
-
/signal-exit@4.1.0:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
@@ -3053,6 +2886,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
+ /statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+ dev: false
+
/string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -3109,11 +2947,6 @@ packages:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
- /timed-out@4.0.1:
- resolution: {integrity: sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=}
- engines: {node: '>=0.10.0'}
- dev: false
-
/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@@ -3125,6 +2958,11 @@ packages:
dependencies:
is-number: 7.0.0
+ /toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+ dev: false
+
/toml-eslint-parser@0.9.3:
resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3183,12 +3021,6 @@ packages:
engines: {node: '>=8'}
dev: true
- /typedarray-to-buffer@3.1.5:
- resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
- dependencies:
- is-typedarray: 1.0.0
- dev: false
-
/typescript@5.3.3:
resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
engines: {node: '>=14.17'}
@@ -3209,13 +3041,6 @@ packages:
'@fastify/busboy': 2.1.0
dev: false
- /unique-string@2.0.0:
- resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
- engines: {node: '>=8'}
- dependencies:
- crypto-random-string: 2.0.0
- dev: false
-
/unist-util-stringify-position@2.0.3:
resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
dependencies:
@@ -3236,11 +3061,6 @@ packages:
engines: {node: '>= 10.0.0'}
dev: false
- /unzip-response@2.0.1:
- resolution: {integrity: sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=}
- engines: {node: '>=4'}
- dev: false
-
/update-browserslist-db@1.0.13(browserslist@4.22.2):
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
@@ -3258,13 +3078,6 @@ packages:
punycode: 2.1.1
dev: true
- /url-parse-lax@1.0.0:
- resolution: {integrity: sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=}
- engines: {node: '>=0.10.0'}
- dependencies:
- prepend-http: 1.0.4
- dev: false
-
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
@@ -3335,20 +3148,6 @@ packages:
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- /write-file-atomic@3.0.3:
- resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
- dependencies:
- imurmurhash: 0.1.4
- is-typedarray: 1.0.0
- signal-exit: 3.0.3
- typedarray-to-buffer: 3.1.5
- dev: false
-
- /xdg-basedir@4.0.0:
- resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==}
- engines: {node: '>=8'}
- dev: false
-
/xml-name-validator@4.0.0:
resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
engines: {node: '>=12'}
diff --git a/questions/00002-medium-return-type/README.ja.md b/questions/00002-medium-return-type/README.ja.md
index f898bf766..a52cfe391 100644
--- a/questions/00002-medium-return-type/README.ja.md
+++ b/questions/00002-medium-return-type/README.ja.md
@@ -1,4 +1,4 @@
-
+by Anthony Fu @antfu
組み込みの型ユーティリティ`ReturnTypeby Anthony Fu @antfu
+by Anthony Fu @antfu
내장 제네릭 `ReturnTypeby Anthony Fu @antfu
+by Anthony Fu @antfu
Implement the built-in `ReturnTypeby Anthony Fu @antfu
+ +> Traduzido pelo Google, abra um PR para ajudar a melhorar a tradução. + +Implemente o genérico `ReturnTypeby Anthony Fu @antfu
+by Anthony Fu @antfu
不使用 `ReturnType` 实现 TypeScript 的 `ReturnTypeby Anthony Fu @antfu
+by Anthony Fu @antfu
組み込みの型ユーティリティ`Omitby Anthony Fu @antfu
+by Anthony Fu @antfu
`T`에서 `K` 프로퍼티만 제거해 새로운 오브젝트 타입을 만드는 내장 제네릭 `Omitby Anthony Fu @antfu
+by Anthony Fu @antfu
Implement the built-in `Omitby Anthony Fu @antfu
+ +> Traduzido pelo Google, abra um PR para ajudar a melhorar a tradução. + +Implemente o genérico `Omitby Anthony Fu @antfu
+by Anthony Fu @antfu
不使用 `Omit` 实现 TypeScript 的 `Omitby Anthony Fu @antfu
+by Anthony Fu @antfu
組み込みの型ユーティリティ`Pickby Anthony Fu @antfu
+by Anthony Fu @antfu
`T`에서 `K` 프로퍼티만 선택해 새로운 오브젝트 타입을 만드는 내장 제네릭 `Pickby Anthony Fu @antfu
+by Anthony Fu @antfu
Implement the built-in `Pickby Anthony Fu @antfu
+ +> Traduzido pelo Google, abra um PR para ajudar a melhorar a tradução. + +Implemente o genérico `Pickby Anthony Fu @antfu
+by Anthony Fu @antfu
不使用 `Pickby Anthony Fu @antfu
+by Anthony Fu @antfu
オブジェクトの読み取り専用キーの Union を返す汎用的な `GetReadonlyKeysby Anthony Fu @antfu
+by Anthony Fu @antfu
객체의 readonly key 유니언을 반환하는 `GetReadonlyKeysby Anthony Fu @antfu
+by Anthony Fu @antfu
Implement a generic `GetReadonlyKeysby Anthony Fu @antfu
+ +> Traduzido pelo Google, abra um PR para ajudar a melhorar a tradução. + +Implemente um `GetReadonlyKeysby Anthony Fu @antfu
+by Anthony Fu @antfu
实现泛型`GetReadonlyKeysby Anthony Fu @antfu