UNPKG

rollun-ts-datastore-test

Version:

rollun-datastore written in TS

144 lines (122 loc) 3.86 kB
"use strict"; 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;