mvc-common-toolkit 1.44.8 → 1.45.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -108,6 +108,11 @@ export interface HashCacheService {
108
108
  hdel(key: string, ...fields: string[]): Promise<number>;
109
109
  hexists(key: string, field: string): Promise<number>;
110
110
  }
111
+ export interface SetCacheService {
112
+ sadd(key: string, ...values: string[]): Promise<number>;
113
+ srem(key: string, ...values: string[]): Promise<number>;
114
+ scard(key: string): Promise<number>;
115
+ }
111
116
  export interface ListCacheService {
112
117
  lpush(key: string, value: any): Promise<void>;
113
118
  lset(key: string, index: number, value: any): Promise<void>;
@@ -1,8 +1,4 @@
1
- import { CacheService, IPaginatedDataCache } from "../interfaces";
1
+ import { IPaginatedDataCache } from "../interfaces";
2
2
  export declare class PaginatedCacheRegistry {
3
- protected cacheService: CacheService;
4
3
  protected _registry: Map<string, IPaginatedDataCache<any>>;
5
- constructor(cacheService: CacheService);
6
- has(dataName: string): boolean;
7
- getOrCreatePaginatedCache<T = any>(dataName: string): IPaginatedDataCache<T>;
8
4
  }
@@ -1,23 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PaginatedCacheRegistry = void 0;
4
- const paginated_cache_1 = require("../services/paginated-cache");
5
4
  class PaginatedCacheRegistry {
6
- constructor(cacheService) {
7
- this.cacheService = cacheService;
5
+ constructor() {
8
6
  this._registry = new Map();
9
7
  }
10
- has(dataName) {
11
- return this._registry.has(dataName);
12
- }
13
- getOrCreatePaginatedCache(dataName) {
14
- if (this._registry.has(dataName)) {
15
- return this._registry.get(dataName);
16
- }
17
- const service = new paginated_cache_1.PaginatedDataCache(dataName, this.cacheService);
18
- this._registry.set(dataName, service);
19
- return service;
20
- }
21
8
  }
22
9
  exports.PaginatedCacheRegistry = PaginatedCacheRegistry;
23
10
  //# sourceMappingURL=paginated-cache-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paginated-cache-registry.js","sourceRoot":"","sources":["../../../src/pkg/paginated-cache-registry.ts"],"names":[],"mappings":";;;AACA,iEAAiE;AAEjE,MAAa,sBAAsB;IAGjC,YAAsB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAFtC,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEV,CAAC;IAE7C,GAAG,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,yBAAyB,CAC9B,QAAgB;QAEhB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAChC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACrC;QAED,MAAM,OAAO,GAAG,IAAI,oCAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AArBD,wDAqBC"}
1
+ {"version":3,"file":"paginated-cache-registry.js","sourceRoot":"","sources":["../../../src/pkg/paginated-cache-registry.ts"],"names":[],"mappings":";;;AAGA,MAAa,sBAAsB;IAAnC;QACY,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC/D,CAAC;CAAA;AAFD,wDAEC"}
@@ -110,15 +110,24 @@ const incrementAndCompareNumber = () => `
110
110
  -- KEYS[1] = key
111
111
  -- ARGV[1] = operator ("lt"|"lte"|"eq"|"gte"|"gt")
112
112
  -- ARGV[2] = number to compare against
113
+ -- ARGV[3] = ttl seconds (optional). pass "0" or "" to skip setting TTL.
113
114
 
114
115
  local k = KEYS[1]
115
116
  local op = ARGV[1]
116
117
  local rhs = tonumber(ARGV[2])
118
+ local ttl = tonumber(ARGV[3]) or 0
119
+
117
120
  if rhs == nil then
118
121
  return redis.error_reply("ERR invalid compare number: " .. tostring(ARGV[2]))
119
122
  end
120
123
 
121
- local lhs = redis.call("INCR", k) -- will error if existing value is non-integer
124
+ -- increment unconditionally (will create key with value 1 if missing)
125
+ local lhs = redis.call("INCR", k)
126
+
127
+ -- if this was the first increment, set TTL if requested
128
+ if lhs == 1 and ttl and ttl > 0 then
129
+ redis.call("EXPIRE", k, ttl)
130
+ end
122
131
 
123
132
  local matched = false
124
133
  if op == "lt" then matched = (lhs < rhs)
@@ -131,6 +140,7 @@ else
131
140
  end
132
141
 
133
142
  return matched and 1 or 0
143
+
134
144
  `;
135
145
  exports.incrementAndCompareNumber = incrementAndCompareNumber;
136
146
  //# sourceMappingURL=lua.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lua.js","sourceRoot":"","sources":["../../../../src/pkg/scripts/lua.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG;;;;;;;CAOzC,CAAC;AAEW,QAAA,uBAAuB,GAAG;;;;;;;;;;;CAWtC,CAAC;AACW,QAAA,uBAAuB,GAAG;;;;;;;;;;;CAWtC,CAAC;AACW,QAAA,4BAA4B,GAAG;;;;;;;;;;;CAW3C,CAAC;AAEW,QAAA,cAAc,GAAG;;;;;;CAM7B,CAAC;AAEW,QAAA,0BAA0B,GAAG;;;;;;;CAOzC,CAAC;AAEW,QAAA,cAAc,GAAG;;;;;;CAM7B,CAAC;AAEW,QAAA,+BAA+B,GAAG;;;;;;;CAO9C,CAAC;AAEW,QAAA,mBAAmB,GAAG;;;;;;CAMlC,CAAC;AAEW,QAAA,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBzC,CAAC;AACK,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CAyB9C,CAAC;AAzBW,QAAA,yBAAyB,6BAyBpC"}
1
+ {"version":3,"file":"lua.js","sourceRoot":"","sources":["../../../../src/pkg/scripts/lua.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG;;;;;;;CAOzC,CAAC;AAEW,QAAA,uBAAuB,GAAG;;;;;;;;;;;CAWtC,CAAC;AACW,QAAA,uBAAuB,GAAG;;;;;;;;;;;CAWtC,CAAC;AACW,QAAA,4BAA4B,GAAG;;;;;;;;;;;CAW3C,CAAC;AAEW,QAAA,cAAc,GAAG;;;;;;CAM7B,CAAC;AAEW,QAAA,0BAA0B,GAAG;;;;;;;CAOzC,CAAC;AAEW,QAAA,cAAc,GAAG;;;;;;CAM7B,CAAC;AAEW,QAAA,+BAA+B,GAAG;;;;;;;CAO9C,CAAC;AAEW,QAAA,mBAAmB,GAAG;;;;;;CAMlC,CAAC;AAEW,QAAA,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBzC,CAAC;AACK,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC9C,CAAC;AAnCW,QAAA,yBAAyB,6BAmCpC"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const chai_1 = require("chai");
16
+ const sinon_1 = __importDefault(require("sinon"));
17
+ const task_helper_1 = require("./task-helper");
18
+ const delayResolve = (value, ms) => () => new Promise((res) => {
19
+ setTimeout(() => res(value), ms);
20
+ });
21
+ const delayReject = (err, ms) => () => new Promise((_, rej) => {
22
+ setTimeout(() => rej(err), ms);
23
+ });
24
+ describe("runWithTimeout (TypeScript)", () => {
25
+ let clock;
26
+ beforeEach(() => {
27
+ clock = sinon_1.default.useFakeTimers();
28
+ });
29
+ afterEach(() => {
30
+ clock.restore();
31
+ });
32
+ it("resolves when handler completes before timeout", () => __awaiter(void 0, void 0, void 0, function* () {
33
+ const handler = delayResolve("ok", 10);
34
+ const p = (0, task_helper_1.runWithTimeout)(handler, 50);
35
+ yield clock.tickAsync(20);
36
+ const result = yield p;
37
+ (0, chai_1.expect)(result).to.equal("ok");
38
+ }));
39
+ it("rejects when handler rejects before timeout", () => __awaiter(void 0, void 0, void 0, function* () {
40
+ const handler = delayReject(new Error("boom"), 10);
41
+ const p = (0, task_helper_1.runWithTimeout)(handler, 50);
42
+ yield clock.tickAsync(20);
43
+ try {
44
+ yield p;
45
+ throw new Error("expected to reject");
46
+ }
47
+ catch (err) {
48
+ (0, chai_1.expect)(err).to.be.instanceOf(Error);
49
+ (0, chai_1.expect)(err.message).to.equal("boom");
50
+ }
51
+ }));
52
+ it('rejects with "task timed out" when handler does not complete before timeout', () => __awaiter(void 0, void 0, void 0, function* () {
53
+ const handler = () => new Promise(() => { });
54
+ const p = (0, task_helper_1.runWithTimeout)(handler, 50);
55
+ yield clock.tickAsync(60);
56
+ try {
57
+ yield p;
58
+ throw new Error("expected to reject by timeout");
59
+ }
60
+ catch (err) {
61
+ (0, chai_1.expect)(err).to.be.instanceOf(Error);
62
+ (0, chai_1.expect)(err.message).to.equal("task timed out");
63
+ }
64
+ }));
65
+ it("calls onCompletedAfterReject when handler resolves after timeout", () => __awaiter(void 0, void 0, void 0, function* () {
66
+ const handler = delayResolve("late-result", 100);
67
+ const onCompletedAfterReject = sinon_1.default.spy();
68
+ const p = (0, task_helper_1.runWithTimeout)(handler, 50, onCompletedAfterReject);
69
+ yield clock.tickAsync(60);
70
+ try {
71
+ yield p;
72
+ throw new Error("expected to reject by timeout");
73
+ }
74
+ catch (err) {
75
+ (0, chai_1.expect)(err).to.be.instanceOf(Error);
76
+ (0, chai_1.expect)(err.message).to.equal("task timed out");
77
+ }
78
+ yield clock.tickAsync(50);
79
+ (0, chai_1.expect)(onCompletedAfterReject.calledOnce).to.equal(true);
80
+ (0, chai_1.expect)(onCompletedAfterReject.calledWith("late-result")).to.equal(true);
81
+ }));
82
+ it("does NOT call onCompletedAfterReject when handler resolves before timeout", () => __awaiter(void 0, void 0, void 0, function* () {
83
+ const handler = delayResolve("fast", 10);
84
+ const onCompletedAfterReject = sinon_1.default.spy();
85
+ const p = (0, task_helper_1.runWithTimeout)(handler, 50, onCompletedAfterReject);
86
+ yield clock.tickAsync(20);
87
+ const result = yield p;
88
+ (0, chai_1.expect)(result).to.equal("fast");
89
+ (0, chai_1.expect)(onCompletedAfterReject.notCalled).to.equal(true);
90
+ }));
91
+ it("clears timeout when handler resolves before timeout (no lingering timers)", () => __awaiter(void 0, void 0, void 0, function* () {
92
+ const handler = delayResolve("fast", 10);
93
+ const p = (0, task_helper_1.runWithTimeout)(handler, 50);
94
+ yield clock.tickAsync(20);
95
+ const result = yield p;
96
+ (0, chai_1.expect)(result).to.equal("fast");
97
+ yield clock.tickAsync(1000);
98
+ }));
99
+ });
100
+ //# sourceMappingURL=task-helper.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-helper.spec.js","sourceRoot":"","sources":["../../../src/pkg/task-helper.spec.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,10 @@
1
- import { CacheService, IPaginatedDataCache, PaginationResult } from "../interfaces";
2
- export declare class PaginatedDataCache<T = any> implements IPaginatedDataCache<T> {
1
+ import { CacheService, HashCacheService, PaginationResult } from "../interfaces";
2
+ export declare class PaginatedDataCache {
3
3
  protected dataName: string;
4
- protected cacheService: CacheService;
5
- constructor(dataName: string, cacheService: CacheService);
6
- generateCacheKey: (filter?: Record<string, any>, limit?: number, offset?: number) => string;
7
- getCurrentVersion(): Promise<number>;
8
- getCachedPaginatedData(filter: Record<string, any>, limit: number, offset: number): Promise<PaginationResult<T>>;
9
- setCachedPaginatedData(filter: Record<string, any>, limit: number, offset: number, data: PaginationResult<T>, ttlInSecs?: number): Promise<any>;
10
- _fetchVersionedDataFromCache(cacheKey: string, _overrideVersion?: number): Promise<{
11
- currentVersion: number;
12
- data: PaginationResult<T> | null;
13
- }>;
14
- protected _setVersionedDataInCache(cacheKey: string, data: PaginationResult<T>, ttl?: number): Promise<any>;
15
- incrementCacheVersion(ttl?: number): Promise<number>;
4
+ protected cacheService: CacheService & HashCacheService;
5
+ constructor(dataName: string, cacheService: CacheService & HashCacheService);
6
+ protected getCacheKey(milestone: string | number, offset: number): string;
7
+ paginateV2(milestone: string | number, limit: number, dataRefresherV2: () => Promise<PaginationResult>, options?: {
8
+ expireInSecs: number;
9
+ }): Promise<PaginationResult>;
16
10
  }
@@ -33,81 +33,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.PaginatedDataCache = void 0;
36
- const key_helper_1 = require("../pkg/key-helper");
36
+ const constants_1 = require("src/constants");
37
37
  const objectHelper = __importStar(require("../pkg/object-helper"));
38
- const constants_1 = require("../constants");
39
- const hash_helper_1 = require("../pkg/hash-helper");
40
38
  class PaginatedDataCache {
41
39
  constructor(dataName, cacheService) {
42
40
  this.dataName = dataName;
43
41
  this.cacheService = cacheService;
44
- this.generateCacheKey = (filter = {}, limit = 10, offset = 0) => {
45
- const filterString = (0, hash_helper_1.generateHashFromJSON)(filter);
46
- return `paginated-cache:${this.dataName}:version:_version:filter:${filterString}:limit:${limit}:offset:${offset}`;
47
- };
48
42
  }
49
- getCurrentVersion() {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- const result = yield this.cacheService.getNumber((0, key_helper_1.getVersionCacheKeyForKey)(this.generateCacheKey()));
52
- return result || 0;
53
- });
54
- }
55
- getCachedPaginatedData(filter, limit, offset) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const cacheKey = this.generateCacheKey(filter, limit, offset);
58
- const { data } = yield this._fetchVersionedDataFromCache(cacheKey);
59
- return data;
60
- });
61
- }
62
- setCachedPaginatedData(filter, limit, offset, data, ttlInSecs = 60 * 30) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- const cacheKey = this.generateCacheKey(filter, limit, offset);
65
- const currentVersion = yield this.getCurrentVersion();
66
- if (currentVersion === 0) {
67
- yield this.incrementCacheVersion(ttlInSecs);
68
- }
69
- return this._setVersionedDataInCache(cacheKey, data, ttlInSecs);
70
- });
71
- }
72
- _fetchVersionedDataFromCache(cacheKey, _overrideVersion) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- const currentVersion = _overrideVersion !== null && _overrideVersion !== void 0 ? _overrideVersion : (yield this.getCurrentVersion());
75
- if (currentVersion === 0) {
76
- return {
77
- currentVersion: 0,
78
- data: null,
79
- };
80
- }
81
- const versionedCacheKey = (0, key_helper_1.getVersionedCacheKey)(cacheKey, currentVersion);
82
- const cachedData = yield this.cacheService.get(versionedCacheKey);
83
- if (cachedData) {
84
- return {
85
- currentVersion: currentVersion,
86
- data: objectHelper.tryParseStringIntoCorrectData(cachedData),
87
- };
88
- }
89
- return {
90
- currentVersion: currentVersion,
91
- data: null,
92
- };
93
- });
43
+ getCacheKey(milestone, offset) {
44
+ return `${this.dataName}:paginated_data`;
94
45
  }
