is.jsで簡単にデータをチェックする
何でもできる巨大なJavaScriptフレームワークがあふれる中、is.jsという小さなライブラリのニーズは高まっているかもしれない。このライブラリは100を超えるデータチェックを、小さな使いやすいパッケージとして提供する。
「日々の開発で使いそうなデータチェックを書きました」is.jsの作者であるAras Atasaygin氏はこう語る。このライブラリを使うには、is.min.jsファイル(ミニマイズして13KB)をプロジェクトに入れ、次のように問い合わせればよい。
is.capitalized("Yes it is");
今のところ、is.function()
のような型チェックからis.inNextYear()
のような日付チェックまで、多岐にわたるチェックが可能になっている。現在、100以上の様々な型、存在、正規表現、文字列、数値、環境をチェックすることができ、その数はますます増えている。チェックには信頼性の高いものもあれば、そうでないものもある。たとえば、メールアドレスの正規表現は、ブラウザが夏時間かどうか判断するのと同様、完全に正しくチェックするは難しいことが知られている。
is.jsには単純なチェックだけでなく、all
やany
といったアダプタも含まれている。複数のパラメータと組み合わせて使うことで、パラメータのすべてが、もしくはいずれかがパスするかどうかをかェックできる。チェックの真偽を反転するnot
も使える。
ライブラリに含まれているチェックにはそれほど複雑なものはなく、多くの開発者は自分のニーズに特化した1回限りのチェックライブラリを作ってきただろう。だがis.jsを使うことで時間を節約できるかもしれない。このライブラリにはRegExチェックがたくさん含まれており、よく使われるものがデフォルトで多数用意されている。たとえば、文字列がURLかどうかをチェックするには、以下のようにすればよい。
is.url("http://www.infoq.com");
チェックの大半は正規表現(固定の文字列)に基づいているため、コードをミニマイズすることができない。そのために、新しいチェックが追加されていくにつれ、ライブラリが肥大化するおそれがある。Atasaygin氏は「コントリビュータからの提案に耳を傾け、必要ならモジュール化機能を追加するかもしれません」と言っている。
「現在、プルリクエストから新たなチェックを追加しつつ、次にどうすべきかコミュニティの意見を聞いているところです」Atasaygin氏はそう語る。is.jsプロジェクトはGitHub上にある。
特集コンテンツ一覧
実例で学ぶGS Collections – Part 2
Donald Raab 2014年11月20日 午後8時3分
実例で学ぶGS Collections – Part 1
Donald Raab 2014年10月23日 午前2時24分
プロジェクトインセプション - 協力体制を作るミーティングの方法
James Bayer 2014年10月14日 午後7時57分
カンバンはどのように動作するか
Amr Noaman Abdel-Hamid 2014年9月7日 午後7時43分
自己組織化チームはなぜ必要か?
Sigi Kaltenecker and Peter Hundermark 2014年8月31日 午前2時2分
効果的なテストの文化を創る
Wes McClure 2014年8月31日 午前1時54分
こんにちは
コメントするには InfoQアカウントの登録 または ログイン が必要です。InfoQ に登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。
あなたの意見をお聞かせください。