1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.zrevrange = zrevrange;
|
7 |
|
8 | var _es6Map = require('es6-map');
|
9 |
|
10 | var _es6Map2 = _interopRequireDefault(_es6Map);
|
11 |
|
12 | var _arrayFrom = require('array-from');
|
13 |
|
14 | var _arrayFrom2 = _interopRequireDefault(_arrayFrom);
|
15 |
|
16 | var _lodash = require('lodash');
|
17 |
|
18 | var _zrangeCommand = require('./zrange-command.common');
|
19 |
|
20 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
21 |
|
22 | function zrevrange(key, s, e, w) {
|
23 | var map = this.data.get(key);
|
24 | if (!map) {
|
25 | return [];
|
26 | }
|
27 |
|
28 |
|
29 | if (this.data.has(key) && !(this.data.get(key) instanceof _es6Map2.default)) {
|
30 | return [];
|
31 | }
|
32 |
|
33 | var start = parseInt(s, 10);
|
34 | var end = parseInt(e, 10);
|
35 |
|
36 | var val = (0, _lodash.orderBy)((0, _arrayFrom2.default)(map.values()), ['score', 'value'], ['desc', 'desc']).map(function (it) {
|
37 | if (w) {
|
38 | return [it.value, it.score];
|
39 | }
|
40 |
|
41 | return [it.value];
|
42 | });
|
43 |
|
44 | val = (0, _zrangeCommand.slice)(val, start, end);
|
45 |
|
46 | return (0, _lodash.flatten)(val);
|
47 | } |
\ | No newline at end of file |