storage の覚書き
storage は また 使いそうなので覚書き
- storage.newMap(key, store)
- ObjectStore の 新規作成 あるいは 取得
- ObjectStore は storage[key] や storage.key で アクセスできる
- store
- true で ファイルに保存です。
- false で 保存されないので再起動で消えちゃいます。
- 最初に確保した時点で 保存の有無は確定のようで途中で切り替えできない
- ObjectStore
- set(key, val)
- key に val を 保存する
- 新規追加なら"add" Eventが 発生、上書きなら"change" Event が発生
- store が true の場合 実行したら勝手に保存される
- remove(key)
- key を 削除して "remove" Event が 発生
- store が true の場合 実行したら勝手に保存される
- get(key)
- key の Objectを 取得
- clear()
- データのクリア
- store が true でも 保存されないので 明示的に 保存する必要がある
- set(key, val)
- storage.newArray(key,store)
- ArrayStore の 新規作成 あるいは 取得
- store が true で ファイルに保存
- ArrayStore
- set(index, value)
- array[index] に value 代入
- change Event 発生:
- push(value)
- push する
- Array.push みたいに push(1,2,3,4) は できない
- push Event 発生
- pop()
- pop する
- pop Event 発生
- truncate(length, fromEnd)
- 配列の長さを短くする(拡張はできない)
- [1,2,3,4,5,6] に truncate(3) で [1,2,3] になる
- fromEnd が true で 後ろから
- [1,2,3,4,5,6] に truncate(3, true) で [4,5,6] になる
- truncate Event 発生
- 配列の長さを短くする(拡張はできない)
- mutate(aFuncName)
- Array の 関数実行?
- 例(使い方がさっぱりだったので vimperator内をgrep して参考)
- mutate("filter", function(val) val > 3) で [1,2,3,4,5,6] を [4,5,6] とできるみたい
- change Event 発生
- get(index)
- index 番目の 値取得
- 負の場合は末尾から
- set(index, value)
ArrayStoreのmutate がさっぱり わかりません。
あと、ObjectStore に XML が 使えないことが 残念です。
storage.newXML あたりを 実装して xpath で 取得できて 更新が できたら 便利かな?