'use strict';

import { createError, MISSING_DOC } from 'pouchdb-errors';

import {DOC_STORE} from './util';

export default function (db, id, callback) {
  var txn = db.transaction([DOC_STORE], 'readonly');
  var req = txn.objectStore(DOC_STORE).get(id);
  req.onsuccess = function (e) {
    if (!e.target.result) {
      callback(createError(MISSING_DOC));
    } else {
      callback(null, e.target.result.rev_tree);
    }
  };
}
