glide-mq 0.2.0 → 0.4.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.
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ /**
3
+ * In-memory testing mode for glide-mq.
4
+ * TestQueue and TestWorker mimic the real API using plain Maps - no Valkey needed.
5
+ *
6
+ * Usage:
7
+ * import { TestQueue, TestWorker } from 'glide-mq/testing';
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.TestWorker = exports.TestQueue = exports.TestJob = void 0;
11
+ const events_1 = require("events");
12
+ /**
13
+ * Minimal Job-like object returned by TestQueue methods and passed to processors.
14
+ * Mirrors the public surface of the real Job class.
15
+ */
16
+ class TestJob {
17
+ id;
18
+ name;
19
+ data;
20
+ opts;
21
+ attemptsMade;
22
+ returnvalue;
23
+ failedReason;
24
+ progress;
25
+ timestamp;
26
+ finishedOn;
27
+ processedOn;
28
+ constructor(record) {
29
+ this.id = record.id;
30
+ this.name = record.name;
31
+ this.data = record.data;
32
+ this.opts = record.opts;
33
+ this.attemptsMade = record.attemptsMade;
34
+ this.returnvalue = record.returnvalue;
35
+ this.failedReason = record.failedReason;
36
+ this.progress = 0;
37
+ this.timestamp = record.timestamp;
38
+ this.finishedOn = record.finishedOn;
39
+ this.processedOn = record.processedOn;
40
+ }
41
+ async log(_message) {
42
+ // no-op in test mode
43
+ }
44
+ async updateProgress(p) {
45
+ this.progress = p;
46
+ }
47
+ async updateData(data) {
48
+ this.data = data;
49
+ }
50
+ }
51
+ exports.TestJob = TestJob;
52
+ /** Check if all key-value pairs in filter exist in data (shallow match). */
53
+ function matchesData(data, filter) {
54
+ for (const [key, value] of Object.entries(filter)) {
55
+ if (data[key] !== value)
56
+ return false;
57
+ }
58
+ return true;
59
+ }
60
+ class TestQueue extends events_1.EventEmitter {
61
+ name;
62
+ /** @internal */ jobs = new Map();
63
+ /** @internal */ dedupSet = new Set();
64
+ idCounter = 0;
65
+ paused = false;
66
+ opts;
67
+ /** Workers register themselves here so we can notify on add. */
68
+ /** @internal */ workers = new Set();
69
+ constructor(name, opts) {
70
+ super();
71
+ this.name = name;
72
+ this.opts = opts ?? {};
73
+ }
74
+ /** Add a single job. Returns null if deduplicated. */
75
+ async add(name, data, opts) {
76
+ if (opts?.deduplication && this.opts.dedup) {
77
+ const dedupId = opts.deduplication.id;
78
+ if (this.dedupSet.has(dedupId)) {
79
+ return null;
80
+ }
81
+ this.dedupSet.add(dedupId);
82
+ }
83
+ const id = String(++this.idCounter);
84
+ const record = {
85
+ id,
86
+ name,
87
+ data,
88
+ opts: opts ?? {},
89
+ state: 'waiting',
90
+ attemptsMade: 0,
91
+ returnvalue: undefined,
92
+ failedReason: undefined,
93
+ timestamp: Date.now(),
94
+ finishedOn: undefined,
95
+ processedOn: undefined,
96
+ };
97
+ this.jobs.set(id, record);
98
+ const job = new TestJob(record);
99
+ this.emit('added', job);
100
+ // Notify attached workers (microtask so the add() caller gets the job first)
101
+ if (!this.paused) {
102
+ queueMicrotask(() => {
103
+ for (const w of this.workers) {
104
+ w.onJobAdded();
105
+ }
106
+ });
107
+ }
108
+ return job;
109
+ }
110
+ /** Add multiple jobs. */
111
+ async addBulk(jobs) {
112
+ const results = [];
113
+ for (const entry of jobs) {
114
+ const job = await this.add(entry.name, entry.data, entry.opts);
115
+ if (job)
116
+ results.push(job);
117
+ }
118
+ return results;
119
+ }
120
+ /** Retrieve a job by ID. */
121
+ async getJob(id) {
122
+ const record = this.jobs.get(id);
123
+ if (!record)
124
+ return null;
125
+ return new TestJob(record);
126
+ }
127
+ /** Retrieve jobs by state. */
128
+ async getJobs(type, start = 0, end = -1) {
129
+ const matching = [];
130
+ for (const record of this.jobs.values()) {
131
+ if (record.state === type) {
132
+ matching.push(new TestJob(record));
133
+ }
134
+ }
135
+ const sliceEnd = end >= 0 ? end + 1 : undefined;
136
+ return matching.slice(start, sliceEnd);
137
+ }
138
+ /** Get counts by state. */
139
+ async getJobCounts() {
140
+ const counts = { waiting: 0, active: 0, delayed: 0, completed: 0, failed: 0 };
141
+ for (const record of this.jobs.values()) {
142
+ counts[record.state]++;
143
+ }
144
+ return counts;
145
+ }
146
+ /** Pause the queue - workers stop picking up new jobs. */
147
+ async pause() {
148
+ this.paused = true;
149
+ }
150
+ /** Resume the queue. */
151
+ async resume() {
152
+ this.paused = false;
153
+ // Kick workers to process any waiting jobs
154
+ for (const w of this.workers) {
155
+ w.onJobAdded();
156
+ }
157
+ }
158
+ /** Check if paused. */
159
+ isPaused() {
160
+ return this.paused;
161
+ }
162
+ /** Search jobs by name and/or data fields. */
163
+ async searchJobs(opts) {
164
+ const results = [];
165
+ for (const record of this.jobs.values()) {
166
+ if (opts.name !== undefined && record.name !== opts.name)
167
+ continue;
168
+ if (opts.state !== undefined && record.state !== opts.state)
169
+ continue;
170
+ if (opts.data !== undefined && !matchesData(record.data, opts.data))
171
+ continue;
172
+ results.push(new TestJob(record));
173
+ }
174
+ return results;
175
+ }
176
+ /** Close the queue. */
177
+ async close() {
178
+ this.removeAllListeners();
179
+ this.workers.clear();
180
+ }
181
+ }
182
+ exports.TestQueue = TestQueue;
183
+ class TestWorker extends events_1.EventEmitter {
184
+ queue;
185
+ processor;
186
+ concurrency;
187
+ activeCount = 0;
188
+ running = true;
189
+ processing = false;
190
+ constructor(queue, processor, opts) {
191
+ super();
192
+ this.queue = queue;
193
+ this.processor = processor;
194
+ this.concurrency = opts?.concurrency ?? 1;
195
+ // Register with the queue
196
+ queue.workers.add(this);
197
+ // Process any jobs already in the queue
198
+ queueMicrotask(() => this.drain());
199
+ }
200
+ /** @internal Called by TestQueue when a job is added. */
201
+ onJobAdded() {
202
+ if (!this.running)
203
+ return;
204
+ this.drain();
205
+ }
206
+ /** Pull and process waiting jobs up to concurrency. */
207
+ drain() {
208
+ if (this.processing)
209
+ return;
210
+ this.processing = true;
211
+ // Use microtask to batch multiple onJobAdded calls
212
+ queueMicrotask(() => {
213
+ this.processing = false;
214
+ this.processAvailable();
215
+ });
216
+ }
217
+ processAvailable() {
218
+ if (!this.running || this.queue.isPaused())
219
+ return;
220
+ while (this.activeCount < this.concurrency) {
221
+ const record = this.findNextWaiting();
222
+ if (!record)
223
+ break;
224
+ record.state = 'active';
225
+ record.processedOn = Date.now();
226
+ this.activeCount++;
227
+ this.processJob(record);
228
+ }
229
+ }
230
+ findNextWaiting() {
231
+ for (const record of this.queue.jobs.values()) {
232
+ if (record.state === 'waiting')
233
+ return record;
234
+ }
235
+ return undefined;
236
+ }
237
+ processJob(record) {
238
+ const job = new TestJob(record);
239
+ this.processor(job)
240
+ .then((result) => {
241
+ record.state = 'completed';
242
+ record.returnvalue = result;
243
+ record.finishedOn = Date.now();
244
+ job.returnvalue = result;
245
+ job.finishedOn = record.finishedOn;
246
+ this.emit('completed', job, result);
247
+ this.queue.emit('completed', job, result);
248
+ })
249
+ .catch((err) => {
250
+ record.attemptsMade++;
251
+ const maxAttempts = record.opts.attempts ?? 0;
252
+ if (maxAttempts > 0 && record.attemptsMade < maxAttempts) {
253
+ // Retry: put back to waiting
254
+ record.state = 'waiting';
255
+ // Schedule a re-drain so the retry gets picked up
256
+ queueMicrotask(() => this.processAvailable());
257
+ }
258
+ else {
259
+ record.state = 'failed';
260
+ record.failedReason = err.message;
261
+ record.finishedOn = Date.now();
262
+ job.failedReason = err.message;
263
+ job.finishedOn = record.finishedOn;
264
+ this.emit('failed', job, err);
265
+ this.queue.emit('failed', job, err);
266
+ }
267
+ })
268
+ .finally(() => {
269
+ this.activeCount--;
270
+ // Try to pick up more work
271
+ if (this.running && !this.queue.isPaused()) {
272
+ this.processAvailable();
273
+ }
274
+ });
275
+ }
276
+ /** Stop processing and detach from the queue. */
277
+ async close() {
278
+ this.running = false;
279
+ this.queue.workers.delete(this);
280
+ this.removeAllListeners();
281
+ }
282
+ }
283
+ exports.TestWorker = TestWorker;
284
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,16 +1,49 @@
1
- import type { GlideClient, GlideClusterClient } from '@glidemq/speedkey';
1
+ import type { GlideClient, GlideClusterClient, ReadFrom } from '@glidemq/speedkey';
2
2
  export type Client = GlideClient | GlideClusterClient;
