TypeScript

[TypeORM] One to Manyのsaveメソッドで不要になった子オブジェクトを自動で消す

  • 2021.10.22

TypeORMで、One to Manyのリレーションを使う時、子のオブジェクトもまとめて登録・更新したい時は、以下のように記述するかと思います(コードはあくまでイメージです)。 前提:idが1、2のbookが既に存在している この時、bookテーブルの各レコードへの期待する動作としては、以下のようになると思います。 id1:削除 id2:更新 id3:新規作成 ただ、TypeORMのデフォルトの […]

JestのクラスのモックをTypeScriptで使用する

  • 2021.03.14

TypeScriptのプロジェクトで、Jestを使ってテストを書いているのですが、基本的なクラスのモックの使い方や、モックのメソッドに渡された引数のチェックのしかたが最初わからなかったので、動作するようになった結果をメモ。 前提として、Service層とRepository層にレイヤ分けされた構造において、Repository層のクラスをモックにして、Service層のテストをしたい場合を想定して […]

TypeORMのタイムゾーンをUTCに設定する

  • 2021.02.16

結論 ormconfig.jsに以下を追記する GitHubに上がっている公式のドキュメントに記載の通り、デフォルトは”local”になっており、ユーザのローカルのタイムゾーンが使われる。ちなみに、Zは「グリニッジ標準時<GMT>」を意味する略語。 timezone – the timezone configured on the MySQL serv […]

TypeORMでリレーション先のエンティティのidを使って検索する

  • 2021.02.13

TypeORMはまだ使用歴が浅く、1対多などのリレーションの関係があった時に、リレーション先のエンティティのidで検索する方法がドキュメントに見つからずぱっとわからなかったのでメモ。 試したこと まずは、取得したい対象のエンティティがuserエンティティと1対多の関係にあるという前提で、以下のように書いてみました。この記述だけでいける、といった内容記事が割と多くみられました。 しかし、これを記述し […]

TypeScriptでDIしてみた

  • 2021.02.08

先日のLT会用に作った資料を貼り付けます。 3分間のLTなので、内容薄めになっています。ご質問や間違っている点などありましたらコメントいただければと思います。