UNPKG

hazelcast-client

Version:

Hazelcast - open source In-Memory Data Grid - client for NodeJS

161 lines 7.58 kB
"use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; var ItemListener_1 = require('../core/ItemListener'); var PartitionSpecificProxy_1 = require('./PartitionSpecificProxy'); var QueueSizeCodec_1 = require('../codec/QueueSizeCodec'); var QueueOfferCodec_1 = require('../codec/QueueOfferCodec'); var QueuePeekCodec_1 = require('../codec/QueuePeekCodec'); var QueuePollCodec_1 = require('../codec/QueuePollCodec'); var QueueRemainingCapacityCodec_1 = require('../codec/QueueRemainingCapacityCodec'); var QueueRemoveCodec_1 = require('../codec/QueueRemoveCodec'); var QueueContainsCodec_1 = require('../codec/QueueContainsCodec'); var QueueIteratorCodec_1 = require('../codec/QueueIteratorCodec'); var QueueClearCodec_1 = require('../codec/QueueClearCodec'); var QueueDrainToCodec_1 = require('../codec/QueueDrainToCodec'); var QueueDrainToMaxSizeCodec_1 = require('../codec/QueueDrainToMaxSizeCodec'); var QueueIsEmptyCodec_1 = require('../codec/QueueIsEmptyCodec'); var QueueTakeCodec_1 = require('../codec/QueueTakeCodec'); var QueueAddAllCodec_1 = require('../codec/QueueAddAllCodec'); var QueueContainsAllCodec_1 = require('../codec/QueueContainsAllCodec'); var QueuePutCodec_1 = require('../codec/QueuePutCodec'); var QueueCompareAndRemoveAllCodec_1 = require('../codec/QueueCompareAndRemoveAllCodec'); var QueueCompareAndRetainAllCodec_1 = require('../codec/QueueCompareAndRetainAllCodec'); var QueueAddListenerCodec_1 = require('../codec/QueueAddListenerCodec'); var QueueRemoveListenerCodec_1 = require('../codec/QueueRemoveListenerCodec'); var QueueProxy = (function (_super) { __extends(QueueProxy, _super); function QueueProxy() { _super.apply(this, arguments); } QueueProxy.prototype.add = function (item) { return this.offer(item).then(function (ret) { if (ret) { return true; } else { throw new Error('Queue is full.'); } }); }; QueueProxy.prototype.addAll = function (items) { var rawList = []; var toData = this.toData.bind(this); items.forEach(function (item) { rawList.push(toData(item)); }); return this.encodeInvoke(QueueAddAllCodec_1.QueueAddAllCodec, rawList); }; QueueProxy.prototype.addItemListener = function (listener, includeValue) { var _this = this; var request = QueueAddListenerCodec_1.QueueAddListenerCodec.encodeRequest(this.name, includeValue, false); var handler = function (message) { QueueAddListenerCodec_1.QueueAddListenerCodec.handle(message, function (item, uuid, eventType) { var responseObject; if (item == null) { responseObject = null; } else { responseObject = _this.toObject(item); } if (eventType === ItemListener_1.ItemEventType.ADDED) { listener.itemAdded(responseObject, null, eventType); } else if (eventType === ItemListener_1.ItemEventType.REMOVED) { listener.itemRemoved(responseObject, null, eventType); } }); }; return this.client.getListenerService().registerListener(request, handler, QueueAddListenerCodec_1.QueueAddListenerCodec.decodeResponse); }; QueueProxy.prototype.clear = function () { return this.encodeInvoke(QueueClearCodec_1.QueueClearCodec); }; QueueProxy.prototype.contains = function (item) { var itemData = this.toData(item); return this.encodeInvoke(QueueContainsCodec_1.QueueContainsCodec, itemData); }; QueueProxy.prototype.containsAll = function (items) { var toData = this.toData.bind(this); var rawItems = items.map(toData); return this.encodeInvoke(QueueContainsAllCodec_1.QueueContainsAllCodec, rawItems); }; QueueProxy.prototype.drainTo = function (arr, maxElements) { if (maxElements === void 0) { maxElements = null; } var toObject = this.toObject.bind(this); var promise; if (maxElements === null) { promise = this.encodeInvoke(QueueDrainToCodec_1.QueueDrainToCodec); } else { promise = this.encodeInvoke(QueueDrainToMaxSizeCodec_1.QueueDrainToMaxSizeCodec, maxElements); } return promise.then(function (rawArr) { rawArr.forEach(function (rawItem) { arr.push(toObject(rawItem)); }); return rawArr.length; }); }; QueueProxy.prototype.isEmpty = function () { return this.encodeInvoke(QueueIsEmptyCodec_1.QueueIsEmptyCodec); }; QueueProxy.prototype.offer = function (item, time) { if (time === void 0) { time = 0; } var itemData = this.toData(item); return this.encodeInvoke(QueueOfferCodec_1.QueueOfferCodec, itemData, time); }; QueueProxy.prototype.peek = function () { return this.encodeInvoke(QueuePeekCodec_1.QueuePeekCodec); }; QueueProxy.prototype.poll = function (time) { if (time === void 0) { time = 0; } return this.encodeInvoke(QueuePollCodec_1.QueuePollCodec, time); }; QueueProxy.prototype.put = function (item) { var itemData = this.toData(item); return this.encodeInvoke(QueuePutCodec_1.QueuePutCodec, itemData); }; QueueProxy.prototype.remainingCapacity = function () { return this.encodeInvoke(QueueRemainingCapacityCodec_1.QueueRemainingCapacityCodec); }; QueueProxy.prototype.remove = function (item) { var itemData = this.toData(item); return this.encodeInvoke(QueueRemoveCodec_1.QueueRemoveCodec, itemData); }; QueueProxy.prototype.removeAll = function (items) { var toData = this.toData.bind(this); var rawItems = items.map(toData); return this.encodeInvoke(QueueCompareAndRemoveAllCodec_1.QueueCompareAndRemoveAllCodec, rawItems); }; QueueProxy.prototype.removeItemListener = function (registrationId) { return this.client.getListenerService().deregisterListener(QueueRemoveListenerCodec_1.QueueRemoveListenerCodec.encodeRequest(this.name, registrationId), QueueRemoveListenerCodec_1.QueueRemoveListenerCodec.decodeResponse); }; QueueProxy.prototype.retainAll = function (items) { var toData = this.toData.bind(this); var rawItems = items.map(toData); return this.encodeInvoke(QueueCompareAndRetainAllCodec_1.QueueCompareAndRetainAllCodec, rawItems); }; QueueProxy.prototype.size = function () { return this.encodeInvoke(QueueSizeCodec_1.QueueSizeCodec); }; QueueProxy.prototype.take = function () { return this.encodeInvoke(QueueTakeCodec_1.QueueTakeCodec); }; QueueProxy.prototype.toArray = function () { var arr = []; var toObject = this.toObject.bind(this); return this.encodeInvoke(QueueIteratorCodec_1.QueueIteratorCodec).then(function (dataArray) { dataArray.forEach(function (data) { arr.push(toObject(data)); }); return arr; }); }; return QueueProxy; }(PartitionSpecificProxy_1.PartitionSpecificProxy)); exports.QueueProxy = QueueProxy; //# sourceMappingURL=QueueProxy.js.map