Phonegap Storage APIのAngularJS wrapperを書いた

書いた。

https://github.com/fumitoito/angularjs-phonegapStorage

なお、Phonegap 2.9.0 Storage API に準拠している。

経緯とか

PhonegapのStorage APIにはお亡くなりになったWeb SQLと、いまなお健在であるWeb Storage の両方が含まれている。
もともとはWeb Storageだけを利用するつもりでアプリ開発をしていたのだが、もろもろの関係でやっぱり5MBの容量制限はなかなか厳しい、ということになって急遽作成した。

というわけで現行ではWeb SQLだけに対応している。今後、気が向いたら機能を追加するかもしれない。
が、そもそも扱いが簡単なWeb Storageに対してラッパーの需要ってあるのだろうか。

特徴とか

Web SQLAPIはCallbackを利用するものが多いので、ほぼすべてのオブジェクトに対して$qでPromiseオブジェクトを返すようにしてある。TransactionもPromiseがかえってくるので、たとえば複数のトランザクションを配列にしておいて $q.all(promiseies, callback) ですべての処理が成功したときの挙動を記述できるようになっている。

今後の予定とか

  • Transaction の SuccessCallback にわたってくるTransactionオブジェクトがPromiseを返すようになっていないので、返すようにする
  • 異常時の処理が適当なのでテストを書く
  • bowerに登録する