rollun-ts-datastore
Version:
rollun-datastore written in TS
144 lines (122 loc) • 3.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _LocalDataClient = _interopRequireDefault(require("../clients/LocalDataClient"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var LocalDatastore = function () {
function LocalDatastore(options) {
_classCallCheck(this, LocalDatastore);
_defineProperty(this, "identifier", '');
_defineProperty(this, "client", void 0);
this.client = new _LocalDataClient["default"](options);
}
_createClass(LocalDatastore, [{
key: "count",
value: function count() {
var _this = this;
return new Promise(function (resolve, reject) {
try {
resolve(_this.client.getDataLength());
} catch (e) {
reject(e);
}
});
}
}, {
key: "create",
value: function create(item) {
var _this2 = this;
return new Promise(function (resolve, reject) {
try {
resolve(_this2.client.create(item));
} catch (e) {
reject(e);
}
});
}
}, {
key: "delete",
value: function _delete(id) {
var _this3 = this;
return new Promise(function (resolve, reject) {
try {
resolve(_this3.client["delete"](id));
} catch (e) {
reject(e);
}
});
}
}, {
key: "has",
value: function has(id) {
var _this4 = this;
return new Promise(function (resolve, reject) {
try {
resolve(!!_this4.client.read(id));
} catch (e) {
reject(e);
}
});
}
}, {
key: "query",
value: function query(_query) {
var _this5 = this;
return new Promise(function (resolve, reject) {
try {
resolve(_this5.client.get(_query));
} catch (e) {
reject(e);
}
});
}
}, {
key: "read",
value: function read(id) {
var _this6 = this;
return new Promise(function (resolve, reject) {
try {
resolve(_this6.client.read(id));
} catch (e) {
reject(e);
}
});
}
}, {
key: "update",
value: function update(item) {
var _this7 = this;
return new Promise(function (resolve, reject) {
try {
resolve(_this7.client.update(item));
} catch (e) {
reject(e);
}
});
}
}, {
key: "rewrite",
value: function rewrite(item) {
var _this8 = this;
return new Promise(function (resolve, reject) {
try {
if (_this8.client.read(item[_this8.identifier])) {
resolve(_this8.client.update(item));
} else {
resolve(_this8.client.create(item));
}
} catch (e) {
reject(e);
}
});
}
}]);
return LocalDatastore;
}();
exports["default"] = LocalDatastore;