About Cosense
Help
Log in
sudow
V
a
l
i
b
o
t
h
t
t
p
s
:
/
/
v
a
l
i
b
o
t
.
d
e
v
/
T
y
p
e
S
c
r
i
p
t
の
型
情
報
を
も
と
に
し
て
V
a
l
i
d
a
t
i
o
n
が
で
き
る
ラ
イ
ブ
ラ
リ
Z
o
d
よ
り
軽
量
ら
し
い
Related
Sort by
Related
Modified
Created
Last visited
Most linked
Page rank
Title
Links
Zod
https://github.com/colinhacks/zod[TypeScript]の型情報をもとにして[Validation]ができるライブラリ
TypeScript
TypeScript
Biome
https://biomejs.dev/ja/#Lint#Format#JavaScript#TypeScript
TypeScriptのtypeとinterface
TypeScript Origins
Bun
NestJS
> A progressive [Node.js] framework for building efficient, reliable and scalable server-side applications.https://nestjs.com/[NestJSを使い始めて1年くらい経った https://www.docswell.com/s/watti/ZJLL1N-2023-04-01-145217]
Deno
英語: https://deno.land/日本語: https://deno-ja.vercel.app/A modern runtime for [JavaScript] and [TypeScript].Node.js における設計ミス By Ryan Dahlhttps://yosuke-furukawa.hatenablog.com/entry/2018/06/07/080335
CommonJS と ES Module
[https://qiita.com/rooooomania/items/4c999d93ae745e9d8657 # CommonJS と ES6の import/export で迷うなら - Qiita]もともと[Node.js]ではCommonJSが使われていた。TypeScript環境でrequireを使うとanyになる(?)#TypeScript
Jest
[Facebook]製の[JavaScript]テストフレームワークts-jest をいれると [TypeScript] でも使える。describetest or itexpect
tsconfig.json
[https://book.yyts.org/handson/tsconfig.json-settings tsconfig.jsonを設定する - サバイバルTypeScript-TypeScript入門][https://www.typescriptlang.org/docs/handbook/tsconfig-json.html TypeScript: Documentation - What is a tsconfig.json]
ES Modules
https://www.typescriptlang.org/docs/handbook/2/modules.html`import`, `export` がトップレベルにあればモジュールとして扱われる。そうでない場合はスクリプトとして扱われる。モジュールは変数や型がスコープ内に収まるが、スクリプトはグローバルになる。CommonJS は`module.exports = { key: 'value' }` といった形式でエクスポート
enumよりstring literalを使ったほうがいい
(※個人の感想です)https://www.typescriptlang.org/docs/handbook/advanced-types.htmlswagger-codegenで `string-enums and string-unions` について議論されているIssueがあった(ちょっとString literalを使いたい動機が違うっぽいけど)https://github.com/swagger-api/swagger-codegen/pull/6233
const assertions
`as const` という記法。TypeScript 3.4から入った便利機能。`typeof` と組み合わせるとコード中に現れる型だけを書き直すということ場面が減って便利。参考: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#TypeScript
Promise.all()でfail-fastしたくないときの対処法
普通に`Promise.all([ promise1, promise2 ])`と書いてしまうと、どれか失敗したときに失敗しなかった実行結果を取得できないので、成否に関わらず全部実行し終えるまで待ってほしいときにどうするか問題について。参考情報: https://stackoverflow.com/questions/31424561/wait-until-all-es6-promises-complete-even-rejected-promises
TypeScriptの型の参考資料
この辺をざっと見るとわかる(全部見ようとすると数日かかる)Typescriptの型入門https://qiita.com/uhyo/items/e2fdef2d3236b9bfe74aTypeScriptの型初級https://qiita.com/uhyo/items/da21e2b3c10c8a03952f
TypeScript Meetup #3
2019/10/2https://typescript-jp.connpass.com/event/146155/>タイムテーブル> 時間 発表者> 19:10 受付開始・開場
TypeScriptのEnumとNamespace
この2つだけがトランスパイル後のコードに影響を与える構文らしい。#TypeScript
Discriminated Unions
以下、[Advanced Types]から引用#TypeScript
defaultでexportしたほうがいい場合
と、そうでない場合ってどういう場面だろうか?defaultでexportしている場合importしたい(もしくはしたくない)ファイルを編集しているときに補完の候補として出てこない他の名前としてimportしやすいが、Typoしていても気付かない(ちなみにdefaultじゃなくても`as`を使えば別名でimportすることができる)#TypeScript
TypeGuard
以下、[Advanced Types]から引用User−Defined Type Guardstypeof Type Guardinstanceof TypeGuard#TypeScript
Xしてみて駄目ならYする
[/masui/Xしてみて駄目ならYする]#TypeScript#Advanced_Types
漸進的型付け
#TypeScript
JavaScriptの"..."
[スプレッド構文]というらしい。https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Spread_syntaxTypeScriptでも同様object spreadhttps://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-1.html
Validation
JavaScriptのvalidationライブラリ
大きく分けて2種類ある。(`javascript validation` とかでググると完全に混ざるので紛らわしい)オブジェクトのバリデーションも出来るもの(WebAPIなどでリクエストのJSONをパースしたオブジェクトが期待したフォーマットになっているかチェックするためのもの)[Joi][ajv] ( + [Quicktype])[v8n]
Created
2 years ago
by
sudow
Updated
2 years ago
by
sudow
Views: 75
Page rank: 3
Copy link
Copy readable link
Start presentation
Hide dots
Valibot
https://valibot.dev/
TypeScript
の型情報をもとにして
Validation
ができるライブラリ
Zod
より軽量らしい