@autofleet/rabbit 4.1.0-beta.0 → 4.1.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 (60) hide show
  1. package/dist/index.d.ts +81 -76
  2. package/dist/index.js +581 -472
  3. package/dist/index.js.map +1 -0
  4. package/dist/lib/celery.js +1 -0
  5. package/dist/lib/celery.js.map +1 -0
  6. package/dist/lib/consts.d.ts +12 -4
  7. package/dist/lib/consts.js +12 -3
  8. package/dist/lib/consts.js.map +1 -0
  9. package/dist/lib/rabbitError.js +1 -0
  10. package/dist/lib/rabbitError.js.map +1 -0
  11. package/dist/lib/redis.d.ts +2 -1
  12. package/dist/lib/redis.js +3 -8
  13. package/dist/lib/redis.js.map +1 -0
  14. package/dist/lib/types.d.ts +18 -5
  15. package/dist/lib/types.js +1 -0
  16. package/dist/lib/types.js.map +1 -0
  17. package/dist/lib/utils.d.ts +12 -3
  18. package/dist/lib/utils.js +23 -13
  19. package/dist/lib/utils.js.map +1 -0
  20. package/dist/logger.js +1 -0
  21. package/dist/logger.js.map +1 -0
  22. package/dist/{mock.d.ts → mock/index.d.ts} +1 -1
  23. package/dist/{mock.js → mock/index.js} +2 -1
  24. package/dist/mock/index.js.map +1 -0
  25. package/dist/mock/vitest.d.ts +13 -0
  26. package/dist/mock/vitest.js +18 -0
  27. package/dist/mock/vitest.js.map +1 -0
  28. package/package.json +24 -19
  29. package/src/index.ts +702 -591
  30. package/src/lib/consts.ts +17 -4
  31. package/src/lib/redis.ts +2 -7
  32. package/src/lib/types.ts +22 -7
  33. package/src/lib/utils.ts +35 -12
  34. package/src/{mock.ts → mock/index.ts} +2 -2
  35. package/src/mock/vitest.ts +24 -0
  36. package/src/redis-lock.d.ts +5 -3
  37. package/tsconfig.build.json +5 -0
  38. package/tsconfig.json +2 -2
  39. package/vitest.config.ts +17 -0
  40. package/coverage/clover.xml +0 -669
  41. package/coverage/coverage-final.json +0 -9
  42. package/coverage/lcov-report/base.css +0 -224
  43. package/coverage/lcov-report/block-navigation.js +0 -87
  44. package/coverage/lcov-report/favicon.png +0 -0
  45. package/coverage/lcov-report/index.html +0 -131
  46. package/coverage/lcov-report/prettify.css +0 -1
  47. package/coverage/lcov-report/prettify.js +0 -2
  48. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  49. package/coverage/lcov-report/sorter.js +0 -196
  50. package/coverage/lcov-report/src/index.html +0 -131
  51. package/coverage/lcov-report/src/index.ts.html +0 -3826
  52. package/coverage/lcov-report/src/lib/celery.ts.html +0 -352
  53. package/coverage/lcov-report/src/lib/consts.ts.html +0 -142
  54. package/coverage/lcov-report/src/lib/index.html +0 -191
  55. package/coverage/lcov-report/src/lib/rabbitError.ts.html +0 -103
  56. package/coverage/lcov-report/src/lib/redis.ts.html +0 -133
  57. package/coverage/lcov-report/src/lib/types.ts.html +0 -268
  58. package/coverage/lcov-report/src/lib/utils.ts.html +0 -142
  59. package/coverage/lcov-report/src/logger.ts.html +0 -100
  60. package/coverage/lcov.info +0 -1076
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -52,3 +52,4 @@ async function sendCeleryTaskViaHttp(data, { taskName, queueName }) {
52
52
  }
53
53
  }
54
54
  exports.sendCeleryTaskViaHttp = sendCeleryTaskViaHttp;
