1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const tslib_1 = require("tslib");
|
4 | const Redis = require("redis");
|
5 | const CLDebug_1 = require("./CLDebug");
|
6 | class RedisStorage {
|
7 | constructor(settings) {
|
8 | this.redisClient = Redis.createClient(settings.port ? settings.port : 6380, settings.server, {
|
9 | auth_pass: settings.key,
|
10 | tls: { servername: settings.server }
|
11 | });
|
12 | this.redisClient.on('error', (err) => {
|
13 | CLDebug_1.CLDebug.Error(err, "RedisStorage");
|
14 | });
|
15 | this._get = this.promisify(this.redisClient.get);
|
16 | this._set = this.promisify(this.redisClient.set);
|
17 | this._del = this.promisify(this.redisClient.del);
|
18 | }
|
19 | |
20 |
|
21 |
|
22 |
|
23 |
|
24 | read(keys) {
|
25 | return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
26 | let storeItems = {};
|
27 |
|
28 | for (let iKey in keys) {
|
29 | let key = keys[iKey];
|
30 | let storeItem = yield this._get(key);
|
31 | storeItems[key] = JSON.parse(storeItem);
|
32 | }
|
33 | return storeItems;
|
34 | });
|
35 | }
|
36 | |
37 |
|
38 |
|
39 |
|
40 |
|
41 | write(changes) {
|
42 | return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
43 | for (let key in changes) {
|
44 | let storeItem = changes[key];
|
45 | yield this._set(key, JSON.stringify(storeItem));
|
46 | }
|
47 | });
|
48 | }
|
49 | |
50 |
|
51 |
|
52 |
|
53 |
|
54 | delete(keys) {
|
55 | return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
56 | for (let iKey in keys) {
|
57 | let key = keys[iKey];
|
58 | yield this._del(key);
|
59 | }
|
60 | });
|
61 | }
|
62 | promisify(func) {
|
63 | return (...args) => new Promise((resolve, reject) => {
|
64 | const callback = (err, data) => (err ? reject(err) : resolve(data));
|
65 | func.apply(this.redisClient, [...args, callback]);
|
66 | });
|
67 | }
|
68 | }
|
69 | exports.RedisStorage = RedisStorage;
|
70 |
|
\ | No newline at end of file |