Skip to content

Commit d9533d1

Browse files
authored
Fix test (#304)
* Adding isAcquireLockTimeoutError * Fixing type check * Missing export * Lint fix * Using symbol to differenciate error
1 parent 71b42cb commit d9533d1

File tree

6 files changed

+25
-8
lines changed

6 files changed

+25
-8
lines changed

packages/core/lib/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,6 @@ export {
9191
type AcquireLockOptions,
9292
type DeduplicationRequester,
9393
DeduplicationRequesterEnum,
94-
AcquireLockTimeoutError,
9594
noopReleasableLock,
9695
} from './message-deduplication/messageDeduplicationTypes.ts'
96+
export * from './message-deduplication/AcquireLockTimeoutError.ts'
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { isError } from '@lokalise/node-core'
2+
3+
const AcquireLockTimeoutErrorSymbol = Symbol.for('ACQUIRE_LOCK_TIMEOUT_ERROR')
4+
export class AcquireLockTimeoutError extends Error {
5+
constructor(message?: string) {
6+
super(message)
7+
Object.defineProperty(this, AcquireLockTimeoutErrorSymbol, {
8+
value: true,
9+
})
10+
}
11+
}
12+
13+
export const isAcquireLockTimeoutError = (error: unknown): error is AcquireLockTimeoutError =>
14+
// biome-ignore lint/suspicious/noExplicitAny: Expected
15+
isError(error) && (error as any)[AcquireLockTimeoutErrorSymbol] === true

packages/core/lib/message-deduplication/messageDeduplicationTypes.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import type { Either } from '@lokalise/node-core'
22
import type { MessageDeduplicationOptions } from '@message-queue-toolkit/schemas'
3+
import type { AcquireLockTimeoutError } from './AcquireLockTimeoutError.js'
34

45
export interface ReleasableLock {
56
release(): Promise<void>
67
}
78

8-
export class AcquireLockTimeoutError extends Error {}
9-
109
export type AcquireLockOptions = Required<
1110
Pick<
1211
MessageDeduplicationOptions,

packages/core/lib/queues/AbstractQueueService.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ import {
1717
} from '@message-queue-toolkit/schemas'
1818
import type { MessageInvalidFormatError, MessageValidationError } from '../errors/Errors.ts'
1919
import {
20-
AcquireLockTimeoutError,
20+
type AcquireLockTimeoutError,
21+
isAcquireLockTimeoutError,
22+
} from '../message-deduplication/AcquireLockTimeoutError.js'
23+
import {
2124
DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS,
2225
type DeduplicationRequester,
2326
DeduplicationRequesterEnum,
@@ -644,7 +647,7 @@ export abstract class AbstractQueueService<
644647
deduplicationOptions,
645648
)
646649

647-
if (acquireLockResult.error && !(acquireLockResult.error instanceof AcquireLockTimeoutError)) {
650+
if (acquireLockResult.error && !isAcquireLockTimeoutError(acquireLockResult.error)) {
648651
this.handleError(acquireLockResult.error)
649652
return { result: noopReleasableLock }
650653
}

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@message-queue-toolkit/core",
3-
"version": "23.0.0",
3+
"version": "23.1.0",
44
"private": false,
55
"license": "MIT",
66
"description": "Useful utilities, interfaces and base classes for message queue handling. Supports AMQP and SQS with a common abstraction on top currently",

packages/redis-message-deduplication-store/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@
3232
"redis-semaphore": "^5.6.2"
3333
},
3434
"peerDependencies": {
35-
"@message-queue-toolkit/core": ">=21.0.0",
35+
"@message-queue-toolkit/core": ">=23.1.0",
3636
"ioredis": "^5.3.2"
3737
},
3838
"devDependencies": {
3939
"@biomejs/biome": "1.9.4",
4040
"@lokalise/biome-config": "^2.0.0",
4141
"@lokalise/tsconfig": "^1.3.0",
42-
"@message-queue-toolkit/core": "^21.2.0",
42+
"@message-queue-toolkit/core": "*",
4343
"@types/node": "^24.0.3",
4444
"@vitest/coverage-v8": "^3.2.4",
4545
"rimraf": "^6.0.1",

0 commit comments

Comments
 (0)