@anchan828/nest-redlock 0.0.9 → 0.0.10
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/README.md
CHANGED
|
@@ -108,13 +108,13 @@ export class ExampleService {
|
|
|
108
108
|
}
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
## Using
|
|
111
|
+
## Using fake RedlockService
|
|
112
112
|
|
|
113
|
-
If you do not want to use Redis in your Unit tests, define the
|
|
113
|
+
If you do not want to use Redis in your Unit tests, define the fake class as RedlockService.
|
|
114
114
|
|
|
115
115
|
```ts
|
|
116
116
|
const app = await Test.createTestingModule({
|
|
117
|
-
providers: [TestService, { provide: RedlockService, useClass:
|
|
117
|
+
providers: [TestService, { provide: RedlockService, useClass: FakeRedlockService }],
|
|
118
118
|
}).compile();
|
|
119
119
|
```
|
|
120
120
|
|
|
@@ -140,11 +140,11 @@ export class AppModule {}
|
|
|
140
140
|
|
|
141
141
|
#### What should I do with Unit tests, I don't want to use Redis.
|
|
142
142
|
|
|
143
|
-
Use `
|
|
143
|
+
Use `FakeRedlockService` class. Register FakeRedlockService with the provider as RedlockService.
|
|
144
144
|
|
|
145
145
|
```ts
|
|
146
146
|
const app = await Test.createTestingModule({
|
|
147
|
-
providers: [TestService, { provide: RedlockService, useClass:
|
|
147
|
+
providers: [TestService, { provide: RedlockService, useClass: FakeRedlockService }],
|
|
148
148
|
}).compile();
|
|
149
149
|
```
|
|
150
150
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Redlock } from "./redlock.decorator";
|
|
2
|
+
export { FakeRedlockService } from "./redlock.fake-service";
|
|
2
3
|
export { GenerateResourceFunc, RedlockModuleOptions } from "./redlock.interface";
|
|
3
|
-
export { MockRedlockService } from "./redlock.mock-service";
|
|
4
4
|
export { RedlockModule } from "./redlock.module";
|
|
5
5
|
export { RedlockService } from "./redlock.service";
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RedlockService = exports.RedlockModule = exports.
|
|
3
|
+
exports.RedlockService = exports.RedlockModule = exports.FakeRedlockService = exports.Redlock = void 0;
|
|
4
4
|
var redlock_decorator_1 = require("./redlock.decorator");
|
|
5
5
|
Object.defineProperty(exports, "Redlock", { enumerable: true, get: function () { return redlock_decorator_1.Redlock; } });
|
|
6
|
-
var
|
|
7
|
-
Object.defineProperty(exports, "
|
|
6
|
+
var redlock_fake_service_1 = require("./redlock.fake-service");
|
|
7
|
+
Object.defineProperty(exports, "FakeRedlockService", { enumerable: true, get: function () { return redlock_fake_service_1.FakeRedlockService; } });
|
|
8
8
|
var redlock_module_1 = require("./redlock.module");
|
|
9
9
|
Object.defineProperty(exports, "RedlockModule", { enumerable: true, get: function () { return redlock_module_1.RedlockModule; } });
|
|
10
10
|
var redlock_service_1 = require("./redlock.service");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from "events";
|
|
2
3
|
import { ExecutionResult, Lock, RedlockAbortSignal, Settings } from "redlock";
|
|
3
|
-
|
|
4
|
-
export declare class MockRedlockService extends EventEmitter {
|
|
4
|
+
export declare class FakeRedlockService extends EventEmitter {
|
|
5
5
|
quit(): Promise<void>;
|
|
6
6
|
acquire(resources: string[], duration: number, settings?: Partial<Settings> | undefined): Promise<Lock>;
|
|
7
7
|
release(lock: Lock, settings?: Partial<Settings> | undefined): Promise<ExecutionResult>;
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
exports.FakeRedlockService = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
5
|
+
const events_1 = require("events");
|
|
6
|
+
class FakeRedlockService extends events_1.EventEmitter {
|
|
6
7
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
7
8
|
async quit() { }
|
|
8
9
|
async acquire(resources, duration, settings) {
|
|
9
|
-
return
|
|
10
|
+
return createLockFake();
|
|
10
11
|
}
|
|
11
12
|
async release(lock, settings) {
|
|
12
13
|
return { attempts: [] };
|
|
13
14
|
}
|
|
14
15
|
async extend(existing, duration, settings) {
|
|
15
|
-
return
|
|
16
|
+
return createLockFake();
|
|
16
17
|
}
|
|
17
18
|
async using(resources, duration, settingsOrRoutine, routine) {
|
|
18
19
|
const routineFunc = typeof settingsOrRoutine === "function" ? settingsOrRoutine : routine;
|
|
19
20
|
return await routineFunc?.({ aborted: false });
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
exports.
|
|
23
|
-
function
|
|
23
|
+
exports.FakeRedlockService = FakeRedlockService;
|
|
24
|
+
function createLockFake() {
|
|
24
25
|
let lock;
|
|
25
26
|
// eslint-disable-next-line prefer-const
|
|
26
27
|
lock = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anchan828/nest-redlock",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"description": "This is a [Nest](https://github.com/nestjs/nest) implementation of the redlock algorithm for distributed redis locks.",
|
|
5
5
|
"homepage": "https://github.com/anchan828/nest-redlock#readme",
|
|
6
6
|
"bugs": {
|