tag: TypeScript  1/1

SequelizeをTypeScriptで動かす2

1月に「SequelizeをTypeScriptで動かす」って自分でinterface定義して動かす手順を書いたけど、その後 sequelize-typescript なるそのものズバリで、遥かに使いやすく今風になったライブラリを見つけたので、改めてそっちの紹介やら手順を解説する。…といっても、ぶっちゃけ凄く簡単に入って動いたので、ごく簡単にだけ。まず、インストールはnpmから入れるだけで公式見れば済むので割愛。次、モデル定義はこんな感じ。models/admi...

TypeScriptで作るアノテーションだらけのWebアプリ

先日TypeScriptのORMとして TypeORM というものを発見。これのサンプルを見ていたところ、さらに TypeDI やら routing-controllers というライブラリ群を組み合わせることで、今までのJavaScript界とは打って変わったアノテーション(デコレーター)だらけのJavaっぽい、イケてるWebアプリを作れることが判明したので、その紹介をする。まずは概要。TypeORMTypeScript用のO/Rマッパー。動的言語で人気のActive Record…ではなく、ア...

Angular2でパスワード再入力みたいなバリデーションを作る(改)

Angular2/4の標準のバリデータには、複数のフォームを比較するみたいなものは用意されてないっぽいので、それの作り方。イケてないバージョンを経て、ng2-validation のソース見て作成。というかもう ng2-validation の equalTo 再実装して解説に近いけど以下解説。まず最初にサンプルソースの抜粋から。こんな感じ。equals-validator.directive.tsimport { Directive, Input, forwardRef, Attribute } from '@angular/core';impor...

[旧版]Angular2でパスワード再入力みたいなバリデーションを作る

Angular2/4の標準のバリデータには、複数のフォームを比較するみたいなものは用意されてないっぽいので、それの作り方。参考にしたのはこちらのページ。でもところどころ改良したので、以下説明。※ よりイケてる実装発見したのでそちらをご覧ください。この記事は参考用&自省用に残します。まず最初にサンプルソースの抜粋から。こんな感じになる。equals-validator.directive.tsimport { Directive, forwardRef, Attribute } ...

TypeScriptでEventEmitterイベントの型を指定する方法

最近人のソースを見てようやく知ったのだが、JavaScriptでよく見かけるイベント( on('close', ~) とか)は EventEmitter なるものを継承して実装するものだそうで、、、自前でやってたわ(汗で、早速TypeScriptでも使おうとしたものの、イベント引数の型の指定の方法に難儀したので、その方法を書いておく。まず大前提として、TypeScriptには「Overload on constants」なる、第1引数の値に応じて第2引数以降の型を定義する機能が...

Promiseのオブジェクトを判定する方法

TypeScriptでちょっとしたライブラリを作ってたのだけど、いざそれをJavaScriptのアプリに組み込んで使ったところ、Promiseがうまく判定できずトラぶったのでメモ。今回やりたかった事はこんな感じの、Promiseだったらそのまま、PromiseじゃなかったらPromise.resolve()でラップして返すみたいな、callback的な処理で戻り値の型を統一するような奴。(実際のコードはcatchを付けてたりともっと複雑。このサンプルだと端折り過ぎで...

SequelizeをTypeScriptで動かす

JavaScript で一番メジャーらしいORMの Sequelize を TypeScript でも動かしてみたので、その手順とかあれこれ。→ 追記)sequelize-typescript なるものが出てきたのでそちらを使う手順を推奨なお、Qiitaにも2015年の解説記事があり、自分も参考にさせて頂いたのだけど、バージョンが上がって?微妙に定義が変わったりしてて(TPojo→TAttributesとかSequelize.Instanceの型が違うとか)混乱したので、2016年末時点の情報ということ...

TypeScriptの個人的tips

年末年始の貴重な休みを使い、何を思ったかTypeScriptでWebアプリを作っていて、とりあえず完成はしてないけど一段落したので、そこで得たtipsをまとめておく。なお、tipsの使用例を見たい場合は↑のGitHubのソースを参照してください。以下目次。今回はそんな大した話はない。型も使えるJavaScriptとしてゆるく使う引数/戻り値の型はきっちり書く型定義ファイルは@typesで参照する型に困ったらanyにキャストmodule.exports ≠ expor...