UNPKG

memcached-promise

Version:

A fully featured Memcached client 'memcached' with Promise support. Powered by Bluebird.

48 lines (43 loc) 842 B
"use strict"; const Bluebird = require("bluebird"); const Memcached = require("memcached"); Memcached.config.defaultLifetime = 60; const promisifiedKeys = [ "touch", "get", "gets", "getMulti", "set", "replace", "add", "cas", "append", "prepend", "incr", "decr", "del", "version", "flush", "stats", "settings", "slabs", "items", "cachedump", "connect", ]; promisifiedKeys.forEach(func => { const _func = Memcached.prototype[func]; Memcached.prototype[func] = function () { const _arguments = Array.from(arguments); if (func === "set" && _arguments.length === 2) _arguments.push(this.defaultLifetime); return new Bluebird((resolve, reject) => { _func.apply(this, [ ..._arguments, (error, response) => error ? reject(error) : resolve(response) ]); }); }; }); module.exports = Memcached;