3
+ export type { ReadFrom } from '@glidemq/speedkey';
4
+ /** Standard password-based credentials. */
5
+ export interface PasswordCredentials {
6
+ username?: string;
7
+ password: string;
8
+ }
9
+ /** IAM authentication credentials for AWS ElastiCache/MemoryDB. */
10
+ export interface IamCredentials {
11
+ type: 'iam';
12
+ /** ElastiCache or MemoryDB. */
13
+ serviceType: 'elasticache' | 'memorydb';
14
+ /** AWS region (e.g. 'us-east-1'). */
15
+ region: string;
16
+ /** The IAM user ID used for authentication. Maps to username in Valkey AUTH. */
17
+ userId: string;
18
+ /** The ElastiCache/MemoryDB cluster name. */
19
+ clusterName: string;
20
+ /** Token refresh interval in seconds. Defaults to 300 (5 min). */
21
+ refreshIntervalSeconds?: number;
22
+ }
3
23
  export interface ConnectionOptions {
4
24
  addresses: {
5
25
  host: string;
6
26
  port: number;
7
27
  }[];
8
28
  useTLS?: boolean;
9
- credentials?: {
10
- username?: string;
11
- password: string;
12
- };
29
+ credentials?: PasswordCredentials | IamCredentials;
13
30
  clusterMode?: boolean;
31
+ /**
32
+ * Read strategy for the client. Controls how read commands are routed.
33
+ * - 'primary': Always read from primary (default).
34
+ * - 'preferReplica': Round-robin across replicas, fallback to primary.
35
+ * - 'AZAffinity': Route reads to replicas in the same availability zone.
36
+ * - 'AZAffinityReplicasAndPrimary': Route reads to any node in the same AZ.
37
+ *
38
+ * AZ-based strategies require `clientAz` to be set.
39
+ */
40
+ readFrom?: ReadFrom;
41
+ /**
42
+ * Availability zone of the client (e.g., 'us-east-1a').
43
+ * Used with readFrom 'AZAffinity' or 'AZAffinityReplicasAndPrimary' to route
44
+ * read commands to nodes in the same AZ, reducing cross-AZ latency and cost.
45
+ */
46
+ clientAz?: string;
14
47
  }
