iq-option-client 1.3.3

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 (155) hide show
  1. package/LICENSE +16 -0
  2. package/README.md +531 -0
  3. package/dist/bin/IQOption.d.ts +2 -0
  4. package/dist/bin/IQOption.js +100 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.js +26 -0
  7. package/dist/lib/Helper/Logger/ILogger.d.ts +39 -0
  8. package/dist/lib/Helper/Logger/ILogger.js +3 -0
  9. package/dist/lib/Helper/Logger/LogLevel.d.ts +10 -0
  10. package/dist/lib/Helper/Logger/LogLevel.js +23 -0
  11. package/dist/lib/Helper/Logger/LoggerContext.d.ts +59 -0
  12. package/dist/lib/Helper/Logger/LoggerContext.js +49 -0
  13. package/dist/lib/Helper/Logger/LoggerFactory.d.ts +22 -0
  14. package/dist/lib/Helper/Logger/LoggerFactory.js +87 -0
  15. package/dist/lib/Helper/Logger/WinstonLogger.d.ts +21 -0
  16. package/dist/lib/Helper/Logger/WinstonLogger.js +56 -0
  17. package/dist/lib/Helper/Logger/index.d.ts +5 -0
  18. package/dist/lib/Helper/Logger/index.js +30 -0
  19. package/dist/lib/Helper/LoggerHelper.d.ts +11 -0
  20. package/dist/lib/Helper/LoggerHelper.js +48 -0
  21. package/dist/lib/Helper/SleepHelper.d.ts +6 -0
  22. package/dist/lib/Helper/SleepHelper.js +15 -0
  23. package/dist/lib/Helper/index.d.ts +3 -0
  24. package/dist/lib/Helper/index.js +20 -0
  25. package/dist/lib/Service/IQOptionService/Adapter/StreamAdapter.d.ts +16 -0
  26. package/dist/lib/Service/IQOptionService/Adapter/StreamAdapter.js +47 -0
  27. package/dist/lib/Service/IQOptionService/Adapter/index.d.ts +1 -0
  28. package/dist/lib/Service/IQOptionService/Adapter/index.js +26 -0
  29. package/dist/lib/Service/IQOptionService/Builder/OrderBuilder.d.ts +44 -0
  30. package/dist/lib/Service/IQOptionService/Builder/OrderBuilder.js +91 -0
  31. package/dist/lib/Service/IQOptionService/Builder/OrderRequest.d.ts +28 -0
  32. package/dist/lib/Service/IQOptionService/Builder/OrderRequest.js +20 -0
  33. package/dist/lib/Service/IQOptionService/Builder/index.d.ts +2 -0
  34. package/dist/lib/Service/IQOptionService/Builder/index.js +27 -0
  35. package/dist/lib/Service/IQOptionService/Command/CommandInvoker.d.ts +13 -0
  36. package/dist/lib/Service/IQOptionService/Command/CommandInvoker.js +35 -0
  37. package/dist/lib/Service/IQOptionService/Command/GetProfileCommand.d.ts +13 -0
  38. package/dist/lib/Service/IQOptionService/Command/GetProfileCommand.js +20 -0
  39. package/dist/lib/Service/IQOptionService/Command/ICommand.d.ts +13 -0
  40. package/dist/lib/Service/IQOptionService/Command/ICommand.js +11 -0
  41. package/dist/lib/Service/IQOptionService/Command/SendOrderCommand.d.ts +14 -0
  42. package/dist/lib/Service/IQOptionService/Command/SendOrderCommand.js +20 -0
  43. package/dist/lib/Service/IQOptionService/Command/index.d.ts +4 -0
  44. package/dist/lib/Service/IQOptionService/Command/index.js +29 -0
  45. package/dist/lib/Service/IQOptionService/Error/AuthenticationError.d.ts +7 -0
  46. package/dist/lib/Service/IQOptionService/Error/AuthenticationError.js +22 -0
  47. package/dist/lib/Service/IQOptionService/Error/ConnectionError.d.ts +7 -0
  48. package/dist/lib/Service/IQOptionService/Error/ConnectionError.js +22 -0
  49. package/dist/lib/Service/IQOptionService/Error/ErrorHandler.d.ts +17 -0
  50. package/dist/lib/Service/IQOptionService/Error/ErrorHandler.js +58 -0
  51. package/dist/lib/Service/IQOptionService/Error/IQOptionError.d.ts +15 -0
  52. package/dist/lib/Service/IQOptionService/Error/IQOptionError.js +46 -0
  53. package/dist/lib/Service/IQOptionService/Error/OrderError.d.ts +7 -0
  54. package/dist/lib/Service/IQOptionService/Error/OrderError.js +22 -0
  55. package/dist/lib/Service/IQOptionService/Error/RetryStrategy.d.ts +42 -0
  56. package/dist/lib/Service/IQOptionService/Error/RetryStrategy.js +67 -0
  57. package/dist/lib/Service/IQOptionService/Error/Retryable.d.ts +20 -0
  58. package/dist/lib/Service/IQOptionService/Error/Retryable.js +36 -0
  59. package/dist/lib/Service/IQOptionService/Error/TimeoutError.d.ts +7 -0
  60. package/dist/lib/Service/IQOptionService/Error/TimeoutError.js +23 -0
  61. package/dist/lib/Service/IQOptionService/Error/index.d.ts +8 -0
  62. package/dist/lib/Service/IQOptionService/Error/index.js +33 -0
  63. package/dist/lib/Service/IQOptionService/Factory/StreamFactory.d.ts +17 -0
  64. package/dist/lib/Service/IQOptionService/Factory/StreamFactory.js +43 -0
  65. package/dist/lib/Service/IQOptionService/Factory/StreamType.d.ts +9 -0
  66. package/dist/lib/Service/IQOptionService/Factory/StreamType.js +22 -0
  67. package/dist/lib/Service/IQOptionService/Factory/index.d.ts +2 -0
  68. package/dist/lib/Service/IQOptionService/Factory/index.js +27 -0
  69. package/dist/lib/Service/IQOptionService/Helper/InputValidator.d.ts +34 -0
  70. package/dist/lib/Service/IQOptionService/Helper/InputValidator.js +101 -0
  71. package/dist/lib/Service/IQOptionService/Helper/RequestIdGenerator.d.ts +18 -0
  72. package/dist/lib/Service/IQOptionService/Helper/RequestIdGenerator.js +37 -0
  73. package/dist/lib/Service/IQOptionService/Helper/index.d.ts +2 -0
  74. package/dist/lib/Service/IQOptionService/Helper/index.js +27 -0
  75. package/dist/lib/Service/IQOptionService/IQOptionApi.d.ts +96 -0
  76. package/dist/lib/Service/IQOptionService/IQOptionApi.js +343 -0
  77. package/dist/lib/Service/IQOptionService/IQOptionExpired.d.ts +7 -0
  78. package/dist/lib/Service/IQOptionService/IQOptionExpired.js +27 -0
  79. package/dist/lib/Service/IQOptionService/IQOptionStreamCandleGenerated.d.ts +55 -0
  80. package/dist/lib/Service/IQOptionService/IQOptionStreamCandleGenerated.js +88 -0
  81. package/dist/lib/Service/IQOptionService/IQOptionStreamOptionClose.d.ts +33 -0
  82. package/dist/lib/Service/IQOptionService/IQOptionStreamOptionClose.js +59 -0
  83. package/dist/lib/Service/IQOptionService/IQOptionStreamTradersSentiment.d.ts +46 -0
  84. package/dist/lib/Service/IQOptionService/IQOptionStreamTradersSentiment.js +84 -0
  85. package/dist/lib/Service/IQOptionService/IQOptionStreamUserAlerts.d.ts +40 -0
  86. package/dist/lib/Service/IQOptionService/IQOptionStreamUserAlerts.js +79 -0
  87. package/dist/lib/Service/IQOptionService/IQOptionWrapper.d.ts +51 -0
  88. package/dist/lib/Service/IQOptionService/IQOptionWrapper.js +111 -0
  89. package/dist/lib/Service/IQOptionService/IQOptionWs.d.ts +56 -0
  90. package/dist/lib/Service/IQOptionService/IQOptionWs.js +125 -0
  91. package/dist/lib/Service/IQOptionService/Interface/IAuthService.d.ts +12 -0
  92. package/dist/lib/Service/IQOptionService/Interface/IAuthService.js +11 -0
  93. package/dist/lib/Service/IQOptionService/Interface/IIQOptionStream.d.ts +9 -0
  94. package/dist/lib/Service/IQOptionService/Interface/IIQOptionStream.js +11 -0
  95. package/dist/lib/Service/IQOptionService/Interface/IWebSocketClient.d.ts +26 -0
  96. package/dist/lib/Service/IQOptionService/Interface/IWebSocketClient.js +3 -0
  97. package/dist/lib/Service/IQOptionService/Interface/index.d.ts +3 -0
  98. package/dist/lib/Service/IQOptionService/Interface/index.js +28 -0
  99. package/dist/lib/Service/IQOptionService/Model/IQOptionAction.d.ts +23 -0
  100. package/dist/lib/Service/IQOptionService/Model/IQOptionAction.js +36 -0
  101. package/dist/lib/Service/IQOptionService/Model/IQOptionCandle.d.ts +61 -0
  102. package/dist/lib/Service/IQOptionService/Model/IQOptionCandle.js +11 -0
  103. package/dist/lib/Service/IQOptionService/Model/IQOptionCurrency.d.ts +9 -0
  104. package/dist/lib/Service/IQOptionService/Model/IQOptionCurrency.js +22 -0
  105. package/dist/lib/Service/IQOptionService/Model/IQOptionCurrencyType.d.ts +8 -0
  106. package/dist/lib/Service/IQOptionService/Model/IQOptionCurrencyType.js +21 -0
  107. package/dist/lib/Service/IQOptionService/Model/IQOptionInitializationData.d.ts +117 -0
  108. package/dist/lib/Service/IQOptionService/Model/IQOptionInitializationData.js +14 -0
  109. package/dist/lib/Service/IQOptionService/Model/IQOptionInstrumentType.d.ts +4 -0
  110. package/dist/lib/Service/IQOptionService/Model/IQOptionInstrumentType.js +9 -0
  111. package/dist/lib/Service/IQOptionService/Model/IQOptionInstruments.d.ts +22 -0
  112. package/dist/lib/Service/IQOptionService/Model/IQOptionInstruments.js +3 -0
  113. package/dist/lib/Service/IQOptionService/Model/IQOptionMarket.d.ts +100 -0
  114. package/dist/lib/Service/IQOptionService/Model/IQOptionMarket.js +113 -0
  115. package/dist/lib/Service/IQOptionService/Model/IQOptionMarketInvert.d.ts +6 -0
  116. package/dist/lib/Service/IQOptionService/Model/IQOptionMarketInvert.js +108 -0
  117. package/dist/lib/Service/IQOptionService/Model/IQOptionMode.d.ts +7 -0
  118. package/dist/lib/Service/IQOptionService/Model/IQOptionMode.js +20 -0
  119. package/dist/lib/Service/IQOptionService/Model/IQOptionModel.d.ts +13 -0
  120. package/dist/lib/Service/IQOptionService/Model/IQOptionModel.js +26 -0
  121. package/dist/lib/Service/IQOptionService/Model/IQOptionName.d.ts +8 -0
  122. package/dist/lib/Service/IQOptionService/Model/IQOptionName.js +21 -0
  123. package/dist/lib/Service/IQOptionService/Model/IQOptionOptionClosed.d.ts +43 -0
  124. package/dist/lib/Service/IQOptionService/Model/IQOptionOptionClosed.js +11 -0
  125. package/dist/lib/Service/IQOptionService/Model/IQOptionOptionOpened.d.ts +39 -0
  126. package/dist/lib/Service/IQOptionService/Model/IQOptionOptionOpened.js +11 -0
  127. package/dist/lib/Service/IQOptionService/Model/IQOptionProfile.d.ts +152 -0
  128. package/dist/lib/Service/IQOptionService/Model/IQOptionProfile.js +11 -0
  129. package/dist/lib/Service/IQOptionService/Model/IQOptionResult.d.ts +17 -0
  130. package/dist/lib/Service/IQOptionService/Model/IQOptionResult.js +30 -0
  131. package/dist/lib/Service/IQOptionService/Model/IQOptionTime.d.ts +12 -0
  132. package/dist/lib/Service/IQOptionService/Model/IQOptionTime.js +25 -0
  133. package/dist/lib/Service/IQOptionService/Model/index.d.ts +17 -0
  134. package/dist/lib/Service/IQOptionService/Model/index.js +42 -0
  135. package/dist/lib/Service/IQOptionService/Repository/IQOptionRepository.d.ts +26 -0
  136. package/dist/lib/Service/IQOptionService/Repository/IQOptionRepository.js +3 -0
  137. package/dist/lib/Service/IQOptionService/Repository/WebSocketRepository.d.ts +19 -0
  138. package/dist/lib/Service/IQOptionService/Repository/WebSocketRepository.js +99 -0
  139. package/dist/lib/Service/IQOptionService/Repository/index.d.ts +2 -0
  140. package/dist/lib/Service/IQOptionService/Repository/index.js +27 -0
  141. package/dist/lib/Service/IQOptionService/Strategy/BinaryOrderStrategy.d.ts +15 -0
  142. package/dist/lib/Service/IQOptionService/Strategy/BinaryOrderStrategy.js +66 -0
  143. package/dist/lib/Service/IQOptionService/Strategy/DigitalOrderStrategy.d.ts +15 -0
  144. package/dist/lib/Service/IQOptionService/Strategy/DigitalOrderStrategy.js +83 -0
  145. package/dist/lib/Service/IQOptionService/Strategy/IOrderStrategy.d.ts +10 -0
  146. package/dist/lib/Service/IQOptionService/Strategy/IOrderStrategy.js +3 -0
  147. package/dist/lib/Service/IQOptionService/Strategy/index.d.ts +3 -0
  148. package/dist/lib/Service/IQOptionService/Strategy/index.js +28 -0
  149. package/dist/lib/Service/IQOptionService/index.d.ts +16 -0
  150. package/dist/lib/Service/IQOptionService/index.js +41 -0
  151. package/dist/lib/Service/index.d.ts +1 -0
  152. package/dist/lib/Service/index.js +26 -0
  153. package/dist/lib/index.d.ts +2 -0
  154. package/dist/lib/index.js +27 -0
  155. package/package.json +67 -0
