@jsnw/nestjs-ioredis 2.1.0 → 2.2.0
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.
- package/dist/index.cjs +19 -9
- package/dist/index.d.cts +1 -1
- package/package.json +2 -1
package/dist/index.cjs
CHANGED
|
@@ -127,14 +127,7 @@ var RedisLock = class {
|
|
|
127
127
|
* @return {Promise<void>}
|
|
128
128
|
*/
|
|
129
129
|
async release() {
|
|
130
|
-
|
|
131
|
-
if redis.call("hget", KEYS[1], ARGV[1]) == ARGV[2]
|
|
132
|
-
then
|
|
133
|
-
return redis.call("hdel", KEYS[1], ARGV[1])
|
|
134
|
-
else
|
|
135
|
-
return 0
|
|
136
|
-
end
|
|
137
|
-
`, 1, this.locksHashKey, this.name, this.value);
|
|
130
|
+
return this.redis.releaseLockAtomic(this.locksHashKey, this.name, this.value);
|
|
138
131
|
}
|
|
139
132
|
};
|
|
140
133
|
//#endregion
|
|
@@ -225,10 +218,27 @@ let RedisCoreModule = _RedisCoreModule = class RedisCoreModule {
|
|
|
225
218
|
static createRedisProvider() {
|
|
226
219
|
return {
|
|
227
220
|
provide: ioredis.default,
|
|
228
|
-
useFactory: (options) => new ioredis.default(options),
|
|
221
|
+
useFactory: (options) => _RedisCoreModule.extendRedisWithCommands(new ioredis.default(options)),
|
|
229
222
|
inject: [REDIS_OPTIONS_TOKEN]
|
|
230
223
|
};
|
|
231
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* @param {Redis} redis
|
|
227
|
+
* @private
|
|
228
|
+
*/
|
|
229
|
+
static extendRedisWithCommands(redis) {
|
|
230
|
+
redis.defineCommand("releaseLockAtomic", {
|
|
231
|
+
numberOfKeys: 1,
|
|
232
|
+
lua: dedent.default`
|
|
233
|
+
if redis.call("hget", KEYS[1], ARGV[1]) == ARGV[2]
|
|
234
|
+
then
|
|
235
|
+
return redis.call("hdel", KEYS[1], ARGV[1])
|
|
236
|
+
else
|
|
237
|
+
return 0
|
|
238
|
+
end
|
|
239
|
+
`
|
|
240
|
+
});
|
|
241
|
+
}
|
|
232
242
|
};
|
|
233
243
|
RedisCoreModule = _RedisCoreModule = __decorate([(0, _nestjs_common.Global)(), (0, _nestjs_common.Module)({})], RedisCoreModule);
|
|
234
244
|
//#endregion
|
package/dist/index.d.cts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsnw/nestjs-ioredis",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "NestJS module for integrating Redis",
|
|
5
5
|
"exports": {
|
|
6
6
|
"require": {
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@nestjs/common": "^11.1.27",
|
|
42
|
+
"@types/node": "^26.0.1",
|
|
42
43
|
"ioredis": "^5.11.1",
|
|
43
44
|
"tsdown": "^0.22.3",
|
|
44
45
|
"typescript": "^5.9.3"
|