| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588 |
- // Generated by IcedCoffeeScript 1.7.1-c
- (function() {
- var DB, Lock, chain, constants, env, fs, iced, idb, iutils, k, log, make_esc, make_key, make_kvstore_key, make_lookup_key, mkdirp, path, util, v, __iced_k, __iced_k_noop, _db, _fn, _ref, _ref1,
- __slice = [].slice;
- iced = require('iced-runtime').iced;
- __iced_k = __iced_k_noop = function() {};
- env = require('./env').env;
- fs = require('fs');
- path = require('path');
- _ref = require('iced-error'), chain = _ref.chain, make_esc = _ref.make_esc;
- mkdirp = require('./fs').mkdirp;
- iutils = require('iced-utils');
- Lock = iutils.lock.Lock;
- util = require('pgp-utils').util;
- log = require('./log');
- constants = require('./constants').constants;
- idb = require('iced-db');
- make_key = function(_arg) {
- var id, table, type;
- table = _arg.table, type = _arg.type, id = _arg.id;
- return [table, type, id].join(":").toLowerCase();
- };
- make_kvstore_key = function(_arg) {
- var key, type;
- type = _arg.type, key = _arg.key;
- type || (type = key.slice(-2));
- return make_key({
- table: "kv",
- type: type,
- id: key
- });
- };
- make_lookup_key = function(_arg) {
- var name, type;
- type = _arg.type, name = _arg.name;
- return make_key({
- table: "lo",
- type: type,
- id: name
- });
- };
- DB = (function() {
- function DB(_arg) {
- this.filename = _arg.filename;
- this.lock = new Lock;
- }
- DB.prototype.get_db = function() {
- var db;
- return db = new idb.DB({
- root: this.get_filename(),
- json: true
- });
- };
- DB.prototype.get_filename = function() {
- this.filename || (this.filename = env().get_db_filename());
- return this.filename;
- };
- DB.prototype._upgrade = function(cb) {
- var err, f, so, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- f = env().get_nedb_filename();
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB._upgrade"
- });
- fs.stat(f, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return so = arguments[1];
- };
- })(),
- lineno: 44
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- (function(__iced_k) {
- if (typeof err === "undefined" || err === null) {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB._upgrade"
- });
- fs.unlink(f, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return err = arguments[0];
- };
- })(),
- lineno: 46
- }));
- __iced_deferrals._fulfill();
- })(function() {
- return __iced_k(typeof err !== "undefined" && err !== null ? log.warn("Error deleting old DB file " + f + ": " + err) : log.info("Deleting old DB " + f));
- });
- } else {
- return __iced_k();
- }
- })(function() {
- return cb(err);
- });
- };
- })(this));
- };
- DB.prototype.open = function(cb) {
- var err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- err = null;
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.open"
- });
- _this._upgrade(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return err = arguments[0];
- };
- })(),
- lineno: 57
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- (function(__iced_k) {
- if (_this.db == null) {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.open"
- });
- _this._open(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return err = arguments[0];
- };
- })(),
- lineno: 58
- }));
- __iced_deferrals._fulfill();
- })(__iced_k);
- } else {
- return __iced_k();
- }
- })(function() {
- return cb(err);
- });
- };
- })(this));
- };
- DB.prototype.unlink = function(cb) {
- var db, err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- db = this.get_db();
- log.info("Purging local cache: " + db.root);
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.unlink"
- });
- db.drop(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return err = arguments[0];
- };
- })(),
- lineno: 66
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- return cb(err);
- };
- })(this));
- };
- DB.prototype.close = function(cb) {
- return cb(null);
- };
- DB.prototype._open = function(cb) {
- var err, esc, fn, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- esc = make_esc(cb, "DB::open");
- err = null;
- fn = this.get_filename();
- log.debug("+ opening database file: " + fn);
- this.db = this.get_db();
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB._open"
- });
- _this._init_db(esc(__iced_deferrals.defer({
- lineno: 82
- })));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- log.debug("- DB opened");
- return cb(null);
- };
- })(this));
- };
- DB.prototype.put = function(_arg, cb) {
- var debug, err, hkey, json, key, kvsk, lk, name, names, obj, tmp, type, value, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- type = _arg.type, key = _arg.key, value = _arg.value, name = _arg.name, names = _arg.names, debug = _arg.debug, json = _arg.json;
- kvsk = make_kvstore_key({
- type: type,
- key: key
- });
- if (debug) {
- log.debug("| DB put value " + kvsk);
- }
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.put"
- });
- _this.db.put({
- key: kvsk,
- value: value,
- json: json
- }, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return obj = arguments[1];
- };
- })(),
- lineno: 91
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- (function(__iced_k) {
- if (typeof err === "undefined" || err === null) {
- hkey = obj.hkey;
- if ((name != null) && (names == null)) {
- names = [name];
- }
- (function(__iced_k) {
- if (names && names.length) {
- (function(__iced_k) {
- var _i, _len, _ref1, _results, _while;
- _ref1 = names;
- _len = _ref1.length;
- _i = 0;
- _results = [];
- _while = function(__iced_k) {
- var _break, _continue, _next;
- _break = function() {
- return __iced_k(_results);
- };
- _continue = function() {
- return iced.trampoline(function() {
- ++_i;
- return _while(__iced_k);
- });
- };
- _next = function(__iced_next_arg) {
- _results.push(__iced_next_arg);
- return _continue();
- };
- if (!(_i < _len)) {
- return _break();
- } else {
- name = _ref1[_i];
- lk = make_lookup_key(name);
- if (debug) {
- log.debug("| DB put lookup: " + lk + " -> " + hkey);
- }
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.put"
- });
- _this.db.put({
- key: lk,
- value: hkey
- }, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return tmp = arguments[0];
- };
- })(),
- lineno: 99
- }));
- __iced_deferrals._fulfill();
- })(function() {
- return _next((typeof tmp !== "undefined" && tmp !== null) && (typeof err === "undefined" || err === null) ? err = tmp : void 0);
- });
- }
- };
- _while(__iced_k);
- })(__iced_k);
- } else {
- return __iced_k();
- }
- })(__iced_k);
- } else {
- return __iced_k();
- }
- })(function() {
- return cb(err);
- });
- };
- })(this));
- };
- DB.prototype.remove = function(_arg, cb) {
- var err, k, key, optional, type, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- type = _arg.type, key = _arg.key, optional = _arg.optional;
- k = make_kvstore_key({
- type: type,
- key: key
- });
- err = null;
- log.debug("+ DB remove " + k);
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.remove"
- });
- _this.db.del({
- key: k
- }, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return err = arguments[0];
- };
- })(),
- lineno: 112
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- if ((err != null) && (err instanceof idb.E.NotFoundError) && optional) {
- log.debug("| No object found for " + k);
- err = null;
- }
- log.debug("- DB remove " + k + " -> " + err);
- return cb(null);
- };
- })(this));
- };
- DB.prototype.find1 = function(q, cb) {
- var err, value, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- err = value = null;
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.find1"
- });
- _this.db.get(q, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return value = arguments[1];
- };
- })(),
- lineno: 125
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- if ((err != null) && (err instanceof idb.E.NotFoundError)) {
- err = null;
- } else if (err != null) {
- }
- return cb(err, value);
- };
- })(this));
- };
- DB.prototype.get = function(_arg, cb) {
- var err, json, k, key, type, value, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- type = _arg.type, key = _arg.key, json = _arg.json;
- k = make_kvstore_key({
- type: type,
- key: key
- });
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.get"
- });
- _this.find1({
- key: k,
- json: json
- }, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return value = arguments[1];
- };
- })(),
- lineno: 134
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- return cb(err, value);
- };
- })(this));
- };
- DB.prototype.lookup = function(_arg, cb) {
- var err, k, name, type, value, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- type = _arg.type, name = _arg.name;
- k = make_lookup_key({
- type: type,
- name: name
- });
- err = value = null;
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.lookup"
- });
- _this.find1({
- key: k
- }, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return value = arguments[1];
- };
- })(),
- lineno: 142
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- (function(__iced_k) {
- if ((err == null) && (value != null)) {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB.lookup"
- });
- _this.find1({
- hkey: value
- }, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return value = arguments[1];
- };
- })(),
- lineno: 144
- }));
- __iced_deferrals._fulfill();
- })(__iced_k);
- } else {
- return __iced_k();
- }
- })(function() {
- return cb(err, value);
- });
- };
- })(this));
- };
- DB.prototype._init_db = function(cb) {
- var esc, made, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- log.debug("+ DB::_init_db");
- esc = make_esc(cb, "DB::_init_db");
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/db.iced",
- funcname: "DB._init_db"
- });
- _this.db.create(esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return made = arguments[0];
- };
- })(),
- lineno: 152
- })));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- log.debug("- DB::_init_db -> " + made);
- return cb(null);
- };
- })(this));
- };
- return DB;
- })();
- exports.db = _db = new DB({});
- exports.DB = DB;
- _ref1 = DB.prototype;
- _fn = function(key) {
- return exports[key] = function() {
- var args;
- args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
- return _db[key].apply(_db, args);
- };
- };
- for (k in _ref1) {
- v = _ref1[k];
- _fn(k);
- }
- }).call(this);
|