95
- _setVersionedDataInCache(cacheKey, data, ttl = 60 * 30) {
46
+ paginateV2(milestone, limit, dataRefresherV2, options = { expireInSecs: 60 * 5 }) {
96
47
  return __awaiter(this, void 0, void 0, function* () {
97
- const currentVersion = yield this.getCurrentVersion();
98
- const versionedCacheKey = (0, key_helper_1.getVersionedCacheKey)(cacheKey, currentVersion);
99
- const cacheableData = typeof data === "object" ? JSON.stringify(data) : data;
100
- return this.cacheService.set(versionedCacheKey, cacheableData, {
48
+ const cacheKey = this.getCacheKey(milestone, limit);
49
+ const cached = yield this.cacheService.get(cacheKey);
50
+ if (cached)
51
+ return objectHelper.tryParseStringIntoCorrectData(cached);
52
+ const freshData = yield dataRefresherV2();
53
+ yield this.cacheService.set(cacheKey, JSON.stringify(freshData), {
101
54
  policy: constants_1.SET_CACHE_POLICY.IF_NOT_EXISTS,
102
- value: ttl,
55
+ value: options.expireInSecs,
103
56
  });
104
- });
105
- }
106
- incrementCacheVersion(ttl = 60 * 60 * 24) {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- const cacheKey = this.generateCacheKey();
109
- const versionCacheKey = (0, key_helper_1.getVersionCacheKeyForKey)(cacheKey);
110
- return this.cacheService.incrBy(versionCacheKey, 1);
57
+ return freshData;
111
58
  });
112
59
  }
113
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paginated-cache.js","sourceRoot":"","sources":["../../../src/services/paginated-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paginated-cache.js","sourceRoot":"","sources":["../../../src/services/paginated-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAiD;AAMjD,mEAAqD;AAErD,MAAa,kBAAkB;IAC7B,YACY,QAAgB,EAChB,YAA6C;QAD7C,aAAQ,GAAR,QAAQ,CAAQ;QAChB,iBAAY,GAAZ,YAAY,CAAiC;IACtD,CAAC;IAEM,WAAW,CAAC,SAA0B,EAAE,MAAc;QAC9D,OAAO,GAAG,IAAI,CAAC,QAAQ,iBAAiB,CAAC;IAC3C,CAAC;IAEY,UAAU,CACrB,SAA0B,EAC1B,KAAa,EACb,eAAgD,EAChD,UAAoC,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,EAAE;;YAE5D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,MAAM;gBAAE,OAAO,YAAY,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAEtE,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;YAG1C,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBAC/D,MAAM,EAAE,4BAAgB,CAAC,aAAa;gBACtC,KAAK,EAAE,OAAO,CAAC,YAAY;aAC5B,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;CACF;AA/BD,gDA+BC"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import * as ioredis from "ioredis";
3
- import { CacheScriptEvaluator, CacheService, DeleteByPatternOptions, HashCacheService, ListCacheService, LuaCall, SetCacheOption } from "../interfaces";
4
- export declare class RedisService implements CacheService, HashCacheService, ListCacheService, CacheScriptEvaluator {
3
+ import { CacheScriptEvaluator, CacheService, DeleteByPatternOptions, HashCacheService, ListCacheService, LuaCall, SetCacheOption, SetCacheService } from "../interfaces";
4
+ export declare class RedisService implements CacheService, HashCacheService, ListCacheService, CacheScriptEvaluator, SetCacheService {
5
5
  protected _redis: ioredis.Redis;
6
6
  constructor(config: ioredis.RedisOptions);
7
7
  get(key: string): Promise<any>;
@@ -9,6 +9,9 @@ export declare class RedisService implements CacheService, HashCacheService, Lis
9
9
  deleteByPattern(deletePattern: string, options?: DeleteByPatternOptions): Promise<void>;
10
10
  del(...keys: string[]): Promise<void>;
11
11
  multiEval(calls: LuaCall[]): Promise<any[]>;
12
+ sadd(key: string, ...values: string[]): Promise<number>;
13
+ srem(key: string, ...values: string[]): Promise<number>;
14
+ scard(key: string): Promise<number>;
12
15
  eval(script: string, numberOfKeys: number, ...args: any[]): Promise<unknown>;
13
16
  hset(key: string, field: string, value: any): Promise<void>;
14
17
  hexists(key: string, field: string): Promise<number>;
@@ -99,6 +99,21 @@ class RedisService {
99
99
  return execResult.map(([, value]) => value);
100
100
  });
101
101
  }
102
+ sadd(key, ...values) {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ return this._redis.sadd(key, ...values);
105
+ });
106
+ }
107
+ srem(key, ...values) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ return this._redis.srem(key, ...values);
110
+ });
111
+ }
112
+ scard(key) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ return this._redis.scard(key);
115
+ });
116
+ }
102
117
  eval(script, numberOfKeys, ...args) {
103
118
  return __awaiter(this, void 0, void 0, function* () {
104
119
  return this._redis.eval(script, numberOfKeys, ...args);
@@ -1 +1 @@
1
- {"version":3,"file":"redis-service.js","sourceRoot":"","sources":["../../../src/services/redis-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis-service.js","sourceRoot":"","sources":["../../../src/services/redis-service.ts"],"names":[],"mappings":"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"}