@arcraz/common 1.0.0 → 1.2.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.
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/schemas.d.ts +67 -0
- package/dist/config/schemas.d.ts.map +1 -1
- package/dist/config/schemas.js +27 -0
- package/dist/config/types.d.ts +9 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +1 -1
- package/dist/constants/defaults.d.ts +10 -0
- package/dist/constants/defaults.d.ts.map +1 -1
- package/dist/constants/defaults.js +10 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/database/index.d.ts +1 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/types.d.ts +1 -0
- package/dist/database/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/rabbitmq/index.d.ts +1 -1
- package/dist/rabbitmq/index.d.ts.map +1 -1
- package/dist/rabbitmq/types.d.ts +1 -0
- package/dist/rabbitmq/types.d.ts.map +1 -1
- package/dist/redis/index.d.ts +1 -1
- package/dist/redis/index.d.ts.map +1 -1
- package/dist/redis/types.d.ts +1 -0
- package/dist/redis/types.d.ts.map +1 -1
- package/dist/socketio/index.d.ts +3 -0
- package/dist/socketio/index.d.ts.map +1 -0
- package/dist/socketio/index.js +1 -0
- package/dist/socketio/server-factory.d.ts +9 -0
- package/dist/socketio/server-factory.d.ts.map +1 -0
- package/dist/socketio/server-factory.js +129 -0
- package/dist/socketio/types.d.ts +74 -0
- package/dist/socketio/types.d.ts.map +1 -0
- package/dist/socketio/types.js +1 -0
- package/package.json +16 -2
package/dist/config/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { loadEnv, getEnv, requireEnv } from './env-loader.js';
|
|
2
2
|
export type { LoadEnvOptions } from './env-loader.js';
|
|
3
|
-
export { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, validateConfig, safeValidateConfig } from './schemas.js';
|
|
4
|
-
export type { DatabaseConfig, RedisConfig, RedisClusterConfig, RabbitMQConfig, LoggingConfig } from './types.js';
|
|
3
|
+
export { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, SocketIOConfigSchema, SocketIORedisAdapterConfigSchema, validateConfig, safeValidateConfig } from './schemas.js';
|
|
4
|
+
export type { DatabaseConfig, RedisConfig, RedisClusterConfig, RabbitMQConfig, LoggingConfig, SocketIOConfig, SocketIORedisAdapterConfig } from './types.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,gCAAgC,EAChC,cAAc,EACd,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { loadEnv, getEnv, requireEnv } from './env-loader.js';
|
|
2
|
-
export { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, validateConfig, safeValidateConfig } from './schemas.js';
|
|
2
|
+
export { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, SocketIOConfigSchema, SocketIORedisAdapterConfigSchema, validateConfig, safeValidateConfig } from './schemas.js';
|
package/dist/config/schemas.d.ts
CHANGED
|
@@ -169,6 +169,73 @@ export declare const LoggingConfigSchema: z.ZodObject<{
|
|
|
169
169
|
timestamp?: boolean | undefined;
|
|
170
170
|
colorize?: boolean | undefined;
|
|
171
171
|
}>;
|
|
172
|
+
/**
|
|
173
|
+
* Socket.IO configuration schema
|
|
174
|
+
*/
|
|
175
|
+
export declare const SocketIOConfigSchema: z.ZodObject<{
|
|
176
|
+
path: z.ZodDefault<z.ZodString>;
|
|
177
|
+
pingTimeout: z.ZodDefault<z.ZodNumber>;
|
|
178
|
+
pingInterval: z.ZodDefault<z.ZodNumber>;
|
|
179
|
+
maxHttpBufferSize: z.ZodDefault<z.ZodNumber>;
|
|
180
|
+
transports: z.ZodDefault<z.ZodArray<z.ZodEnum<["websocket", "polling"]>, "many">>;
|
|
181
|
+
cors: z.ZodOptional<z.ZodObject<{
|
|
182
|
+
origin: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodBoolean]>>;
|
|
183
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
184
|
+
credentials: z.ZodOptional<z.ZodBoolean>;
|
|
185
|
+
}, "strip", z.ZodTypeAny, {
|
|
186
|
+
origin?: string | boolean | string[] | undefined;
|
|
187
|
+
methods?: string[] | undefined;
|
|
188
|
+
credentials?: boolean | undefined;
|
|
189
|
+
}, {
|
|
190
|
+
origin?: string | boolean | string[] | undefined;
|
|
191
|
+
methods?: string[] | undefined;
|
|
192
|
+
credentials?: boolean | undefined;
|
|
193
|
+
}>>;
|
|
194
|
+
}, "strip", z.ZodTypeAny, {
|
|
195
|
+
path: string;
|
|
196
|
+
pingTimeout: number;
|
|
197
|
+
pingInterval: number;
|
|
198
|
+
maxHttpBufferSize: number;
|
|
199
|
+
transports: ("websocket" | "polling")[];
|
|
200
|
+
cors?: {
|
|
201
|
+
origin?: string | boolean | string[] | undefined;
|
|
202
|
+
methods?: string[] | undefined;
|
|
203
|
+
credentials?: boolean | undefined;
|
|
204
|
+
} | undefined;
|
|
205
|
+
}, {
|
|
206
|
+
path?: string | undefined;
|
|
207
|
+
pingTimeout?: number | undefined;
|
|
208
|
+
pingInterval?: number | undefined;
|
|
209
|
+
maxHttpBufferSize?: number | undefined;
|
|
210
|
+
transports?: ("websocket" | "polling")[] | undefined;
|
|
211
|
+
cors?: {
|
|
212
|
+
origin?: string | boolean | string[] | undefined;
|
|
213
|
+
methods?: string[] | undefined;
|
|
214
|
+
credentials?: boolean | undefined;
|
|
215
|
+
} | undefined;
|
|
216
|
+
}>;
|
|
217
|
+
/**
|
|
218
|
+
* Socket.IO Redis adapter configuration schema
|
|
219
|
+
*/
|
|
220
|
+
export declare const SocketIORedisAdapterConfigSchema: z.ZodObject<{
|
|
221
|
+
host: z.ZodDefault<z.ZodString>;
|
|
222
|
+
port: z.ZodDefault<z.ZodNumber>;
|
|
223
|
+
password: z.ZodOptional<z.ZodString>;
|
|
224
|
+
db: z.ZodDefault<z.ZodNumber>;
|
|
225
|
+
keyPrefix: z.ZodOptional<z.ZodString>;
|
|
226
|
+
}, "strip", z.ZodTypeAny, {
|
|
227
|
+
host: string;
|
|
228
|
+
port: number;
|
|
229
|
+
db: number;
|
|
230
|
+
password?: string | undefined;
|
|
231
|
+
keyPrefix?: string | undefined;
|
|
232
|
+
}, {
|
|
233
|
+
host?: string | undefined;
|
|
234
|
+
port?: number | undefined;
|
|
235
|
+
password?: string | undefined;
|
|
236
|
+
db?: number | undefined;
|
|
237
|
+
keyPrefix?: string | undefined;
|
|
238
|
+
}>;
|
|
172
239
|
/**
|
|
173
240
|
* Validates configuration against a schema
|
|
174
241
|
* @param schema The Zod schema to validate against
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/config/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAM7J"}
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/config/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;EAM3C,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAM7J"}
|
package/dist/config/schemas.js
CHANGED
|
@@ -67,6 +67,33 @@ export const LoggingConfigSchema = z.object({
|
|
|
67
67
|
timestamp: z.boolean().default(true),
|
|
68
68
|
colorize: z.boolean().default(false)
|
|
69
69
|
});
|
|
70
|
+
/**
|
|
71
|
+
* Socket.IO configuration schema
|
|
72
|
+
*/
|
|
73
|
+
export const SocketIOConfigSchema = z.object({
|
|
74
|
+
path: z.string().default('/socket.io'),
|
|
75
|
+
pingTimeout: z.number().int().positive().default(20000),
|
|
76
|
+
pingInterval: z.number().int().positive().default(25000),
|
|
77
|
+
maxHttpBufferSize: z.number().positive().default(1e6),
|
|
78
|
+
transports: z.array(z.enum(['websocket', 'polling'])).default(['websocket', 'polling']),
|
|
79
|
+
cors: z
|
|
80
|
+
.object({
|
|
81
|
+
origin: z.union([z.string(), z.array(z.string()), z.boolean()]).optional(),
|
|
82
|
+
methods: z.array(z.string()).optional(),
|
|
83
|
+
credentials: z.boolean().optional()
|
|
84
|
+
})
|
|
85
|
+
.optional()
|
|
86
|
+
});
|
|
87
|
+
/**
|
|
88
|
+
* Socket.IO Redis adapter configuration schema
|
|
89
|
+
*/
|
|
90
|
+
export const SocketIORedisAdapterConfigSchema = z.object({
|
|
91
|
+
host: z.string().min(1).default('localhost'),
|
|
92
|
+
port: z.number().int().positive().default(6379),
|
|
93
|
+
password: z.string().optional(),
|
|
94
|
+
db: z.number().int().nonnegative().default(0),
|
|
95
|
+
keyPrefix: z.string().optional()
|
|
96
|
+
});
|
|
70
97
|
/**
|
|
71
98
|
* Validates configuration against a schema
|
|
72
99
|
* @param schema The Zod schema to validate against
|
package/dist/config/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema } from './schemas.js';
|
|
2
|
+
import { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, SocketIOConfigSchema, SocketIORedisAdapterConfigSchema } from './schemas.js';
|
|
3
3
|
/**
|
|
4
4
|
* Database configuration type
|
|
5
5
|
*/
|
|
@@ -20,4 +20,12 @@ export type RabbitMQConfig = z.infer<typeof RabbitMQConfigSchema>;
|
|
|
20
20
|
* Logging configuration type
|
|
21
21
|
*/
|
|
22
22
|
export type LoggingConfig = z.infer<typeof LoggingConfigSchema>;
|
|
23
|
+
/**
|
|
24
|
+
* Socket.IO configuration type
|
|
25
|
+
*/
|
|
26
|
+
export type SocketIOConfig = z.infer<typeof SocketIOConfigSchema>;
|
|
27
|
+
/**
|
|
28
|
+
* Socket.IO Redis adapter configuration type
|
|
29
|
+
*/
|
|
30
|
+
export type SocketIORedisAdapterConfig = z.infer<typeof SocketIORedisAdapterConfigSchema>;
|
|
23
31
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,gCAAgC,EACjC,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
|
package/dist/config/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema } from './schemas.js';
|
|
2
|
+
import { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, SocketIOConfigSchema, SocketIORedisAdapterConfigSchema } from './schemas.js';
|
|
@@ -47,4 +47,14 @@ export declare const PAGINATION_DEFAULTS: {
|
|
|
47
47
|
readonly MAX_PAGE_SIZE: 1000;
|
|
48
48
|
readonly DEFAULT_PAGE: 1;
|
|
49
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Default Socket.IO configuration values
|
|
52
|
+
*/
|
|
53
|
+
export declare const SOCKETIO_DEFAULTS: {
|
|
54
|
+
readonly PATH: "/socket.io";
|
|
55
|
+
readonly PING_TIMEOUT_MS: 20000;
|
|
56
|
+
readonly PING_INTERVAL_MS: 25000;
|
|
57
|
+
readonly MAX_HTTP_BUFFER_SIZE: 1000000;
|
|
58
|
+
readonly TRANSPORTS: readonly ["websocket", "polling"];
|
|
59
|
+
};
|
|
50
60
|
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/constants/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAQpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC"}
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/constants/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAQpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC"}
|
|
@@ -47,3 +47,13 @@ export const PAGINATION_DEFAULTS = {
|
|
|
47
47
|
MAX_PAGE_SIZE: 1000,
|
|
48
48
|
DEFAULT_PAGE: 1
|
|
49
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Default Socket.IO configuration values
|
|
52
|
+
*/
|
|
53
|
+
export const SOCKETIO_DEFAULTS = {
|
|
54
|
+
PATH: '/socket.io',
|
|
55
|
+
PING_TIMEOUT_MS: 20000,
|
|
56
|
+
PING_INTERVAL_MS: 25000,
|
|
57
|
+
MAX_HTTP_BUFFER_SIZE: 1e6,
|
|
58
|
+
TRANSPORTS: ['websocket', 'polling']
|
|
59
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { CACHE_DURATION } from './cache-durations.js';
|
|
2
2
|
export type { CacheDuration } from './cache-durations.js';
|
|
3
|
-
export { DATABASE_DEFAULTS, REDIS_DEFAULTS, RABBITMQ_DEFAULTS, RETRY_DEFAULTS, PAGINATION_DEFAULTS } from './defaults.js';
|
|
3
|
+
export { DATABASE_DEFAULTS, REDIS_DEFAULTS, RABBITMQ_DEFAULTS, RETRY_DEFAULTS, PAGINATION_DEFAULTS, SOCKETIO_DEFAULTS } from './defaults.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/constants/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { CACHE_DURATION } from './cache-durations.js';
|
|
2
|
-
export { DATABASE_DEFAULTS, REDIS_DEFAULTS, RABBITMQ_DEFAULTS, RETRY_DEFAULTS, PAGINATION_DEFAULTS } from './defaults.js';
|
|
2
|
+
export { DATABASE_DEFAULTS, REDIS_DEFAULTS, RABBITMQ_DEFAULTS, RETRY_DEFAULTS, PAGINATION_DEFAULTS, SOCKETIO_DEFAULTS } from './defaults.js';
|
package/dist/database/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { createDatabasePool, queryWithCamelCase, queryOneWithCamelCase } from '.
|
|
|
2
2
|
export { BaseRepository } from './base-repository.js';
|
|
3
3
|
export { camelCaseRows, camelCaseRow, snakeCaseKeys, setupTypeParsers, parsePostgresArray, toPostgresArray } from './query-helpers.js';
|
|
4
4
|
export { ConverterHelper, PagedResponseHelper } from './helpers/index.js';
|
|
5
|
-
export type { DatabasePool, DatabasePoolConfig, QueryOptions, PagedResponse } from './types.js';
|
|
5
|
+
export type { DatabasePool, DatabasePoolConfig, QueryOptions, PagedResponse, Pool, PoolClient, QueryResult, QueryResultRow } from './types.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvI,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvI,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/database/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,yDAAyD;IACzD,KAAK,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,kDAAkD;IAClD,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,2DAA2D;IAC3D,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,qBAAqB;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iCAAiC;IACjC,WAAW,IAAI,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,EAAE,CAAC;CACd"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAGxE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,yDAAyD;IACzD,KAAK,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,kDAAkD;IAClD,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,2DAA2D;IAC3D,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,qBAAqB;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iCAAiC;IACjC,WAAW,IAAI,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,EAAE,CAAC;CACd"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/rabbitmq/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { createRabbitMQConnection } from './connection-factory.js';
|
|
|
2
2
|
export { getNamespacedQueue, getNamespacedExchange, stripQueueNamespace, extractQueueNamespace } from './namespace-helpers.js';
|
|
3
3
|
export { publish, publishWithDelay, publishToExchange } from './publisher.js';
|
|
4
4
|
export { consume, RabbitConsumer } from './consumer.js';
|
|
5
|
-
export type { RabbitMQConnection, RabbitMQConnectionConfig, RabbitMQConsumer, DelaySettings, PublishOptions, ConsumeOptions, MessageHandler } from './types.js';
|
|
5
|
+
export type { RabbitMQConnection, RabbitMQConnectionConfig, RabbitMQConsumer, DelaySettings, PublishOptions, ConsumeOptions, MessageHandler, Connection, Channel, ConsumeMessage } from './types.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rabbitmq/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/H,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAExD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rabbitmq/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/H,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAExD,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,OAAO,EACP,cAAc,EACf,MAAM,YAAY,CAAC"}
|
package/dist/rabbitmq/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rabbitmq/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,yBAAyB;IACzB,WAAW,IAAI,OAAO,CAAC;IACvB,4BAA4B;IAC5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rabbitmq/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGnE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,yBAAyB;IACzB,WAAW,IAAI,OAAO,CAAC;IACvB,4BAA4B;IAC5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
|
package/dist/redis/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { createRedisClient, createRedisCluster } from './client-factory.js';
|
|
|
2
2
|
export { getNamespacedKey, processKey, stripNamespace, extractNamespace } from './namespace-helpers.js';
|
|
3
3
|
export { set, get, del, exists, keys, expire, ttl, incr, incrBy, decr, listPush, lpush, rpush, lpop, rpop, lrange, lgetall, llen, lindex, lset, ltrim } from './operations/index.js';
|
|
4
4
|
export { ListPosition } from './types.js';
|
|
5
|
-
export type { RedisClient, RedisData, RedisInstance, RedisInstanceConfig, RedisClusterInstanceConfig, SetOptions, GetOptions } from './types.js';
|
|
5
|
+
export type { RedisClient, RedisData, RedisInstance, RedisInstanceConfig, RedisClusterInstanceConfig, SetOptions, GetOptions, Redis, Cluster } from './types.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAExG,OAAO,EACL,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,IAAI,EACJ,MAAM,EACN,GAAG,EACH,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACN,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAExG,OAAO,EACL,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,IAAI,EACJ,MAAM,EACN,GAAG,EACH,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACN,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/redis/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/redis/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;;GAEG;AACH,oBAAY,YAAY;IACtB,WAAW,UAAU;IACrB,UAAU,SAAS;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,yBAAyB;IACzB,WAAW,IAAI,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,6BAA6B;IAC7B,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/redis/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG9C,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;;GAEG;AACH,oBAAY,YAAY;IACtB,WAAW,UAAU;IACrB,UAAU,SAAS;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,yBAAyB;IACzB,WAAW,IAAI,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,6BAA6B;IAC7B,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createSocketIOServer } from './server-factory.js';
|
|
2
|
+
export type { Server, Socket, Namespace, BroadcastOperator, RemoteSocket, DisconnectReason, AuthVerifyFunction, AuthenticatedSocket, SocketIOServerConfig, SocketIOInstance } from './types.js';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/socketio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,YAAY,EACV,MAAM,EACN,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createSocketIOServer } from './server-factory.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SocketIOServerConfig, SocketIOInstance } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a Socket.IO server instance with optional auth middleware and Redis adapter
|
|
4
|
+
*
|
|
5
|
+
* @param config Server configuration
|
|
6
|
+
* @returns SocketIOInstance with server, namespace, and helper methods
|
|
7
|
+
*/
|
|
8
|
+
export declare function createSocketIOServer<TUser = unknown>(config: SocketIOServerConfig<TUser>): Promise<SocketIOInstance<TUser>>;
|
|
9
|
+
//# sourceMappingURL=server-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-factory.d.ts","sourceRoot":"","sources":["../../src/socketio/server-factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzE;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CA2IjI"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Server } from 'socket.io';
|
|
2
|
+
import { SOCKETIO_DEFAULTS } from '../constants/defaults.js';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Socket.IO server instance with optional auth middleware and Redis adapter
|
|
5
|
+
*
|
|
6
|
+
* @param config Server configuration
|
|
7
|
+
* @returns SocketIOInstance with server, namespace, and helper methods
|
|
8
|
+
*/
|
|
9
|
+
export async function createSocketIOServer(config) {
|
|
10
|
+
let connected = false;
|
|
11
|
+
// userId -> Set<socketId>
|
|
12
|
+
const userSockets = new Map();
|
|
13
|
+
// socketId -> userId
|
|
14
|
+
const socketUsers = new Map();
|
|
15
|
+
const server = new Server(config.httpServer, {
|
|
16
|
+
cors: config.cors,
|
|
17
|
+
path: config.path ?? SOCKETIO_DEFAULTS.PATH,
|
|
18
|
+
pingTimeout: config.pingTimeout ?? SOCKETIO_DEFAULTS.PING_TIMEOUT_MS,
|
|
19
|
+
pingInterval: config.pingInterval ?? SOCKETIO_DEFAULTS.PING_INTERVAL_MS,
|
|
20
|
+
maxHttpBufferSize: config.maxHttpBufferSize ?? SOCKETIO_DEFAULTS.MAX_HTTP_BUFFER_SIZE,
|
|
21
|
+
transports: config.transports ?? [...SOCKETIO_DEFAULTS.TRANSPORTS]
|
|
22
|
+
});
|
|
23
|
+
// Set up Redis adapter if configured
|
|
24
|
+
if (config.redisAdapter) {
|
|
25
|
+
const { Redis } = await import('ioredis');
|
|
26
|
+
const { createAdapter } = await import('@socket.io/redis-adapter');
|
|
27
|
+
const redisOpts = {
|
|
28
|
+
host: config.redisAdapter.host,
|
|
29
|
+
port: config.redisAdapter.port,
|
|
30
|
+
password: config.redisAdapter.password,
|
|
31
|
+
db: config.redisAdapter.db ?? 0
|
|
32
|
+
};
|
|
33
|
+
const pubClient = new Redis(redisOpts);
|
|
34
|
+
const subClient = pubClient.duplicate();
|
|
35
|
+
await Promise.all([
|
|
36
|
+
new Promise((resolve, reject) => {
|
|
37
|
+
pubClient.on('ready', resolve);
|
|
38
|
+
pubClient.on('error', reject);
|
|
39
|
+
}),
|
|
40
|
+
new Promise((resolve, reject) => {
|
|
41
|
+
subClient.on('ready', resolve);
|
|
42
|
+
subClient.on('error', reject);
|
|
43
|
+
})
|
|
44
|
+
]);
|
|
45
|
+
const prefix = config.redisAdapter.keyPrefix ?? 'socketio';
|
|
46
|
+
server.adapter(createAdapter(pubClient, subClient, { key: prefix }));
|
|
47
|
+
}
|
|
48
|
+
const namespace = server.of(config.namespace ?? '/');
|
|
49
|
+
// Apply auth middleware if provided
|
|
50
|
+
if (config.authVerify) {
|
|
51
|
+
const verify = config.authVerify;
|
|
52
|
+
namespace.use(async (socket, next) => {
|
|
53
|
+
try {
|
|
54
|
+
const user = await verify(socket.handshake.auth);
|
|
55
|
+
socket.data.user = user;
|
|
56
|
+
next();
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
next(err instanceof Error ? err : new Error(String(err)));
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
connected = true;
|
|
64
|
+
async function close() {
|
|
65
|
+
connected = false;
|
|
66
|
+
userSockets.clear();
|
|
67
|
+
socketUsers.clear();
|
|
68
|
+
await server.close();
|
|
69
|
+
}
|
|
70
|
+
function trackConnection(userId, socketId) {
|
|
71
|
+
if (!userSockets.has(userId)) {
|
|
72
|
+
userSockets.set(userId, new Set());
|
|
73
|
+
}
|
|
74
|
+
userSockets.get(userId).add(socketId);
|
|
75
|
+
socketUsers.set(socketId, userId);
|
|
76
|
+
}
|
|
77
|
+
function untrackConnection(socketId) {
|
|
78
|
+
const userId = socketUsers.get(socketId);
|
|
79
|
+
if (userId) {
|
|
80
|
+
const sockets = userSockets.get(userId);
|
|
81
|
+
if (sockets) {
|
|
82
|
+
sockets.delete(socketId);
|
|
83
|
+
if (sockets.size === 0) {
|
|
84
|
+
userSockets.delete(userId);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
socketUsers.delete(socketId);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function emitToUser(userId, event, ...args) {
|
|
91
|
+
const sockets = userSockets.get(userId);
|
|
92
|
+
if (sockets) {
|
|
93
|
+
for (const socketId of sockets) {
|
|
94
|
+
namespace.to(socketId).emit(event, ...args);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function broadcast(event, ...args) {
|
|
99
|
+
namespace.emit(event, ...args);
|
|
100
|
+
}
|
|
101
|
+
function emitToRoom(room, event, ...args) {
|
|
102
|
+
namespace.to(room).emit(event, ...args);
|
|
103
|
+
}
|
|
104
|
+
function isUserOnline(userId) {
|
|
105
|
+
const sockets = userSockets.get(userId);
|
|
106
|
+
return sockets !== undefined && sockets.size > 0;
|
|
107
|
+
}
|
|
108
|
+
function getUserSocketIds(userId) {
|
|
109
|
+
const sockets = userSockets.get(userId);
|
|
110
|
+
return sockets ? [...sockets] : [];
|
|
111
|
+
}
|
|
112
|
+
function getConnectionCount() {
|
|
113
|
+
return socketUsers.size;
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
server,
|
|
117
|
+
namespace,
|
|
118
|
+
close,
|
|
119
|
+
isConnected: () => connected,
|
|
120
|
+
trackConnection,
|
|
121
|
+
untrackConnection,
|
|
122
|
+
emitToUser,
|
|
123
|
+
broadcast,
|
|
124
|
+
emitToRoom,
|
|
125
|
+
isUserOnline,
|
|
126
|
+
getUserSocketIds,
|
|
127
|
+
getConnectionCount
|
|
128
|
+
};
|
|
129
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { Server, Socket, Namespace, BroadcastOperator, RemoteSocket, DisconnectReason, DefaultEventsMap } from 'socket.io';
|
|
2
|
+
import type { SocketIORedisAdapterConfig } from '../config/types.js';
|
|
3
|
+
export type { Server, Socket, Namespace, BroadcastOperator, RemoteSocket, DisconnectReason };
|
|
4
|
+
/**
|
|
5
|
+
* Pluggable auth verification function — consumer provides the implementation
|
|
6
|
+
*/
|
|
7
|
+
export type AuthVerifyFunction<TUser> = (auth: Record<string, unknown>) => Promise<TUser> | TUser;
|
|
8
|
+
/**
|
|
9
|
+
* Socket with authenticated user data attached
|
|
10
|
+
*/
|
|
11
|
+
export type AuthenticatedSocket<TUser> = Socket<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, {
|
|
12
|
+
user: TUser;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for createSocketIOServer factory
|
|
16
|
+
*/
|
|
17
|
+
export interface SocketIOServerConfig<TUser> {
|
|
18
|
+
/** HTTP server to attach to */
|
|
19
|
+
httpServer: Parameters<typeof Server.prototype.attach>[0];
|
|
20
|
+
/** CORS configuration */
|
|
21
|
+
cors?: {
|
|
22
|
+
origin?: string | string[] | boolean;
|
|
23
|
+
methods?: string[];
|
|
24
|
+
credentials?: boolean;
|
|
25
|
+
};
|
|
26
|
+
/** Socket.IO path (default: /socket.io) */
|
|
27
|
+
path?: string;
|
|
28
|
+
/** Ping timeout in ms (default: 20000) */
|
|
29
|
+
pingTimeout?: number;
|
|
30
|
+
/** Ping interval in ms (default: 25000) */
|
|
31
|
+
pingInterval?: number;
|
|
32
|
+
/** Max HTTP buffer size in bytes (default: 1e6) */
|
|
33
|
+
maxHttpBufferSize?: number;
|
|
34
|
+
/** Allowed transports (default: ['websocket', 'polling']) */
|
|
35
|
+
transports?: ('websocket' | 'polling')[];
|
|
36
|
+
/** Auth verification callback — called on every connection handshake */
|
|
37
|
+
authVerify?: AuthVerifyFunction<TUser>;
|
|
38
|
+
/** Redis adapter config for horizontal scaling — omit for single-instance mode */
|
|
39
|
+
redisAdapter?: SocketIORedisAdapterConfig;
|
|
40
|
+
/** Namespace to use (default: /) */
|
|
41
|
+
namespace?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Return type of createSocketIOServer factory
|
|
45
|
+
*/
|
|
46
|
+
export interface SocketIOInstance<TUser> {
|
|
47
|
+
/** The underlying Socket.IO server (generic preserves TUser for consumer type safety) */
|
|
48
|
+
server: Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, {
|
|
49
|
+
user: TUser;
|
|
50
|
+
}>;
|
|
51
|
+
/** The active namespace */
|
|
52
|
+
namespace: Namespace;
|
|
53
|
+
/** Gracefully close the server */
|
|
54
|
+
close(): Promise<void>;
|
|
55
|
+
/** Check if the server is running */
|
|
56
|
+
isConnected(): boolean;
|
|
57
|
+
/** Track a user's socket connection */
|
|
58
|
+
trackConnection(userId: string, socketId: string): void;
|
|
59
|
+
/** Remove a socket from tracking */
|
|
60
|
+
untrackConnection(socketId: string): void;
|
|
61
|
+
/** Emit an event to all sockets for a specific user */
|
|
62
|
+
emitToUser(userId: string, event: string, ...args: unknown[]): void;
|
|
63
|
+
/** Broadcast an event to all connected sockets */
|
|
64
|
+
broadcast(event: string, ...args: unknown[]): void;
|
|
65
|
+
/** Emit an event to all sockets in a room */
|
|
66
|
+
emitToRoom(room: string, event: string, ...args: unknown[]): void;
|
|
67
|
+
/** Check if a user has any active socket connections */
|
|
68
|
+
isUserOnline(userId: string): boolean;
|
|
69
|
+
/** Get all socket IDs for a user */
|
|
70
|
+
getUserSocketIds(userId: string): string[];
|
|
71
|
+
/** Get total number of tracked connections */
|
|
72
|
+
getConnectionCount(): number;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/socketio/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcraz/common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Common utilities for the arcraz ecosystem",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -64,6 +64,10 @@
|
|
|
64
64
|
"./types": {
|
|
65
65
|
"import": "./dist/types/index.js",
|
|
66
66
|
"types": "./dist/types/index.d.ts"
|
|
67
|
+
},
|
|
68
|
+
"./socketio": {
|
|
69
|
+
"import": "./dist/socketio/index.js",
|
|
70
|
+
"types": "./dist/socketio/index.d.ts"
|
|
67
71
|
}
|
|
68
72
|
},
|
|
69
73
|
"license": "Apache-2.0",
|
|
@@ -104,6 +108,7 @@
|
|
|
104
108
|
"@semantic-release/git": "^10.0.1",
|
|
105
109
|
"@semantic-release/github": "^11.0.1",
|
|
106
110
|
"@semantic-release/npm": "^12.0.1",
|
|
111
|
+
"@socket.io/redis-adapter": "^8.3.0",
|
|
107
112
|
"@types/amqplib": "^0.10.5",
|
|
108
113
|
"@types/eslint": "^9.6.1",
|
|
109
114
|
"@types/humps": "^2.0.6",
|
|
@@ -119,6 +124,7 @@
|
|
|
119
124
|
"globals": "^16.0.0",
|
|
120
125
|
"prettier": "^3.2.5",
|
|
121
126
|
"semantic-release": "^24.2.0",
|
|
127
|
+
"socket.io": "^4.8.1",
|
|
122
128
|
"ts-node": "^10.9.2",
|
|
123
129
|
"typescript": "^5.6.3",
|
|
124
130
|
"vitest": "^4.0.18"
|
|
@@ -128,8 +134,10 @@
|
|
|
128
134
|
"@aws-sdk/client-s3": "^3.0.0",
|
|
129
135
|
"@aws-sdk/cloudfront-signer": "^3.0.0",
|
|
130
136
|
"@aws-sdk/s3-request-presigner": "^3.0.0",
|
|
137
|
+
"@socket.io/redis-adapter": "^8.0.0",
|
|
131
138
|
"cors": "^2.8.5",
|
|
132
|
-
"helmet": "^8.0.0"
|
|
139
|
+
"helmet": "^8.0.0",
|
|
140
|
+
"socket.io": "^4.7.0"
|
|
133
141
|
},
|
|
134
142
|
"peerDependenciesMeta": {
|
|
135
143
|
"@aws-sdk/client-bedrock-runtime": {
|
|
@@ -144,11 +152,17 @@
|
|
|
144
152
|
"@aws-sdk/s3-request-presigner": {
|
|
145
153
|
"optional": true
|
|
146
154
|
},
|
|
155
|
+
"@socket.io/redis-adapter": {
|
|
156
|
+
"optional": true
|
|
157
|
+
},
|
|
147
158
|
"cors": {
|
|
148
159
|
"optional": true
|
|
149
160
|
},
|
|
150
161
|
"helmet": {
|
|
151
162
|
"optional": true
|
|
163
|
+
},
|
|
164
|
+
"socket.io": {
|
|
165
|
+
"optional": true
|
|
152
166
|
}
|
|
153
167
|
}
|
|
154
168
|
}
|