55
+ //# sourceMappingURL=celery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"celery.js","sourceRoot":"","sources":["../../src/lib/celery.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAyC;AACzC,uDAA+B;AAC/B,4BAA4B;AAC5B,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,WAAW;IACtD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO;IAClD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO;CAC1C,CAAC;AAoCX,KAAK,UAAU,qBAAqB,CAClC,IAAc,EACd,EAAE,QAAQ,EAAE,SAAS,EAAmB;IAExC,MAAM,MAAM,GAAG,UAAU,MAAM,CAAC,IAAI,8CAA8C,CAAC;IAEnF,MAAM,OAAO,GAAgB;QAC3B,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,IAAA,wBAAU,GAAE;QAChB,IAAI,EAAE,CAAC,IAAI,CAAC;KACb,CAAC;IAEF,MAAM,OAAO,GAAmB;QAC9B,UAAU,EAAE;YACV,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,kBAAkB;SACjC;QACD,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAChC,gBAAgB,EAAE,QAAQ;KAC3B,CAAC;IAEF,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;YACnC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;aAClG;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;YACf,MAAM,MAAM,GAAoB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtD,gBAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;SACxD;aAAM;YACL,gBAAM,CAAC,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,gBAAM,CAAC,KAAK,CAAC,aAAa,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SACpD;KACF;IAAC,OAAO,KAAK,EAAE;QACd,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/F,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AAEQ,sDAAqB"}
@@ -6,14 +6,22 @@ export declare const USER_TRACING_HEADER = "x-af-user-id";
6
6
  export declare const AUTOMATION_ID_HEADER = "x-af-automation-id";
7
7
  export declare const USER_OBJECT = "userObject";
8
8
  export declare const DEFAULT_USE_CONSUME_WITH_LOCK = false;
