Skip to content

Commit 9ee1ed9

Browse files
committed
Add tests and add promise support to keys
1 parent 74bc2b1 commit 9ee1ed9

File tree

7 files changed

+2621
-109
lines changed

7 files changed

+2621
-109
lines changed

.babelrc

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,16 @@
88
]
99
],
1010
"plugins": [
11-
"external-helpers"
12-
]
11+
"external-helpers",
12+
],
13+
"env": {
14+
"test": {
15+
"presets": [
16+
"es2015"
17+
],
18+
"plugins": [
19+
"transform-runtime"
20+
]
21+
}
22+
}
1323
}

dist/index.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
55
var Redis = _interopDefault(require('redis'));
66

77
var redisStore = function redisStore() {
8-
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
9-
args[_key] = arguments[_key];
10-
}
11-
12-
var redisCache = Redis.createClient.apply(Redis, args);
8+
var redisCache = Redis.createClient.apply(Redis, arguments);
139
var storeArgs = redisCache.options;
1410

1511
return {
@@ -66,13 +62,26 @@ var redisStore = function redisStore() {
6662
reset: function reset(cb) {
6763
return redisCache.flushdb(handleResponse(cb));
6864
},
69-
keys: function keys(cb) {
70-
return redisCache.keys(handleResponse(cb));
65+
keys: function keys(pattern, cb) {
66+
return new Promise(function (resolve, reject) {
67+
if (typeof pattern === 'function') {
68+
cb = pattern;
69+
pattern = '*';
70+
}
71+
72+
if (!cb) {
73+
cb = function cb(err, result) {
74+
return err ? reject(err) : resolve(result);
75+
};
76+
}
77+
78+
redisCache.keys(pattern, handleResponse(cb));
79+
});
7180
},
7281
ttl: function ttl(key, cb) {
7382
return redisCache.ttl(key, handleResponse(cb));
7483
},
75-
isCacheableValue: args.isCacheableValue || function (value) {
84+
isCacheableValue: storeArgs.is_cacheable_value || function (value) {
7685
return value !== undefined && value !== null;
7786
}
7887
};

index.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,22 @@ const redisStore = (...args) => {
5050
redisCache.del(key, handleResponse(cb));
5151
},
5252
reset: cb => redisCache.flushdb(handleResponse(cb)),
53-
keys: cb => redisCache.keys(handleResponse(cb)),
53+
keys: (pattern, cb) => (
54+
new Promise((resolve, reject) => {
55+
if (typeof pattern === 'function') {
56+
cb = pattern;
57+
pattern = '*';
58+
}
59+
60+
if (!cb) {
61+
cb = (err, result) => (err ? reject(err) : resolve(result));
62+
}
63+
64+
redisCache.keys(pattern, handleResponse(cb));
65+
})
66+
),
5467
ttl: (key, cb) => redisCache.ttl(key, handleResponse(cb)),
55-
isCacheableValue: args.isCacheableValue || (value => value !== undefined && value !== null),
68+
isCacheableValue: storeArgs.is_cacheable_value || (value => value !== undefined && value !== null),
5669
};
5770
};
5871

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "cache-manager-redis-store",
33
"author": "Matthijs Dabroek <[email protected]>",
44
"description": "Redis store for node-cache-manager module",
5-
"version": "1.1.0",
5+
"version": "1.2.0",
66
"license": "MIT",
77
"main": "dist/index.js",
88
"repository": {
@@ -11,15 +11,20 @@
1111
},
1212
"scripts": {
1313
"prepublish": "npm prune",
14-
"test": "node test.js",
14+
"test": "jest",
1515
"build": "rollup -c"
1616
},
1717
"dependencies": {
1818
"redis": "^2.7.1"
1919
},
2020
"devDependencies": {
21+
"babel-cli": "^6.24.1",
22+
"babel-jest": "^19.0.0",
2123
"babel-plugin-external-helpers": "^6.22.0",
24+
"babel-plugin-transform-runtime": "^6.23.0",
2225
"babel-preset-es2015": "^6.24.1",
26+
"cache-manager": "^2.4.0",
27+
"jest": "^19.0.2",
2328
"rollup": "^0.41.6",
2429
"rollup-plugin-babel": "^2.7.1"
2530
},

test.js

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)