現在ドキュメントは制作段階にあるため、多くの情報が不完全なものになっています
報告は Discord までお願いしますテーブル
概要
キーと値のペアでデータを保存します
定義
から定義することができますomu.tables.json<T>(name, options)
- T?: データの型
- name: テーブルの名前。同じ名前で複数のテーブルを作ることはできません
- options
- key: 型Tを引数に取り識別子となるキーを返す関数
以下が定義例です
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
アイテムの操作
を使ってすべてのアイテムを削除します.clear()
, .add(...items)を使ってアイテムを追加、編集します.update(...items)
addとupdateはどちらも値を更新しますが、呼び出されるイベントが異なります
を使ってアイテムを削除します.remove(...items)
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
アイテムの取得
を使ってすべてのアイテムを取得します
.fetchAll()を使って指定した量のアイテムを取得します.fetchItems({ limit, backward?, cursor? })
- limit: 最大アイテム取得数制限
- backward?: 最後に追加されたアイテムから取得するかどうか
- cursor?: 取得する起点となるアイテムのキー
を使って指定した範囲のアイテムを取得します.fetchRange({ start, end })
- start: 取得範囲の最初のキー
- end: 取得範囲の最後のキー
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
イベントを受け取る
で追加、更新、削除などを監視できます。戻り値の関数を呼び出すと、そのリスナーを解除できます。on(event, listener)
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
利用できるイベントは次のとおりです。
| イベント | 内容 |
|---|---|
| アイテムが追加された |
| アイテムが更新された |
| アイテムが削除された |
| テーブルが空になった |
| ローカルキャッシュが更新された |
同じ関数を指定してから解除することもできます。off()
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
継続的に購読する
を呼ぶとサーバーからの変更を継続的に受信し、テーブルのキャッシュへ反映します。コールバックを渡すと、キャッシュ更新時にも呼び出されます。listen()
1 | |
2 | |
3 | |
4 | |
5 | |
すべてのアイテムを順番に処理する
データ量が多い場合はを使うと、すべてのアイテムを一度に読み込まず順番に処理できます。iterate()
1 | |
2 | |
3 | |
キャッシュ
からローカルに読み込まれている値を同期的に取得できます。キャッシュにない値もあるため、確実に取得する場合はcacheやget()を使ってください。fetchItems()
1 | |
2 | |
3 | |