UNPKG

sg-socket-client

Version:
49 lines (43 loc) 3.53 kB
/** * Extension for locking * @mixin LockExtension */ 'use strict'; var _Object$freeze = require("@babel/runtime/core-js/object/freeze"); var _require = require('sg-socket-constants'), LockingEvents = _require.LockingEvents; var LOCK = LockingEvents.LOCK, UNLOCK = LockingEvents.UNLOCK; /** @lends LockExtension */ var LockExtension = _Object$freeze({ /** * Lock a resource * @param {string} name - Name of resource to lock * @param {Object} [options] - Optional settings * @returns {Promise} */ lock: function lock(name) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var id = this.id; return this.call(LOCK, { name: name, by: id }, options); }, /** * Lock a resource * @param {string} name - Name of resource to unlock * @param {Object} [options] - Optional settings * @returns {Promise} */ unlock: function unlock(name) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var id = this.id; return this.call(UNLOCK, { name: name, by: id }); } }); module.exports = LockExtension; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4dGVuc2lvbnMvbG9ja19leHRlbnNpb24uanMiXSwibmFtZXMiOlsicmVxdWlyZSIsIkxvY2tpbmdFdmVudHMiLCJMT0NLIiwiVU5MT0NLIiwiTG9ja0V4dGVuc2lvbiIsImxvY2siLCJuYW1lIiwib3B0aW9ucyIsImlkIiwiY2FsbCIsImJ5IiwidW5sb2NrIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7QUFJQTs7OztlQUV3QkEsUUFBUSxxQkFBUixDO0lBQWpCQyxhLFlBQUFBLGE7O0lBQ0FDLEksR0FBZ0JELGEsQ0FBaEJDLEk7SUFBTUMsTSxHQUFVRixhLENBQVZFLE07QUFFYjs7QUFDQSxJQUFNQyxnQkFBZ0IsZUFBYztBQUNsQzs7Ozs7O0FBTUFDLE1BUGtDLGdCQU81QkMsSUFQNEIsRUFPUjtBQUFBLFFBQWRDLE9BQWMsdUVBQUosRUFBSTtBQUFBLFFBQ2pCQyxFQURpQixHQUNYLElBRFcsQ0FDakJBLEVBRGlCO0FBRXhCLFdBQU8sS0FBS0MsSUFBTCxDQUFVUCxJQUFWLEVBQWdCO0FBQUNJLGdCQUFEO0FBQU9JLFVBQUlGO0FBQVgsS0FBaEIsRUFBZ0NELE9BQWhDLENBQVA7QUFDRCxHQVZpQzs7QUFXbEM7Ozs7OztBQU1BSSxRQWpCa0Msa0JBaUIxQkwsSUFqQjBCLEVBaUJOO0FBQUEsUUFBZEMsT0FBYyx1RUFBSixFQUFJO0FBQUEsUUFDbkJDLEVBRG1CLEdBQ2IsSUFEYSxDQUNuQkEsRUFEbUI7QUFFMUIsV0FBTyxLQUFLQyxJQUFMLENBQVVOLE1BQVYsRUFBa0I7QUFBQ0csZ0JBQUQ7QUFBT0ksVUFBSUY7QUFBWCxLQUFsQixDQUFQO0FBQ0Q7QUFwQmlDLENBQWQsQ0FBdEI7O0FBdUJBSSxPQUFPQyxPQUFQLEdBQWlCVCxhQUFqQiIsImZpbGUiOiJleHRlbnNpb25zL2xvY2tfZXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uL2xpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZW5zaW9uIGZvciBsb2NraW5nXG4gKiBAbWl4aW4gTG9ja0V4dGVuc2lvblxuICovXG4ndXNlIHN0cmljdCdcblxuY29uc3Qge0xvY2tpbmdFdmVudHN9ID0gcmVxdWlyZSgnc2ctc29ja2V0LWNvbnN0YW50cycpXG5jb25zdCB7TE9DSywgVU5MT0NLfSA9IExvY2tpbmdFdmVudHNcblxuLyoqIEBsZW5kcyBMb2NrRXh0ZW5zaW9uICovXG5jb25zdCBMb2NrRXh0ZW5zaW9uID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC8qKlxuICAgKiBMb2NrIGEgcmVzb3VyY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lIG9mIHJlc291cmNlIHRvIGxvY2tcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIE9wdGlvbmFsIHNldHRpbmdzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfVxuICAgKi9cbiAgbG9jayAobmFtZSwgb3B0aW9ucyA9IFtdKSB7XG4gICAgY29uc3Qge2lkfSA9IHRoaXNcbiAgICByZXR1cm4gdGhpcy5jYWxsKExPQ0ssIHtuYW1lLCBieTogaWR9LCBvcHRpb25zKVxuICB9LFxuICAvKipcbiAgICogTG9jayBhIHJlc291cmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZSBvZiByZXNvdXJjZSB0byB1bmxvY2tcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIE9wdGlvbmFsIHNldHRpbmdzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfVxuICAgKi9cbiAgdW5sb2NrIChuYW1lLCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB7aWR9ID0gdGhpc1xuICAgIHJldHVybiB0aGlzLmNhbGwoVU5MT0NLLCB7bmFtZSwgYnk6IGlkfSlcbiAgfVxufSlcblxubW9kdWxlLmV4cG9ydHMgPSBMb2NrRXh0ZW5zaW9uXG4iXX0=