
172
6
章 オブジェクト指向デザインパターンの
Node.js
への適用
const levelSubscribe = require('./levelSubscribe'); //
❷
let db = level(__dirname + '/db', {valueEncoding: 'json'});
db = levelSubscribe(db);
db.subscribe(
{doctype: 'tweet', language: 'en'}, //
❸
(k, val) => console.log(val)
);
db.put('1', {doctype: 'tweet', text: 'Hi', language: 'en'}); //
❹
db.put('2', {doctype: 'company', name: 'ACME Co.'});
詳しく見ていきましょう。
❶
まず
LevelUP
デー
タベースを初期化し、ファイルを保存するディレクトリと値のデフォルトエン
コーディングを選択する
❷
次に、プラグインを付加して、元のオブジェクト
db
をデコレートする
❸
この時点でブラグインが提供する新たな機能、メソッド
subscribe()
が利用できるようになっ
ている。このメソッドで
doctype: 'tweet'
と
language: 'en'
が含まれるすべてのオブジェ
クトに関心があることを登録する
❹
最後に
put
を使ってデータベースに値を保存する。最初の呼び出しは、登録に結びつけたコー
ルバ