@@ -0,0 +1,39 @@
1
+ import { LogLevel } from "./LogLevel";
2
+ import { LoggerContext } from "./LoggerContext";
3
+ /**
4
+ * Logger interface for dependency inversion.
5
+ */
6
+ export interface ILogger {
7
+ /**
8
+ * Log error message.
9
+ */
10
+ error(message: string, context?: LoggerContext, error?: Error): void;
11
+ /**
12
+ * Log warning message.
13
+ */
14
+ warn(message: string, context?: LoggerContext): void;
15
+ /**
16
+ * Log info message.
17
+ */
18
+ info(message: string, context?: LoggerContext): void;
19
+ /**
20
+ * Log debug message.
21
+ */
22
+ debug(message: string, context?: LoggerContext): void;
23
+ /**
24
+ * Log silly/verbose message.
25
+ */
26
+ silly(message: string, context?: LoggerContext): void;
27
+ /**
28
+ * Log with custom level.
29
+ */
30
+ log(level: LogLevel, message: string, context?: LoggerContext, error?: Error): void;
31
+ /**
32
+ * Create child logger with additional context.
33
+ */
34
+ child(context: LoggerContext): ILogger;
35
+ /**
36
+ * Log performance metric.
37
+ */
38
+ performance(operation: string, duration: number, context?: LoggerContext): void;
39
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvSGVscGVyL0xvZ2dlci9JTG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Log levels enum.
3
+ */
4
+ export declare enum LogLevel {
5
+ ERROR = "error",
6
+ WARN = "warn",
7
+ INFO = "info",
8
+ DEBUG = "debug",
9
+ SILLY = "silly"
10
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (C) 2020 Wellington Rocha
4
+ * All Rights Reserved.
5
+ *
6
+ * Unauthorized copying of this file, via any medium is strictly prohibited.
7
+ *
8
+ * Proprietary and confidential.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.LogLevel = void 0;
12
+ /**
13
+ * Log levels enum.
14
+ */
15
+ var LogLevel;
16
+ (function (LogLevel) {
17
+ LogLevel["ERROR"] = "error";
18
+ LogLevel["WARN"] = "warn";
19
+ LogLevel["INFO"] = "info";
20
+ LogLevel["DEBUG"] = "debug";
21
+ LogLevel["SILLY"] = "silly";
22
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nTGV2ZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL0hlbHBlci9Mb2dnZXIvTG9nTGV2ZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7O0dBT0c7OztBQUVIOztHQUVHO0FBQ0gsSUFBWSxRQU1YO0FBTkQsV0FBWSxRQUFRO0lBQ2hCLDJCQUFlLENBQUE7SUFDZix5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwyQkFBZSxDQUFBO0FBQ25CLENBQUMsRUFOVyxRQUFRLHdCQUFSLFFBQVEsUUFNbkIifQ==
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Logger context for structured logging.
3
+ */
4
+ export interface LoggerContext {
5
+ /**
6
+ * Request ID for tracking.
7
+ */
8
+ requestId?: string | number;
9
+ /**
10
+ * User ID.
11
+ */
12
+ userId?: string | number;
13
+ /**
14
+ * Operation name.
15
+ */
16
+ operation?: string;
17
+ /**
18
+ * Class name.
19
+ */
20
+ className?: string;
21
+ /**
22
+ * Method name.
23
+ */
24
+ methodName?: string;
25
+ /**
26
+ * Market identifier.
27
+ */
28
+ market?: string | number;
29
+ /**
30
+ * Additional metadata.
31
+ */
32
+ metadata?: Record<string, any>;
33
+ }
34
+ /**
35
+ * Logger context manager.
36
+ */
37
+ export declare class LoggerContextManager {
38
+ private static context;
39
+ /**
40
+ * Set context value.
41
+ */
42
+ static set(key: keyof LoggerContext, value: any): void;
43
+ /**
44
+ * Get context value.
45
+ */
46
+ static get(key: keyof LoggerContext): any;
47
+ /**
48
+ * Get full context.
49
+ */
50
+ static getContext(): LoggerContext;
51
+ /**
52
+ * Clear context.
53
+ */
54
+ static clear(): void;
55
+ /**
56
+ * Merge additional context.
57
+ */
58
+ static merge(additional: Partial<LoggerContext>): LoggerContext;
59
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (C) 2020 Wellington Rocha
4
+ * All Rights Reserved.
5
+ *
6
+ * Unauthorized copying of this file, via any medium is strictly prohibited.
7
+ *
8
+ * Proprietary and confidential.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.LoggerContextManager = void 0;
12
+ /**
13
+ * Logger context manager.
14
+ */
15
+ class LoggerContextManager {
16
+ /**
17
+ * Set context value.
18
+ */
19
+ static set(key, value) {
20
+ this.context[key] = value;
21
+ }
22
+ /**
23
+ * Get context value.
24
+ */
25
+ static get(key) {
26
+ return this.context[key];
27
+ }
28
+ /**
29
+ * Get full context.
30
+ */
31
+ static getContext() {
32
+ return Object.assign({}, this.context);
33
+ }
34
+ /**
35
+ * Clear context.
36
+ */
37
+ static clear() {
38
+ this.context = {};
39
+ }
40
+ /**
41
+ * Merge additional context.
42
+ */
43
+ static merge(additional) {
44
+ return Object.assign(Object.assign({}, this.context), additional);
45
+ }
46
+ }
47
+ exports.LoggerContextManager = LoggerContextManager;
48
+ LoggerContextManager.context = {};
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvSGVscGVyL0xvZ2dlci9Mb2dnZXJDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7OztHQU9HOzs7QUEwQ0g7O0dBRUc7QUFDSCxNQUFhLG9CQUFvQjtJQUc3Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBd0IsRUFBRSxLQUFVO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBd0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxVQUFVO1FBQ3BCLHlCQUFZLElBQUksQ0FBQyxPQUFPLEVBQUc7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQWtDO1FBQ2xELHVDQUFZLElBQUksQ0FBQyxPQUFPLEdBQUssVUFBVSxFQUFHO0lBQzlDLENBQUM7O0FBcENMLG9EQXFDQztBQXBDa0IsNEJBQU8sR0FBa0IsRUFBRSxDQUFDIn0=
@@ -0,0 +1,22 @@
1
+ import { ILogger } from "./ILogger";
2
+ /**
3
+ * Logger factory for creating logger instances.
4
+ */
5
+ export declare class LoggerFactory {
6
+ private static defaultLogger;
7
+ /**
8
+ * Create logger instance.
9
+ */
10
+ static create(context?: {
11
+ className?: string;
12
+ methodName?: string;
13
+ }): ILogger;
14
+ /**
15
+ * Get default logger instance.
16
+ */
17
+ static getDefault(): ILogger;
18
+ /**
19
+ * Create Winston logger instance.
20
+ */
21
+ private static createWinstonLogger;
22
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.LoggerFactory = void 0;
15
+ /*
16
+ * Copyright (C) 2020 Wellington Rocha
17
+ * All Rights Reserved.
18
+ *
19
+ * Unauthorized copying of this file, via any medium is strictly prohibited.
20
+ *
21
+ * Proprietary and confidential.
22
+ */
23
+ const Winston = require("winston");
24
+ const path = require("path");
25
+ const WinstonLogger_1 = require("./WinstonLogger");
26
+ /**
27
+ * Logger factory for creating logger instances.
28
+ */
29
+ class LoggerFactory {
30
+ /**
31
+ * Create logger instance.
32
+ */
33
+ static create(context) {
34
+ const winston = this.createWinstonLogger();
35
+ const baseContext = context ? { className: context.className, methodName: context.methodName } : undefined;
36
+ return new WinstonLogger_1.WinstonLogger(winston, baseContext);
37
+ }
38
+ /**
39
+ * Get default logger instance.
40
+ */
41
+ static getDefault() {
42
+ if (!this.defaultLogger) {
43
+ this.defaultLogger = this.create();
44
+ }
45
+ return this.defaultLogger;
46
+ }
47
+ /**
48
+ * Create Winston logger instance.
49
+ */
50
+ static createWinstonLogger() {
51
+ const level = process.env.IQC_LOG_LEVEL || process.env.LOG_LEVEL || "info";
52
+ const logDir = process.env.LOG_DIR || "./logs";
53
+ const transports = [
54
+ new Winston.transports.Console({
55
+ level,
56
+ format: Winston.format.combine(Winston.format.timestamp(), Winston.format.errors({ stack: true }), Winston.format.colorize(), Winston.format.printf((info) => {
57
+ const { timestamp, level, message } = info, meta = __rest(info, ["timestamp", "level", "message"]);
58
+ const metaStr = Object.keys(meta).length ? JSON.stringify(meta, null, 2) : "";
59
+ return `${timestamp} [${level}]: ${message} ${metaStr}`;
60
+ })),
61
+ }),
62
+ ];
63
+ // Add file transport if LOG_DIR is set
64
+ if (process.env.LOG_DIR) {
65
+ transports.push(new Winston.transports.File({
66
+ filename: path.join(logDir, "error.log"),
67
+ level: "error",
68
+ format: Winston.format.combine(Winston.format.timestamp(), Winston.format.errors({ stack: true }), Winston.format.json()),
69
+ maxsize: 5242880, // 5MB
70
+ maxFiles: 5,
71
+ }), new Winston.transports.File({
72
+ filename: path.join(logDir, "combined.log"),
73
+ format: Winston.format.combine(Winston.format.timestamp(), Winston.format.errors({ stack: true }), Winston.format.json()),
74
+ maxsize: 5242880, // 5MB
75
+ maxFiles: 5,
76
+ }));
77
+ }
78
+ return Winston.createLogger({
79
+ level,
80
+ transports,
81
+ exitOnError: false,
82
+ });
83
+ }
84
+ }
85
+ exports.LoggerFactory = LoggerFactory;
86
+ LoggerFactory.defaultLogger = null;
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvSGVscGVyL0xvZ2dlci9Mb2dnZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7R0FPRztBQUNILG1DQUFtQztBQUNuQyw2QkFBNkI7QUFFN0IsbURBQWdEO0FBR2hEOztHQUVHO0FBQ0gsTUFBYSxhQUFhO0lBR3RCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFxRDtRQUN0RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzNHLE9BQU8sSUFBSSw2QkFBYSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsVUFBVTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTSxDQUFDLG1CQUFtQjtRQUM5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUM7UUFDM0UsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDO1FBRS9DLE1BQU0sVUFBVSxH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
@@ -0,0 +1,21 @@
1
+ import * as Winston from "winston";
2
+ import { ILogger } from "./ILogger";
3
+ import { LogLevel } from "./LogLevel";
4
+ import { LoggerContext } from "./LoggerContext";
5
+ /**
6
+ * Winston-based logger implementation.
7
+ */
8
+ export declare class WinstonLogger implements ILogger {
9
+ private readonly winston;
10
+ private readonly baseContext;
11
+ constructor(winston: Winston.Logger, baseContext?: LoggerContext);
12
+ error(message: string, context?: LoggerContext, error?: Error): void;
13
+ warn(message: string, context?: LoggerContext): void;
14
+ info(message: string, context?: LoggerContext): void;
15
+ debug(message: string, context?: LoggerContext): void;
16
+ silly(message: string, context?: LoggerContext): void;
17
+ log(level: LogLevel, message: string, context?: LoggerContext, error?: Error): void;
18
+ child(context: LoggerContext): ILogger;
19
+ performance(operation: string, duration: number, context?: LoggerContext): void;
20
+ private mergeContext;
21
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WinstonLogger = void 0;
4
+ const LogLevel_1 = require("./LogLevel");
5
+ const LoggerContext_1 = require("./LoggerContext");
6
+ /**
7
+ * Winston-based logger implementation.
8
+ */
9
+ class WinstonLogger {
10
+ constructor(winston, baseContext) {
11
+ this.winston = winston;
12
+ this.baseContext = baseContext || {};
13
+ }
14
+ error(message, context, error) {
15
+ this.log(LogLevel_1.LogLevel.ERROR, message, context, error);
16
+ }
17
+ warn(message, context) {
18
+ this.log(LogLevel_1.LogLevel.WARN, message, context);
19
+ }
20
+ info(message, context) {
21
+ this.log(LogLevel_1.LogLevel.INFO, message, context);
22
+ }
23
+ debug(message, context) {
24
+ this.log(LogLevel_1.LogLevel.DEBUG, message, context);
25
+ }
26
+ silly(message, context) {
27
+ this.log(LogLevel_1.LogLevel.SILLY, message, context);
28
+ }
29
+ log(level, message, context, error) {
30
+ const mergedContext = this.mergeContext(context);
31
+ const logData = Object.assign(Object.assign({}, mergedContext), { message, timestamp: new Date().toISOString() });
32
+ if (error) {
33
+ logData.error = {
34
+ name: error.name,
35
+ message: error.message,
36
+ stack: error.stack,
37
+ };
38
+ }
39
+ this.winston.log(level, message, logData);
40
+ }
41
+ child(context) {
42
+ const mergedContext = this.mergeContext(context);
43
+ return new WinstonLogger(this.winston, mergedContext);
44
+ }
45
+ performance(operation, duration, context) {
46
+ const mergedContext = this.mergeContext(context);
47
+ this.winston.info(`Performance: ${operation}`, Object.assign(Object.assign({}, mergedContext), { operation,
48
+ duration, unit: "ms" }));
49
+ }
50
+ mergeContext(context) {
51
+ const globalContext = LoggerContext_1.LoggerContextManager.getContext();
52
+ return Object.assign(Object.assign(Object.assign({}, globalContext), this.baseContext), context);
53
+ }
54
+ }
55
+ exports.WinstonLogger = WinstonLogger;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luc3RvbkxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvSGVscGVyL0xvZ2dlci9XaW5zdG9uTG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLHlDQUFzQztBQUN0QyxtREFBc0U7QUFFdEU7O0dBRUc7QUFDSCxNQUFhLGFBQWE7SUFJdEIsWUFBWSxPQUF1QixFQUFFLFdBQTJCO1FBQzVELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQWUsRUFBRSxPQUF1QixFQUFFLEtBQWE7UUFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxJQUFJLENBQUMsT0FBZSxFQUFFLE9BQXVCO1FBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxJQUFJLENBQUMsT0FBZSxFQUFFLE9BQXVCO1FBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBZSxFQUFFLE9BQXVCO1FBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBZSxFQUFFLE9BQXVCO1FBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxHQUFHLENBQUMsS0FBZSxFQUFFLE9BQWUsRUFBRSxPQUF1QixFQUFFLEtBQWE7UUFDL0UsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLE9BQU8sbUNBQ04sYUFBYSxLQUNoQixPQUFPLEVBQ1AsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQ3RDLENBQUM7UUFFRixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxDQUFDLEtBQUssR0FBRztnQkFDWixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2FBQ3JCLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQXNCO1FBQy9CLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxXQUFXLENBQUMsU0FBaUIsRUFBRSxRQUFnQixFQUFFLE9BQXVCO1FBQzNFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLFNBQVMsRUFBRSxrQ0FDdEMsYUFBYSxLQUNoQixTQUFTO1lBQ1QsUUFBUSxFQUNSLElBQUksRUFBRSxJQUFJLElBQ1osQ0FBQztJQUNQLENBQUM7SUFFTyxZQUFZLENBQUMsT0FBdUI7UUFDeEMsTUFBTSxhQUFhLEdBQUcsb0NBQW9CLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEQscURBQ08sYUFBYSxHQUNiLElBQUksQ0FBQyxXQUFXLEdBQ2hCLE9BQU8sRUFDWjtJQUNOLENBQUM7Q0FDSjtBQXZFRCxzQ0F1RUMifQ==
@@ -0,0 +1,5 @@
1
+ export * from "./ILogger";
2
+ export * from "./WinstonLogger";
3
+ export * from "./LoggerContext";
4
+ export * from "./LogLevel";
5
+ export * from "./LoggerFactory";
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /*
18
+ * Copyright (C) 2020 Wellington Rocha
19
+ * All Rights Reserved.
20
+ *
21
+ * Unauthorized copying of this file, via any medium is strictly prohibited.
22
+ *
23
+ * Proprietary and confidential.
24
+ */
25
+ __exportStar(require("./ILogger"), exports);
26
+ __exportStar(require("./WinstonLogger"), exports);
27
+ __exportStar(require("./LoggerContext"), exports);
28
+ __exportStar(require("./LogLevel"), exports);
29
+ __exportStar(require("./LoggerFactory"), exports);
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL0hlbHBlci9Mb2dnZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7O0dBT0c7QUFDSCw0Q0FBMEI7QUFDMUIsa0RBQWdDO0FBQ2hDLGtEQUFnQztBQUNoQyw2Q0FBMkI7QUFDM0Isa0RBQWdDIn0=
@@ -0,0 +1,11 @@
1
+ import * as Winston from "winston";
2
+ import { ILogger } from "./Logger/ILogger";
3
+ /**
4
+ * Get logger instance - backward compatible function.
5
+ * @deprecated Use LoggerFactory.getDefault() or inject ILogger instead.
6
+ */
7
+ export declare const logger: () => Winston.Logger;
8
+ /**
9
+ * Get ILogger instance - new recommended way.
10
+ */
11
+ export declare const getLogger: () => ILogger;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLogger = exports.logger = void 0;
4
+ /*
5
+ * Copyright (C) 2020 Wellington Rocha
6
+ * All Rights Reserved.
7
+ *
8
+ * Unauthorized copying of this file, via any medium is strictly prohibited.
9
+ *
10
+ * Proprietary and confidential.
11
+ */
12
+ const Winston = require("winston");
13
+ const LoggerFactory_1 = require("./Logger/LoggerFactory");
14
+ /**
15
+ * Logger helper - maintains backward compatibility.
16
+ * @deprecated Use LoggerFactory.create() or inject ILogger instead.
17
+ */
18
+ class LoggerHelper {
19
+ /**
20
+ * Load service - returns Winston logger for backward compatibility.
21
+ */
22
+ static load() {
23
+ if (LoggerHelper.logger === undefined) {
24
+ const transports = {
25
+ console: new Winston.transports.Console({
26
+ level: process.env.IQC_LOG_LEVEL || process.env.LOG_LEVEL || "info",
27
+ format: Winston.format.combine(Winston.format.colorize(), Winston.format.simple()),
28
+ }),
29
+ };
30
+ LoggerHelper.logger = Winston.createLogger({
31
+ transports: [transports.console],
32
+ });
33
+ }
34
+ return LoggerHelper.logger;
35
+ }
36
+ }
37
+ /**
38
+ * Get logger instance - backward compatible function.
39
+ * @deprecated Use LoggerFactory.getDefault() or inject ILogger instead.
40
+ */
41
+ const logger = () => LoggerHelper.load();
42
+ exports.logger = logger;
43
+ /**
44
+ * Get ILogger instance - new recommended way.
45
+ */
46
+ const getLogger = () => LoggerFactory_1.LoggerFactory.getDefault();
47
+ exports.getLogger = getLogger;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VySGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9IZWxwZXIvTG9nZ2VySGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7O0dBT0c7QUFDSCxtQ0FBbUM7QUFDbkMsMERBQXVEO0FBR3ZEOzs7R0FHRztBQUNILE1BQU0sWUFBWTtJQUNkOztPQUVHO0lBQ0ksTUFBTSxDQUFDLElBQUk7UUFDZCxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMsTUFBTSxVQUFVLEdBQUc7Z0JBQ2YsT0FBTyxFQUFFLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7b0JBQ3BDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxNQUFNO29CQUNuRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzFCLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQ3pCLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQzFCO2lCQUNKLENBQUM7YUFDTCxDQUFDO1lBQ0YsWUFBWSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO2dCQUN2QyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO2FBQ25DLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztDQU1KO0FBRUQ7OztHQUdHO0FBQ0ksTUFBTSxNQUFNLEdBQUcsR0FBbUIsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUFuRCxRQUFBLE1BQU0sVUFBNkM7QUFFaEU7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxHQUFZLEVBQUUsQ0FBQyw2QkFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQXRELFFBQUEsU0FBUyxhQUE2QyJ9
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Sleep helper.
3
+ *
4
+ * @param time
5
+ */
6
+ export declare const sleepHelper: (time: number) => Promise<void>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleepHelper = void 0;
4
+ /**
5
+ * Sleep helper.
6
+ *
7
+ * @param time
8
+ */
9
+ const sleepHelper = (time) => {
10
+ return new Promise((resolve) => {
11
+ setTimeout(() => resolve(), time);
12
+ });
13
+ };
14
+ exports.sleepHelper = sleepHelper;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xlZXBIZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL0hlbHBlci9TbGVlcEhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7OztHQUlHO0FBQ0ksTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFZLEVBQWlCLEVBQUU7SUFDdkQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUpXLFFBQUEsV0FBVyxlQUl0QiJ9
@@ -0,0 +1,3 @@
1
+ export * from "./LoggerHelper";
2
+ export * from "./SleepHelper";
3
+ export * from "./Logger";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./LoggerHelper"), exports);
18
+ __exportStar(require("./SleepHelper"), exports);
19
+ __exportStar(require("./Logger"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL0hlbHBlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLGdEQUE4QjtBQUM5QiwyQ0FBeUIifQ==
@@ -0,0 +1,16 @@
1
+ import { EventEmitter } from "events";
2
+ import { IIQOptionStream } from "../Interface/IIQOptionStream";
3
+ import { ILogger } from "../../../Helper/Logger";
4
+ /**
5
+ * Stream adapter to unify stream interfaces.
6
+ */
7
+ export declare class StreamAdapter extends EventEmitter implements IIQOptionStream {
8
+ private readonly stream;
9
+ private readonly logger;
10
+ constructor(stream: IIQOptionStream, logger?: ILogger);
11
+ startStream(): Promise<void>;
12
+ /**
13
+ * Get underlying stream.
14
+ */
15
+ getStream(): IIQOptionStream;
16
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StreamAdapter = void 0;
4
+ /*
5
+ * Copyright (C) 2020 Wellington Rocha
6
+ * All Rights Reserved.
7
+ *
8
+ * Unauthorized copying of this file, via any medium is strictly prohibited.
9
+ *
10
+ * Proprietary and confidential.
11
+ */
12
+ const events_1 = require("events");
13
+ const Logger_1 = require("../../../Helper/Logger");
14
+ /**
15
+ * Stream adapter to unify stream interfaces.
16
+ */
17
+ class StreamAdapter extends events_1.EventEmitter {
18
+ constructor(stream, logger) {
19
+ super();
20
+ this.stream = stream;
21
+ this.logger = logger || Logger_1.LoggerFactory.create({ className: "StreamAdapter" });
22
+ // Forward events from underlying stream
23
+ if (this.stream instanceof events_1.EventEmitter) {
24
+ this.stream.on("data", (data) => {
25
+ this.emit("data", data);
26
+ });
27
+ this.stream.on("error", (error) => {
28
+ this.emit("error", error);
29
+ });
30
+ this.stream.on("end", () => {
31
+ this.emit("end");
32
+ });
33
+ }
34
+ }
35
+ async startStream() {
36
+ this.logger.debug("Starting stream via adapter", { operation: "startStream" });
37
+ return this.stream.startStream();
38
+ }
39
+ /**
40
+ * Get underlying stream.
41
+ */
42
+ getStream() {
43
+ return this.stream;
44
+ }
45
+ }
46
+ exports.StreamAdapter = StreamAdapter;
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyZWFtQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvU2VydmljZS9JUU9wdGlvblNlcnZpY2UvQWRhcHRlci9TdHJlYW1BZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7O0dBT0c7QUFDSCxtQ0FBc0M7QUFHdEMsbURBQXVEO0FBRXZEOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEscUJBQVk7SUFJM0MsWUFBWSxNQUF1QixFQUFFLE1BQWdCO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksc0JBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUU3RSx3Q0FBd0M7UUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxZQUFZLHFCQUFZLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVztRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDSjtBQWxDRCxzQ0FrQ0MifQ==
@@ -0,0 +1 @@
1
+ export * from "./StreamAdapter";
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /*
18
+ * Copyright (C) 2020 Wellington Rocha
19
+ * All Rights Reserved.
20
+ *
21
+ * Unauthorized copying of this file, via any medium is strictly prohibited.
22
+ *
23
+ * Proprietary and confidential.
24
+ */
25
+ __exportStar(require("./StreamAdapter"), exports);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL1NlcnZpY2UvSVFPcHRpb25TZXJ2aWNlL0FkYXB0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7O0dBT0c7QUFDSCxrREFBZ0MifQ==