@holo-js/queue-redis 0.2.6 → 0.3.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.
Files changed (2) hide show
  1. package/dist/index.d.ts +6 -74
  2. package/package.json +3 -3
package/dist/index.d.ts CHANGED
@@ -1,78 +1,10 @@
1
1
  import { Job, ConnectionOptions } from 'bullmq';
2
2
  import Redis from 'ioredis';
3
+ import { QueueDriverFactory as QueueDriverFactory$1, NormalizedQueueRedisConnectionConfig, QueueDriverFactoryContext, QueueAsyncDriver, QueueJsonValue, QueueJobEnvelope, QueueDriverDispatchResult, QueueReservedJob, QueueReleaseOptions } from '@holo-js/queue';
4
+ export { NormalizedQueueRedisConnectionConfig, QueueAsyncDriver, QueueDriverDispatchResult, QueueDriverFactoryContext, QueueJobEnvelope, QueueJsonValue, QueueReleaseOptions, QueueReservedJob } from '@holo-js/queue';
3
5
 
4
- type QueueJsonValue = null | string | number | boolean | readonly QueueJsonValue[] | {
5
- readonly [key: string]: QueueJsonValue;
6
- };
7
- interface QueueJobEnvelope<TPayload extends QueueJsonValue = QueueJsonValue> {
8
- readonly id: string;
9
- readonly name: string;
10
- readonly connection: string;
11
- readonly queue: string;
12
- readonly payload: TPayload;
13
- readonly attempts: number;
14
- readonly maxAttempts: number;
15
- readonly createdAt: number;
16
- readonly availableAt?: number;
17
- }
18
- interface QueueDriverDispatchResult<TResult = unknown> {
19
- readonly jobId: string;
20
- readonly synchronous: boolean;
21
- readonly result?: TResult;
22
- }
23
- interface QueueReservedJob<TPayload extends QueueJsonValue = QueueJsonValue> {
24
- readonly reservationId: string;
25
- readonly reservedAt: number;
26
- readonly envelope: QueueJobEnvelope<TPayload>;
27
- }
28
- interface QueueReleaseOptions {
29
- readonly delaySeconds?: number;
30
- }
31
- interface QueueDriverFactoryContext {
32
- execute<TPayload extends QueueJsonValue = QueueJsonValue, TResult = unknown>(job: QueueJobEnvelope<TPayload>): Promise<TResult>;
33
- }
34
- interface QueueAsyncDriver {
35
- readonly name: string;
36
- readonly driver: 'redis';
37
- readonly mode: 'async';
38
- dispatch<TPayload extends QueueJsonValue = QueueJsonValue, TResult = unknown>(job: QueueJobEnvelope<TPayload>): Promise<QueueDriverDispatchResult<TResult>>;
39
- reserve<TPayload extends QueueJsonValue = QueueJsonValue>(input: {
40
- readonly queueNames?: readonly string[];
41
- readonly workerId?: string;
42
- readonly timeout?: number;
43
- }): Promise<QueueReservedJob<TPayload> | null>;
44
- acknowledge(job: QueueReservedJob): Promise<void>;
45
- release(job: QueueReservedJob, options?: QueueReleaseOptions): Promise<void>;
46
- delete(job: QueueReservedJob): Promise<void>;
47
- clear(input?: {
48
- readonly queueNames?: readonly string[];
49
- }): Promise<number>;
50
- close(): Promise<void>;
51
- }
52
- interface NormalizedQueueRedisConnectionConfig {
53
- readonly name: string;
54
- readonly driver: 'redis';
55
- readonly connection: string;
56
- readonly queue: string;
57
- readonly retryAfter: number;
58
- readonly blockFor: number;
59
- readonly redis: {
60
- readonly url?: string;
61
- readonly clusters?: readonly {
62
- readonly url?: string;
63
- readonly host: string;
64
- readonly port: number;
65
- }[];
66
- readonly host: string;
67
- readonly port: number;
68
- readonly password?: string;
69
- readonly username?: string;
70
- readonly db: number;
71
- };
72
- }
73
- interface QueueDriverFactory<TConfig extends NormalizedQueueRedisConnectionConfig = NormalizedQueueRedisConnectionConfig> {
74
- readonly driver: TConfig['driver'];
75
- create(connection: TConfig, context: QueueDriverFactoryContext): QueueAsyncDriver;
6
+ interface QueueDriverFactory extends QueueDriverFactory$1<NormalizedQueueRedisConnectionConfig> {
7
+ create(connection: NormalizedQueueRedisConnectionConfig, context: QueueDriverFactoryContext): QueueAsyncDriver;
76
8
  }
77
9
  type RedisQueuedEnvelope = QueueJobEnvelope<QueueJsonValue>;
78
10
  type BullJobInstance = Job<RedisQueuedEnvelope, unknown, string>;
@@ -132,7 +64,7 @@ declare class RedisQueueDriver implements QueueAsyncDriver {
132
64
  }): Promise<number>;
133
65
  close(): Promise<void>;
134
66
  }
135
- declare const redisQueueDriverFactory: QueueDriverFactory<NormalizedQueueRedisConnectionConfig>;
67
+ declare const redisQueueDriverFactory: QueueDriverFactory;
136
68
  declare const redisQueueDriverInternals: {
137
69
  isQueueEnvelope: typeof isQueueEnvelope;
138
70
  normalizeRedisErrorMessage: typeof normalizeRedisErrorMessage;
@@ -145,4 +77,4 @@ declare const redisQueueDriverInternals: {
145
77
  wrapRedisError: typeof wrapRedisError;
146
78
  };
147
79
 
148
- export { type NormalizedQueueRedisConnectionConfig, type QueueAsyncDriver, type QueueDriverDispatchResult, type QueueDriverFactory, type QueueDriverFactoryContext, type QueueJobEnvelope, type QueueJsonValue, type QueueReleaseOptions, type QueueReservedJob, RedisQueueDriver, RedisQueueDriverError, redisQueueDriverFactory, redisQueueDriverInternals };
80
+ export { type QueueDriverFactory, RedisQueueDriver, RedisQueueDriverError, redisQueueDriverFactory, redisQueueDriverInternals };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holo-js/queue-redis",
3
- "version": "0.2.6",
3
+ "version": "0.3.0",
4
4
  "description": "Holo-JS Framework - Redis queue driver",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -23,7 +23,7 @@
23
23
  "test": "vitest --run"
24
24
  },
25
25
  "peerDependencies": {
26
- "@holo-js/queue": "^0.2.6"
26
+ "@holo-js/queue": "^0.3.0"
27
27
  },
28
28
  "dependencies": {
29
29
  "bullmq": "^5.71.0",
@@ -31,7 +31,7 @@
31
31
  "tslib": "^2.8.1"
32
32
  },
33
33
  "devDependencies": {
34
- "@holo-js/queue": "^0.2.6",
34
+ "@holo-js/queue": "^0.3.0",
35
35
  "@types/node": "^22.10.2",
36
36
  "tsup": "^8.3.5",
37
37
  "typescript": "^5.7.2",