mk-toolブログ

エンジニアと家のことをごちゃごちゃと書いてます

TypeScript

Sequelizeで多対多のテーブルジョインを定義する

一つの記事には複数の著者が存在し(共同著者)、著者には複数の記事が結びつく場合、中間テーブルを利用して多対多の状態をつくれるようにしなければならない。 そのように行う方法を説明する。 これには、 belongsToMany を利用することで多対多のデータ構造…

resolveJsonModuleでDate型を使いたい

resolveJsonModule では json を読みこみ、 typeof を与えてあげることで、モックデータから型を自動で生成してくれる。 しかしながら、 json を読み込む部分では、 Date 型を扱いたくても、 string と判定されてしまう。 { ... createdAt: "2000-01-01 00:0…

SequelizeでwhereHasを行う

include内のrequired値をtrueにすることでwhereHasと同じ挙動の動作をさせることができる。 falseの場合は、ORMのリレーションの結果が0件でも取得できる。 attributesを[]にすることで、whereHasだけを利用することも可能。 XXX.findAll({ where: findAllPa…

ReactはNativeでtypescript対応したらしい

下記のQiita記事でReactをTSで開発する時の初期状態を作るコマンドが乗っていた。 ReactとTSの環境を整えるにはReactやTSのパッケージをいれたり、としないといけなかったのに、コマンド一つでプロジェクトを作成することができ、随分と楽になったんだなぁ、…

TypeScriptで"SyntaxError: Unexpected identifier "と言われたら

以下のようなエラーにさいなまれた際の対応方法。 SyntaxError: Unexpected identifier or SyntaxError: Unexpected * or SyntaxError: Unexpected token import この問題が発生する原因は、トランスパイルされた js ファイルをNodeが実行できないため。 試…

index.d.tsの使い道

index.d.ts とは でぐぐったものの、核心に迫るような記事を見つけることができなかったので、まとめる。 index.d.ts は、 node_modules/@types 以下のディレクトリに入れられているモジュール群の中で使われていることをよく目にする。 中身を見てみると、…

jestを扱う上で参考にしたサイト

package.jsonの設定はこのQiita記事を参考にした restify + TypeScript + Jestの開発環境をセットアップしてみる - Qiita axiosを使ったりDB連携で参考にした Jestでテストを書こう! setupとteardown、jestの公式ドキュメント Setup and Teardown · Jest わ…

Typescriptでラムダ式を使う

概要 ラムダ式を利用して、配列的な値を返してあげたいときに以下のエラーが出たので対応方法をメモ&共有。 [ts] Unused label 解決策 以下のようなことをしたい。 const hoge = (aaa: any) => {bbb: aaa.ccc}; このときに戻り値を()で囲ってあげる必要があ…

【Typescript】[ts] Generators are only available when targeting ECMAScript 2015 or higher.がでた

redux-sagaを利用する際に、 export function* helloSaga() : void{ console.log("hello saga"); } を書いたら、 [ts] Generators are only available when targeting ECMAScript 2015 or higher. って言われた。 "target": "es6", を書いてあげればOK。