9
- export declare const CONNECTION_CREATED_CONST = "connectionCreated";
10
- export declare const CONNECTION_FAILED_CONST = "connectionFailed";
11
9
  export declare const DEFAULT_OPTIONS: {
12
10
  limit: number;
13
11
  retries: number;
14
12
  deadMessageTtl: number;
15
13
  lockTimeout: number;
16
- useConsumeWithLock: boolean;
14
+ useConsumeWithLock: false;
17
15
  auditContext: null;
18
- enableRabbitTrace: boolean;
16
+ enableRabbitTrace: false;
17
+ };
18
+ export declare const ASSERT_VHOST_EXPONENTIAL_BACKOFF_DEV_ENV_CONFIG: {
19
+ startingDelay: number;
20
+ timeMultiple: number;
21
+ numOfAttempts: number;
22
+ };
23
+ export declare const ASSERT_VHOST_EXPONENTIAL_BACKOFF_PROD_CONFIG: {
24
+ startingDelay: number;
25
+ timeMultiple: number;
26
+ numOfAttempts: number;
19
27
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_OPTIONS = exports.CONNECTION_FAILED_CONST = exports.CONNECTION_CREATED_CONST = exports.DEFAULT_USE_CONSUME_WITH_LOCK = exports.USER_OBJECT = exports.AUTOMATION_ID_HEADER = exports.USER_TRACING_HEADER = exports.TRACING_HEADER = exports.RETRY_HEADER = exports.DEFAULT_LOCK_TIMEOUT = exports.DEFAULT_DEAD_TTL_TWO_DAYS = void 0;
3
+ exports.ASSERT_VHOST_EXPONENTIAL_BACKOFF_PROD_CONFIG = exports.ASSERT_VHOST_EXPONENTIAL_BACKOFF_DEV_ENV_CONFIG = exports.DEFAULT_OPTIONS = exports.DEFAULT_USE_CONSUME_WITH_LOCK = exports.USER_OBJECT = exports.AUTOMATION_ID_HEADER = exports.USER_TRACING_HEADER = exports.TRACING_HEADER = exports.RETRY_HEADER = exports.DEFAULT_LOCK_TIMEOUT = exports.DEFAULT_DEAD_TTL_TWO_DAYS = void 0;
4
4
  exports.DEFAULT_DEAD_TTL_TWO_DAYS = 60000 * 60 * 12;
5
5
  exports.DEFAULT_LOCK_TIMEOUT = 1000 * 5;
6
6
  exports.RETRY_HEADER = 'x-retry-count';
@@ -9,8 +9,6 @@ exports.USER_TRACING_HEADER = 'x-af-user-id';
9
9
  exports.AUTOMATION_ID_HEADER = 'x-af-automation-id';
10
10
  exports.USER_OBJECT = 'userObject';
11
11
  exports.DEFAULT_USE_CONSUME_WITH_LOCK = false;
12
- exports.CONNECTION_CREATED_CONST = 'connectionCreated';
13
- exports.CONNECTION_FAILED_CONST = 'connectionFailed';
14
12
  exports.DEFAULT_OPTIONS = {
15
13
  limit: 1,
16
14
  retries: 1,
@@ -20,3 +18,14 @@ exports.DEFAULT_OPTIONS = {
20
18
  auditContext: null,
21
19
  enableRabbitTrace: false,
22
20
  };
21
+ exports.ASSERT_VHOST_EXPONENTIAL_BACKOFF_DEV_ENV_CONFIG = {
22
+ startingDelay: 500,
23
+ timeMultiple: 4,
24
+ numOfAttempts: 5,
25
+ };
26
+ exports.ASSERT_VHOST_EXPONENTIAL_BACKOFF_PROD_CONFIG = {
27
+ startingDelay: 1,
28
+ timeMultiple: 1,
29
+ numOfAttempts: 5,
30
+ };
31
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/lib/consts.ts"],"names":[],"mappings":";;;AAGa,QAAA,yBAAyB,GAAG,KAAM,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7C,QAAA,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC;AAChC,QAAA,YAAY,GAAG,eAAe,CAAC;AAC/B,QAAA,cAAc,GAAG,YAAY,CAAC;AAC9B,QAAA,mBAAmB,GAAG,cAAc,CAAC;AACrC,QAAA,oBAAoB,GAAG,oBAAoB,CAAC;AAC5C,QAAA,WAAW,GAAG,YAAY,CAAC;AAC3B,QAAA,6BAA6B,GAAG,KAAK,CAAC;AACtC,QAAA,eAAe,GAAG;IAC7B,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,cAAc,EAAE,iCAAyB;IACzC,WAAW,EAAE,4BAAoB;IACjC,kBAAkB,EAAE,qCAA6B;IACjD,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,KAAK;CACA,CAAC;AAEd,QAAA,+CAA+C,GAAG;IAC7D,aAAa,EAAE,GAAG;IAClB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;CACQ,CAAC;AAEd,QAAA,4CAA4C,GAAG;IAC1D,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;CACQ,CAAC"}
@@ -7,3 +7,4 @@ class RabbitError extends Error {
7
7
  }
8
8
  }
9
9
  exports.default = RabbitError;
10
+ //# sourceMappingURL=rabbitError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitError.js","sourceRoot":"","sources":["../../src/lib/rabbitError.ts"],"names":[],"mappings":";;AAAA,MAAqB,WAAY,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AALD,8BAKC"}
@@ -1,7 +1,8 @@
1
+ import { createClient } from 'redis';
1
2
  export type RedisConfig = {
2
3
  host: string;
3
4
  port: number | undefined;
4
5
  prefix?: string;
5
6
  };
6
- declare const getRedisInstance: (config: RedisConfig) => any;
7
+ declare const getRedisInstance: (config: RedisConfig) => ReturnType<typeof createClient>;
7
8
  export default getRedisInstance;
package/dist/lib/redis.js CHANGED
@@ -1,11 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const bluebird_1 = __importDefault(require("bluebird"));
7
- const redis = require('redis');
8
- bluebird_1.default.promisifyAll(redis.RedisClient.prototype);
9
- bluebird_1.default.promisifyAll(redis.Multi.prototype);
10
- const getRedisInstance = (config) => redis.createClient(config);
3
+ const redis_1 = require("redis");
4
+ const getRedisInstance = (config) => (0, redis_1.createClient)({ socket: config });
11
5
  exports.default = getRedisInstance;
6
+ //# sourceMappingURL=redis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../src/lib/redis.ts"],"names":[],"mappings":";;AAAA,iCAAqC;AAQrC,MAAM,gBAAgB,GAAG,CAAC,MAAmB,EAAmC,EAAE,CAAC,IAAA,oBAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAEpH,kBAAe,gBAAgB,CAAC"}
@@ -1,9 +1,10 @@
1
- import { ConsumeMessage, Options, Replies } from 'amqplib';
1
+ import type { AmqpConnectionManager } from 'amqp-connection-manager';
2
+ import type { ConsumeMessage, Options, Replies } from 'amqplib';
2
3
  export interface ExchangesCache {
3
- [key: string]: any;
4
+ [key: string]: Replies.AssertExchange | undefined;
4
5
  }
5
6
  export interface QueuesCache {
6
- [key: string]: any;
7
+ [key: string]: Replies.AssertQueue | undefined;
7
8
  }
8
9
  export interface QueueSetupPromisesDictionary {
9
10
  [key: string]: Promise<Replies.AssertQueue> | undefined;
@@ -14,7 +15,6 @@ export interface AssertExchangePromisesDictionary {
14
15
  export type CustomMessageHeaders = {
15
16
  redisTimestampValidationKey?: string;
16
17
  };
17
- export type RedisLockType = (args0?: string, arg1?: number) => Promise<any>;
18
18
  export type ConsumeMessageOrNull = ConsumeMessage | null;
19
19
  export interface ConsumeOptions {
20
20
  retries?: number;
@@ -27,7 +27,13 @@ export interface ConsumeOptions {
27
27
  enableRabbitTrace?: boolean;
28
28
  isQuorumQueue?: boolean;
29
29
  }
30
- export type CallbackFunction = (msg: ConsumeMessage, ack: any, nack: any) => Promise<any>;
30
+ export interface NackOptions {
31
+ skipRetry?: boolean;
32
+ }
33
+ export type Message = Omit<ConsumeMessage, 'content'> & {
34
+ content: any;
35
+ };
36
+ export type CallbackFunction = (msg: Message, ack: () => Promise<void>, nack: (ignored: ConsumeMessageOrNull, nackOptions?: NackOptions) => Promise<void>) => Promise<void>;
31
37
  export type newChannelOpts = {
32
38
  name?: string;
33
39
  onClose?: null | ((args: any | null) => void);
@@ -42,3 +48,10 @@ export type AfConsumer = {
42
48
  options: ConsumeOptions | undefined;
43
49
  };
44
50
  export declare const CONSUMER_DEFAULT_OPTIONS: Options.Consume;
51
+ export type ConnectionData = {
52
+ amqpConnection: AmqpConnectionManager | null;
53
+ creatingConnection: boolean;
54
+ connectionCreatedEventName: string;
55
+ connectionFailedEventName: string;
56
+ blockReconnect: boolean;
57
+ };
package/dist/lib/types.js CHANGED
@@ -9,3 +9,4 @@ exports.CONSUMER_DEFAULT_OPTIONS = {
9
9
  [HA_PROMOTE_ON_SHUTDOWN]: 'always',
10
10
  },
11
11
  };
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":";;;AA2DA,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE3C,QAAA,wBAAwB,GAAoB;IACvD,SAAS,EAAE;QACT,CAAC,qBAAqB,CAAC,EAAE,QAAQ;QACjC,CAAC,sBAAsB,CAAC,EAAE,QAAQ;KACnC;CACF,CAAC"}
@@ -1,5 +1,14 @@
1
- import { ChannelWrapper } from 'amqp-connection-manager';
2
- import { ConfirmChannel, Replies } from 'amqplib';
1
+ import type { ConfirmChannel, Replies } from 'amqplib';
2
+ import type { ChannelWrapper } from 'amqp-connection-manager';
3
+ import type { BackoffOptions } from 'exponential-backoff';
3
4
  export declare const assertExchangeFanout: (c: ChannelWrapper | ConfirmChannel, exchangeName: string) => Promise<Replies.AssertExchange>;
4
- export declare const wrapSetImmediate: (callback: () => any) => Promise<any>;
5
5
  export declare const rand: () => number;
6
+ interface PromiseWithResolvers<T> {
7
+ promise: Promise<T>;
8
+ resolve: (value: T | PromiseLike<T>) => void;
9
+ reject: (reason?: any) => void;
10
+ }
11
+ /** This is polyfill for `Promise.withResolvers` which exists only on Node v22 and onwards */
12
+ export declare const createDeferredPromise: <T = void>() => PromiseWithResolvers<T>;
13
+ export declare const getAssertVhostExponentialBackoffConfig: () => BackoffOptions;
14
+ export {};
package/dist/lib/utils.js CHANGED
@@ -1,19 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rand = exports.wrapSetImmediate = exports.assertExchangeFanout = void 0;
3
+ exports.getAssertVhostExponentialBackoffConfig = exports.createDeferredPromise = exports.rand = exports.assertExchangeFanout = void 0;
4
+ const consts_1 = require("./consts");
5
+ const { PROJECT_ID } = process.env;
4
6
  const assertExchangeFanout = async (c, exchangeName) => c.assertExchange(exchangeName, 'fanout');
5
7
  exports.assertExchangeFanout = assertExchangeFanout;
6
- const wrapSetImmediate = (callback) => new Promise((resolve, reject) => {
7
- setImmediate(async () => {
8
- try {
9
- const value = await callback();
10
- resolve(value);
11
- }
12
- catch (error) {
13
- reject(error);
14
- }
15
- });
16
- });
17
- exports.wrapSetImmediate = wrapSetImmediate;
18
8
  const rand = () => Math.floor(Math.random() * 100000);
19
9
  exports.rand = rand;
10
+ /** This is polyfill for `Promise.withResolvers` which exists only on Node v22 and onwards */
11
+ const createDeferredPromise = () => {
12
+ if (Promise.withResolvers) {
13
+ return Promise.withResolvers();
14
+ }
15
+ let resolve;
16
+ let reject;
17
+ const promise = new Promise((res, rej) => {
18
+ resolve = res;
19
+ reject = rej;
20
+ });
21
+ return { promise, resolve, reject };
22
+ };
23
+ exports.createDeferredPromise = createDeferredPromise;
24
+ const isDevEnv = () => ['af-experiment-manager', 'dev1-experiment-manager'].includes(PROJECT_ID || '');
25
+ const getAssertVhostExponentialBackoffConfig = () => (isDevEnv()
26
+ ? consts_1.ASSERT_VHOST_EXPONENTIAL_BACKOFF_DEV_ENV_CONFIG
27
+ : consts_1.ASSERT_VHOST_EXPONENTIAL_BACKOFF_PROD_CONFIG);
28
+ exports.getAssertVhostExponentialBackoffConfig = getAssertVhostExponentialBackoffConfig;
29
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;;AAGA,qCAAyH;AAEzH,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE5B,MAAM,oBAAoB,GAAG,KAAK,EACvC,CAAkC,EAClC,YAAoB,EACa,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAHlE,QAAA,oBAAoB,wBAG8C;AAExE,MAAM,IAAI,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAO,CAAC,CAAC;AAAzD,QAAA,IAAI,QAAqD;AAUtE,6FAA6F;AACtF,MAAM,qBAAqB,GAAG,GAAsC,EAAE;IAC3E,IAAK,OAAsB,CAAC,aAAa,EAAE;QACzC,OAAQ,OAAsB,CAAC,aAAa,EAAK,CAAC;KACnD;IACD,IAAI,OAA4C,CAAC;IACjD,IAAI,MAA0C,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC;AAEF,MAAM,QAAQ,GAAG,GAAY,EAAE,CAAC,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;AAEzG,MAAM,sCAAsC,GAAG,GAAmB,EAAE,CAAC,CAC1E,QAAQ,EAAE;IACR,CAAC,CAAC,wDAA+C;IACjD,CAAC,CAAC,qDAA4C,CAAC,CAAC;AAHvC,QAAA,sCAAsC,0CAGC"}
package/dist/logger.js CHANGED
@@ -6,3 +6,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const logger_1 = __importDefault(require("@autofleet/logger"));
7
7
  const logger = (0, logger_1.default)();
8
8
  exports.default = logger;
9
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;AAAA,+DAAuC;AAEvC,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,kBAAe,MAAM,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import 'jest';
2
- import { IAfRabbitMq } from './index';
2
+ import type { IAfRabbitMq } from '../index';
3
3
  declare class RabbitMq implements IAfRabbitMq {
4
4
  ack: any;
5
5
  nack: any;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // eslint-disable-next-line import/no-extraneous-dependencies
3
+ // eslint-disable-next-line import/no-unresolved
4
4
  require("jest");
5
5
  class RabbitMq {
6
6
  constructor() {
@@ -16,3 +16,4 @@ class RabbitMq {
16
16
  }
17
17
  }
18
18
  exports.default = RabbitMq;
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mock/index.ts"],"names":[],"mappings":";;AAAA,gDAAgD;AAChD,gBAAc;AAGd,MAAM,QAAQ;IAAd;QACE,QAAG,GAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAErB,SAAI,GAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAEtB,kBAAa,GAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAE/B,mBAAc,GAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAEhC,gBAAW,GAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,YAAO,GAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAEzB,wBAAmB,GAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAErC,YAAO,GAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAEzB,gBAAW,GAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;IAC/B,CAAC;CAAA;AAED,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { IAfRabbitMq } from '../index';
2
+ declare class RabbitMq implements IAfRabbitMq {
3
+ ack: import("@vitest/spy").Mock<(...args: any[]) => any>;
4
+ nack: import("@vitest/spy").Mock<(...args: any[]) => any>;
5
+ assertChannel: import("@vitest/spy").Mock<(...args: any[]) => any>;
6
+ assertExchange: import("@vitest/spy").Mock<(...args: any[]) => any>;
7
+ assertQueue: import("@vitest/spy").Mock<(...args: any[]) => any>;
8
+ consume: import("@vitest/spy").Mock<(...args: any[]) => any>;
9
+ consumeFromExchange: import("@vitest/spy").Mock<(...args: any[]) => any>;
10
+ publish: import("@vitest/spy").Mock<(...args: any[]) => any>;
11
+ sendToQueue: import("@vitest/spy").Mock<(...args: any[]) => any>;
12
+ }
13
+ export default RabbitMq;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ class RabbitMq {
5
+ constructor() {
6
+ this.ack = vitest_1.vi.fn();
7
+ this.nack = vitest_1.vi.fn();
8
+ this.assertChannel = vitest_1.vi.fn();
9
+ this.assertExchange = vitest_1.vi.fn();
10
+ this.assertQueue = vitest_1.vi.fn();
11
+ this.consume = vitest_1.vi.fn();
12
+ this.consumeFromExchange = vitest_1.vi.fn();
13
+ this.publish = vitest_1.vi.fn();
14
+ this.sendToQueue = vitest_1.vi.fn();
15
+ }
16
+ }
17
+ exports.default = RabbitMq;
18
+ //# sourceMappingURL=vitest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../../src/mock/vitest.ts"],"names":[],"mappings":";;AAAA,mCAA4B;AAG5B,MAAM,QAAQ;IAAd;QACE,QAAG,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAEd,SAAI,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAEf,kBAAa,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAExB,mBAAc,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAEzB,gBAAW,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAEtB,YAAO,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAElB,wBAAmB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAE9B,YAAO,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAElB,gBAAW,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;IACxB,CAAC;CAAA;AAED,kBAAe,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autofleet/rabbit",
3
- "version": "4.1.0-beta.0",
3
+ "version": "4.1.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -10,41 +10,46 @@
10
10
  "postinstall": "echo '\\033[0;31m\nWARNING: in case of migrating to new version of @autofleet/rabbit \nyou might have to delete existing queues or the deployment will fail.\\033[0m\n'",
11
11
  "start": "ts-node src/index.ts",
12
12
  "example": "ts-node src/example.ts",
13
- "build": "rm -rf dist && tsc",
14
- "linter": "./node_modules/.bin/eslint .",
15
- "test": "jest --runInBand --forceExit",
16
- "test-local": "RABBITMQ_SERVICE_HOST=localhost:5672 jest --forceExit",
17
- "coverage": "jest --coverage --forceExit && rm -rf ./coverage",
13
+ "build": "rm -rf dist && tsc -p tsconfig.build.json",
14
+ "linter": "eslint .",
15
+ "test": "vitest",
16
+ "test-local": "RABBITMQ_SERVICE_HOST=localhost:5672 node --inspect-brk ./node_modules/.bin/vitest --testTimeout=10000000000",
17
+ "coverage": "vitest --coverage",
18
18
  "dev": "nodemon"
19
19
  },
20
20
  "dependencies": {
21
21
  "@autofleet/zehut": "^3.1.2",
22
- "amqp-connection-manager": "4.1.9",
23
- "amqplib": "0.10.3",
24
- "axios": "^1.7.9",
25
- "bluebird": "^3.7.2",
26
- "moment": "^2.29.1",
27
- "redis": "^3.1.2",
28
- "redis-lock": "^0.1.4"
22
+ "amqp-connection-manager": "4.1.14",
23
+ "amqplib": "0.10.5",
24
+ "exponential-backoff": "^3.1.2",
25
+ "moment": "^2.30.1",
26
+ "redis": "^4.7.1",
27
+ "redis-lock": "^1.0.0"
29
28
  },
30
29
  "peerDependencies": {
31
- "@autofleet/logger": "*"
30
+ "@autofleet/logger": "*",
31
+ "jest": "*"
32
+ },
33
+ "peerDependenciesMeta": {
34
+ "jest": {
35
+ "optional": true
36
+ }
32
37
  },
33
38
  "devDependencies": {
34
39
  "@autofleet/logger": "4.0.6",
35
- "@types/amqplib": "0.8.2",
40
+ "@types/amqplib": "0.10.7",
36
41
  "@types/jest": "^29.5.12",
37
42
  "@types/node": "^20.14.11",
38
43
  "@typescript-eslint/eslint-plugin": "^4.8.1",
44
+ "@vitest/coverage-v8": "^3.1.3",
39
45
  "eslint": "^7.13.0",
40
46
  "eslint-config-airbnb-typescript": "^12.0.0",
41
47
  "eslint-plugin-import": "^2.22.1",
42
- "jest": "^29.7.0",
43
48
  "node-tcp-proxy": "^0.0.28",
44
- "ts-jest": "^29.2.3",
45
49
  "ts-node": "^8.6.2",
46
- "typescript": "^4.9.5"
50
+ "typescript": "^4.9.5",
51
+ "vitest": "^3.1.3"
47
52
  },
48
53
  "author": "",
49
- "license": "ISC"
54
+ "license": "Proprietary"
50
55
  }