UNPKG

backendless

Version:

Backendless JavaScript SDK for Node.js and the browser

174 lines (173 loc) 6.74 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.MapStore = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _constants = require("../constants"); var _baseStore = require("./base-store"); var _utils = _interopRequireDefault(require("../../utils")); var _utils2 = require("../utils"); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var MapStore = /*#__PURE__*/function (_HiveStore) { (0, _inherits2["default"])(MapStore, _HiveStore); var _super = _createSuper(MapStore); function MapStore() { (0, _classCallCheck2["default"])(this, MapStore); return _super.apply(this, arguments); } (0, _createClass2["default"])(MapStore, [{ key: "get", value: function get(keys) { if (keys !== undefined && !(typeof keys === 'string' || Array.isArray(keys))) { throw new Error('Key(s) must be a string or list of strings.'); } return this.app.request.post({ url: this.getBaseURL(), data: _utils["default"].castArray(keys) }); } }, { key: "getValue", value: function getValue(key) { if (!key || typeof key !== 'string') { throw new Error('Key must be provided and must be a string.'); } return this.app.request.get({ url: "".concat(this.getBaseURL(), "/get/").concat(key) }); } }, { key: "keyExists", value: function keyExists(key) { if (!key || typeof key !== 'string') { throw new Error('Key must be provided and must be a string.'); } return this.app.request.get({ url: "".concat(this.getBaseURL(), "/exists/").concat(key) }); } }, { key: "length", value: function length() { return this.app.request.get({ url: "".concat(this.getBaseURL(), "/length") }); } }, { key: "keys", value: function keys() { return this.app.request.get({ url: "".concat(this.getBaseURL(), "/keys") }); } }, { key: "values", value: function values() { return this.app.request.get({ url: "".concat(this.getBaseURL(), "/values") }); } }, { key: "set", value: function set(key, value) { if (!key) { throw new Error('First argument must be provided and must be a string or an object.'); } if (_utils["default"].isObject(key)) { if (!Object.keys(key).length) { throw new Error('Provided object must have at least 1 key.'); } return this.app.request.put({ url: this.getBaseURL(), data: key }); } if (typeof key !== 'string') { throw new Error('Key must be a string.'); } if (!(0, _utils2.isHiveValueValid)(value)) { throw new Error('Value must be provided and must be one of types: string, number, boolean, object, array.'); } return this.app.request.put({ url: "".concat(this.getBaseURL(), "/set/").concat(key), data: { value: value } }); } }, { key: "setWithOverwrite", value: function setWithOverwrite(key, value, overwrite) { if (!key || typeof key !== 'string') { throw new Error('Key must be provided and must be a string.'); } if (!(0, _utils2.isHiveValueValid)(value)) { throw new Error('Value must be provided and must be one of types: string, number, boolean, object, array.'); } if (overwrite !== undefined && typeof overwrite !== 'boolean') { throw new Error('Overwrite must be a boolean.'); } return this.app.request.put({ url: "".concat(this.getBaseURL(), "/set-with-overwrite/").concat(key), data: { value: value, overwrite: overwrite } }); } }, { key: "increment", value: function increment(key, count) { if (!key || typeof key !== 'string') { throw new Error('Key must be provided and must be a string.'); } if (count !== undefined && (isNaN(count) || typeof count !== 'number')) { throw new Error('Count must be a number.'); } return this.app.request.put({ url: "".concat(this.getBaseURL(), "/increment/").concat(key), query: { count: count } }); } }, { key: "decrement", value: function decrement(key, count) { if (!key || typeof key !== 'string') { throw new Error('Key must be provided and must be a string.'); } if (count !== undefined && (isNaN(count) || typeof count !== 'number')) { throw new Error('Count must be a number.'); } return this.app.request.put({ url: "".concat(this.getBaseURL(), "/decrement/").concat(key), query: { count: count } }); } }, { key: "deleteKeys", value: function deleteKeys(keys) { if (!keys || !(typeof keys === 'string' || Array.isArray(keys))) { throw new Error('Key(s) must be provided and must be a string or list of strings.'); } return this.app.request["delete"]({ url: "".concat(this.getBaseURL(), "/by-obj-keys"), data: _utils["default"].castArray(keys) }); } }]); return MapStore; }(_baseStore.HiveStore); exports.MapStore = MapStore; (0, _defineProperty2["default"])(MapStore, "TYPE", _constants.HiveTypes.MAP);