UNPKG

backendless

Version:

Backendless JavaScript SDK for Node.js and the browser

67 lines (66 loc) 1.96 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var Counter = /*#__PURE__*/function () { function Counter(name, counters) { (0, _classCallCheck2["default"])(this, Counter); if (!name || typeof name !== 'string') { throw new Error('Counter Name must be non empty String'); } this.name = name; this.counters = counters; } (0, _createClass2["default"])(Counter, [{ key: "incrementAndGet", value: function incrementAndGet() { return this.counters.incrementAndGet(this.name); } }, { key: "getAndIncrement", value: function getAndIncrement() { return this.counters.getAndIncrement(this.name); } }, { key: "decrementAndGet", value: function decrementAndGet() { return this.counters.decrementAndGet(this.name); } }, { key: "getAndDecrement", value: function getAndDecrement() { return this.counters.getAndDecrement(this.name); } }, { key: "reset", value: function reset() { return this.counters.reset(this.name); } }, { key: "get", value: function get() { return this.counters.get(this.name); } }, { key: "addAndGet", value: function addAndGet(value) { return this.counters.addAndGet(this.name, value); } }, { key: "getAndAdd", value: function getAndAdd(value) { return this.counters.getAndAdd(this.name, value); } }, { key: "compareAndSet", value: function compareAndSet(expected, updated) { return this.counters.compareAndSet(this.name, expected, updated); } }]); return Counter; }(); exports["default"] = Counter;