15
48
  export interface DeadLetterQueueOptions {
16
49
  /** Queue name to use as the dead letter queue. */
@@ -23,6 +56,8 @@ export interface QueueOptions {
23
56
  prefix?: string;
24
57
  /** Dead letter queue configuration. Jobs that exhaust retries are moved here. */
25
58
  deadLetterQueue?: DeadLetterQueueOptions;
59
+ /** Enable transparent compression of job data. Default: 'none'. */
60
+ compression?: 'none' | 'gzip';
26
61
  }
27
62
  export interface WorkerOptions extends QueueOptions {
28
63
  concurrency?: number;
@@ -122,4 +157,10 @@ export interface JobCounts {
122
157
  completed: number;
123
158
  failed: number;
124
159
  }
160
+ export interface SearchJobsOptions {
161
+ state?: 'waiting' | 'active' | 'delayed' | 'completed' | 'failed';
162
+ name?: string;
163
+ data?: Record<string, unknown>;
164
+ limit?: number;
165
+ }
125
166
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC;IACjF;;gCAE4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAA;KAAE,CAAC;IACxF,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACxC;AAED,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEzF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,eAAe,GAAG,QAAQ,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Compress a string with gzip and return a prefixed base64 string.
3
+ * Format: 'gz:' + base64(gzipped data)
4
+ */
5
+ export declare function compress(data: string): string;
6
+ /**
7
+ * Decompress a 'gz:'-prefixed base64 string back to the original string.
8
+ * If the input is not compressed (no 'gz:' prefix), returns it as-is.
9
+ */
10
+ export declare function decompress(data: string): string;
1
11
  export declare function escapeGlob(str: string): string;
2
12
  export declare function keyPrefix(prefix: string, queueName: string): string;
3
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAiB;;;;;;;;;;;cAatD,MAAM;cACN,MAAM;eACL,MAAM;EAEpB;AAMD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAIpF;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,MAAM,SAAI,GACT,MAAM,CAeR;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,SAAQ,GAAG,MAAM,CAG9E;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,IAAI,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAO/B;AAID;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,GAC5C,MAAM,EAAE,CAUV;AAID,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,IAAI,OAAO,CAAC;IACpB,UAAU,IAAI,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,gBAAgB,EACrB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAChC,QAAQ,EAAE,MAAM,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAcf;AAkDD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAqC3E"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM/C;AAKD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAiB;;;;;;;;;;;cAatD,MAAM;cACN,MAAM;eACL,MAAM;EAEpB;AAMD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAIpF;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,MAAM,SAAI,GACT,MAAM,CAeR;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,SAAQ,GAAG,MAAM,CAG9E;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,IAAI,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAO/B;AAID;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,GAC5C,MAAM,EAAE,CAUV;AAID,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,IAAI,OAAO,CAAC;IACpB,UAAU,IAAI,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,gBAAgB,EACrB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAChC,QAAQ,EAAE,MAAM,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAcf;AAkDD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAqC3E"}
package/dist/utils.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compress = compress;
4
+ exports.decompress = decompress;
3
5
  exports.escapeGlob = escapeGlob;
4
6
  exports.keyPrefix = keyPrefix;
5
7
  exports.keyPrefixPattern = keyPrefixPattern;
@@ -13,7 +15,29 @@ exports.hashDataToRecord = hashDataToRecord;
13
15
  exports.extractJobIdsFromStreamEntries = extractJobIdsFromStreamEntries;
14
16
  exports.reconnectWithBackoff = reconnectWithBackoff;
15
17
  exports.nextCronOccurrence = nextCronOccurrence;
18
+ const zlib_1 = require("zlib");
16
19
  const DEFAULT_PREFIX = 'glide';
20
+ // ---- Compression helpers ----
21
+ const COMPRESSED_PREFIX = 'gz:';
22
+ /**
23
+ * Compress a string with gzip and return a prefixed base64 string.
24
+ * Format: 'gz:' + base64(gzipped data)
25
+ */
26
+ function compress(data) {
27
+ const buf = (0, zlib_1.gzipSync)(Buffer.from(data, 'utf8'));
28
+ return COMPRESSED_PREFIX + buf.toString('base64');
29
+ }
30
+ /**
31
+ * Decompress a 'gz:'-prefixed base64 string back to the original string.
32
+ * If the input is not compressed (no 'gz:' prefix), returns it as-is.
33
+ */
34
+ function decompress(data) {
35
+ if (!data.startsWith(COMPRESSED_PREFIX)) {
36
+ return data;
37
+ }
38
+ const buf = Buffer.from(data.slice(COMPRESSED_PREFIX.length), 'base64');
39
+ return (0, zlib_1.gunzipSync)(buf).toString('utf8');
40
+ }
17
41
  // Valkey SCAN glob special characters that must be escaped in key patterns
18
42
  const GLOB_SPECIAL = /[*?\[\]\\]/g;
19
43
  function escapeGlob(str) {
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,19 @@
1
1
  {
2
2
  "name": "glide-mq",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "High-performance message queue for Node.js built on Valkey/Redis with native NAPI bindings",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ },
12
+ "./testing": {
13
+ "types": "./dist/testing.d.ts",
14
+ "default": "./dist/testing.js"
15
+ }
16
+ },
7
17
  "type": "commonjs",
8
18
  "scripts": {
9
19
  "build": "tsc",
@@ -28,8 +38,10 @@
28
38
  "@glidemq/speedkey": "^0.2.0"
29
39
  },
30
40
  "devDependencies": {
41
+ "@types/express": "^5.0.6",
31
42
  "@types/node": "^22",
32
43
  "bullmq": "^5.69.2",
44
+ "express": "^5.2.1",
33
45
  "ioredis": "^5.9.3",
34
46
  "tsx": "^4.21.0",
35
47
  "typescript": "^5",