flashq 0.2.1 → 0.3.1
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/client/connection.d.ts +27 -69
- package/dist/client/connection.d.ts.map +1 -1
- package/dist/client/connection.js +291 -272
- package/dist/client/connection.js.map +1 -1
- package/dist/client/http/request.d.ts +24 -0
- package/dist/client/http/request.d.ts.map +1 -0
- package/dist/client/http/request.js +289 -0
- package/dist/client/http/request.js.map +1 -0
- package/dist/client/http/response.d.ts +9 -0
- package/dist/client/http/response.d.ts.map +1 -0
- package/dist/client/http/response.js +80 -0
- package/dist/client/http/response.js.map +1 -0
- package/dist/client/index.d.ts +68 -562
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +186 -638
- package/dist/client/index.js.map +1 -1
- package/dist/client/{advanced.d.ts → methods/advanced.d.ts} +1 -1
- package/dist/client/methods/advanced.d.ts.map +1 -0
- package/dist/client/methods/advanced.js.map +1 -0
- package/dist/client/{core.d.ts → methods/core.d.ts} +25 -2
- package/dist/client/methods/core.d.ts.map +1 -0
- package/dist/client/{core.js → methods/core.js} +106 -1
- package/dist/client/methods/core.js.map +1 -0
- package/dist/client/{cron.d.ts → methods/cron.d.ts} +1 -1
- package/dist/client/methods/cron.d.ts.map +1 -0
- package/dist/client/methods/cron.js.map +1 -0
- package/dist/client/{dlq.d.ts → methods/dlq.d.ts} +1 -1
- package/dist/client/methods/dlq.d.ts.map +1 -0
- package/dist/client/methods/dlq.js.map +1 -0
- package/dist/client/{flows.d.ts → methods/flows.d.ts} +1 -1
- package/dist/client/methods/flows.d.ts.map +1 -0
- package/dist/client/methods/flows.js.map +1 -0
- package/dist/client/{jobs.d.ts → methods/jobs.d.ts} +2 -16
- package/dist/client/methods/jobs.d.ts.map +1 -0
- package/dist/client/{jobs.js → methods/jobs.js} +1 -15
- package/dist/client/methods/jobs.js.map +1 -0
- package/dist/client/{metrics.d.ts → methods/metrics.d.ts} +1 -1
- package/dist/client/methods/metrics.d.ts.map +1 -0
- package/dist/client/methods/metrics.js.map +1 -0
- package/dist/client/{queue.d.ts → methods/queue.d.ts} +1 -1
- package/dist/client/methods/queue.d.ts.map +1 -0
- package/dist/client/methods/queue.js.map +1 -0
- package/dist/client/types.d.ts +10 -3
- package/dist/client/types.d.ts.map +1 -1
- package/dist/errors.d.ts +105 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +223 -0
- package/dist/errors.js.map +1 -0
- package/dist/events/index.d.ts +24 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +53 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/subscriber.d.ts +30 -0
- package/dist/events/subscriber.d.ts.map +1 -0
- package/dist/{events.js → events/subscriber.js} +51 -148
- package/dist/events/subscriber.js.map +1 -0
- package/dist/events/types.d.ts +38 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +6 -0
- package/dist/events/types.js.map +1 -0
- package/dist/hooks.d.ts +166 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +73 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -2
- package/dist/index.js.map +1 -1
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +9 -5
- package/dist/queue.js.map +1 -1
- package/dist/types.d.ts +53 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +53 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +150 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/retry.d.ts +70 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +149 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/worker.d.ts +26 -5
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +157 -86
- package/dist/worker.js.map +1 -1
- package/package.json +11 -1
- package/dist/client/advanced.d.ts.map +0 -1
- package/dist/client/advanced.js.map +0 -1
- package/dist/client/core.d.ts.map +0 -1
- package/dist/client/core.js.map +0 -1
- package/dist/client/cron.d.ts.map +0 -1
- package/dist/client/cron.js.map +0 -1
- package/dist/client/dlq.d.ts.map +0 -1
- package/dist/client/dlq.js.map +0 -1
- package/dist/client/flows.d.ts.map +0 -1
- package/dist/client/flows.js.map +0 -1
- package/dist/client/jobs.d.ts.map +0 -1
- package/dist/client/jobs.js.map +0 -1
- package/dist/client/kv.d.ts +0 -63
- package/dist/client/kv.d.ts.map +0 -1
- package/dist/client/kv.js +0 -131
- package/dist/client/kv.js.map +0 -1
- package/dist/client/metrics.d.ts.map +0 -1
- package/dist/client/metrics.js.map +0 -1
- package/dist/client/pubsub.d.ts +0 -42
- package/dist/client/pubsub.d.ts.map +0 -1
- package/dist/client/pubsub.js +0 -92
- package/dist/client/pubsub.js.map +0 -1
- package/dist/client/queue.d.ts.map +0 -1
- package/dist/client/queue.js.map +0 -1
- package/dist/events.d.ts +0 -184
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js.map +0 -1
- /package/dist/client/{advanced.js → methods/advanced.js} +0 -0
- /package/dist/client/{cron.js → methods/cron.js} +0 -0
- /package/dist/client/{dlq.js → methods/dlq.js} +0 -0
- /package/dist/client/{flows.js → methods/flows.js} +0 -0
- /package/dist/client/{metrics.js → methods/metrics.js} +0 -0
- /package/dist/client/{queue.js → methods/queue.js} +0 -0
|
@@ -1,103 +1,61 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
import type { ClientOptions } from '../types';
|
|
3
|
-
|
|
3
|
+
import { Logger } from '../utils/logger';
|
|
4
4
|
export declare const MAX_JOB_DATA_SIZE: number;
|
|
5
|
-
/** Maximum batch size allowed by the server */
|
|
6
5
|
export declare const MAX_BATCH_SIZE = 1000;
|
|
7
|
-
/**
|
|
8
|
-
* Validate queue name to prevent injection attacks
|
|
9
|
-
* @throws Error if queue name is invalid
|
|
10
|
-
*/
|
|
11
6
|
export declare function validateQueueName(queue: string): void;
|
|
12
|
-
/**
|
|
13
|
-
* Validate job data size
|
|
14
|
-
* @throws Error if data exceeds max size
|
|
15
|
-
*/
|
|
16
7
|
export declare function validateJobDataSize(data: unknown): void;
|
|
17
8
|
type ConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'closed';
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
/** Client options with required fields except hooks */
|
|
10
|
+
type ResolvedClientOptions = Required<Omit<ClientOptions, 'hooks'>> & {
|
|
11
|
+
hooks?: ClientOptions['hooks'];
|
|
12
|
+
};
|
|
22
13
|
export declare class FlashQConnection extends EventEmitter {
|
|
23
|
-
protected _options:
|
|
14
|
+
protected _options: ResolvedClientOptions;
|
|
15
|
+
protected logger: Logger;
|
|
24
16
|
private socket;
|
|
25
17
|
private connectionState;
|
|
26
18
|
private authenticated;
|
|
27
19
|
private pendingRequests;
|
|
28
|
-
private
|
|
29
|
-
private
|
|
20
|
+
private bufferChunks;
|
|
21
|
+
private bufferRemainder;
|
|
30
22
|
private binaryBuffer;
|
|
31
23
|
private reconnectAttempts;
|
|
32
24
|
private reconnectTimer;
|
|
33
25
|
private manualClose;
|
|
26
|
+
private retryConfig;
|
|
27
|
+
private queueOnDisconnect;
|
|
28
|
+
private maxQueuedRequests;
|
|
29
|
+
private requestQueue;
|
|
30
|
+
private trackRequestIds;
|
|
31
|
+
private compression;
|
|
32
|
+
private compressionThreshold;
|
|
34
33
|
constructor(options?: ClientOptions);
|
|
35
|
-
/**
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```typescript
|
|
43
|
-
* const client = new FlashQ();
|
|
44
|
-
* await client.connect();
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
34
|
+
/** @deprecated Use logger.debug() instead */
|
|
35
|
+
protected debug(message: string, data?: unknown): void;
|
|
36
|
+
/** Call connection hook */
|
|
37
|
+
private callConnectionHook;
|
|
38
|
+
get options(): ResolvedClientOptions;
|
|
47
39
|
connect(): Promise<void>;
|
|
48
|
-
/**
|
|
49
|
-
* Attempt to reconnect with exponential backoff
|
|
50
|
-
*/
|
|
51
40
|
private scheduleReconnect;
|
|
52
41
|
private setupSocketHandlers;
|
|
53
42
|
private processBuffer;
|
|
54
43
|
private processBinaryBuffer;
|
|
55
44
|
private handleResponse;
|
|
56
|
-
/**
|
|
57
|
-
* Close the connection to the server.
|
|
58
|
-
*
|
|
59
|
-
* @example
|
|
60
|
-
* ```typescript
|
|
61
|
-
* await client.close();
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
45
|
close(): Promise<void>;
|
|
65
|
-
/**
|
|
66
|
-
|
|
67
|
-
*
|
|
68
|
-
* @returns true if connected
|
|
69
|
-
*/
|
|
46
|
+
/** Get number of queued requests */
|
|
47
|
+
getQueuedRequestCount(): number;
|
|
70
48
|
isConnected(): boolean;
|
|
71
|
-
/**
|
|
72
|
-
* Get current connection state.
|
|
73
|
-
*
|
|
74
|
-
* @returns Connection state
|
|
75
|
-
*/
|
|
76
49
|
getConnectionState(): ConnectionState;
|
|
77
|
-
/**
|
|
78
|
-
* Ping the server to check connection health.
|
|
79
|
-
*
|
|
80
|
-
* @returns true if server responds
|
|
81
|
-
*/
|
|
82
50
|
ping(): Promise<boolean>;
|
|
83
|
-
/**
|
|
84
|
-
* Authenticate with the server.
|
|
85
|
-
*
|
|
86
|
-
* @param token - Authentication token
|
|
87
|
-
*/
|
|
88
51
|
auth(token: string): Promise<void>;
|
|
89
|
-
/**
|
|
90
|
-
* Send a command to the server.
|
|
91
|
-
* Auto-connects if not connected.
|
|
92
|
-
*
|
|
93
|
-
* @param command - Command object
|
|
94
|
-
* @param customTimeout - Optional custom timeout
|
|
95
|
-
* @returns Response from server
|
|
96
|
-
*/
|
|
97
52
|
send<T>(command: Record<string, unknown>, customTimeout?: number): Promise<T>;
|
|
53
|
+
private doSend;
|
|
54
|
+
private waitForReconnection;
|
|
55
|
+
private queueRequest;
|
|
56
|
+
private processRequestQueue;
|
|
98
57
|
private sendTcp;
|
|
99
58
|
private sendHttp;
|
|
100
|
-
private httpRequest;
|
|
101
59
|
}
|
|
102
60
|
export {};
|
|
103
61
|
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,UAAU,CAAC;AAWxE,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAKxD,eAAO,MAAM,iBAAiB,QAAc,CAAC;AAC7C,eAAO,MAAM,cAAc,OAAO,CAAC;AAKnC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAUrD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAQvD;AAeD,KAAK,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;AAS/F,uDAAuD;AACvD,KAAK,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG;IACpE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAEjB;IACF,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,OAAO,GAAE,aAAkB;IA2DvC,6CAA6C;IAC7C,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAItD,2BAA2B;IAC3B,OAAO,CAAC,kBAAkB;IAiB1B,IAAI,OAAO,IAAI,qBAAqB,CAEnC;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmE9B,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,cAAc;IAuBhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5B,oCAAoC;IACpC,qBAAqB,IAAI,MAAM;IAI/B,WAAW,IAAI,OAAO;IAGtB,kBAAkB,IAAI,eAAe;IAI/B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;YAqBrE,MAAM;YAeN,mBAAmB;IAsBjC,OAAO,CAAC,YAAY;YAiBN,mBAAmB;YAenB,OAAO;YA6EP,QAAQ;CA0BvB"}
|