iqoptionapi-node 1.0.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 (147) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +219 -0
  3. package/dist/auth/CredentialAbstraction.d.ts +25 -0
  4. package/dist/auth/CredentialAbstraction.d.ts.map +1 -0
  5. package/dist/auth/CredentialAbstraction.js +46 -0
  6. package/dist/auth/CredentialAbstraction.js.map +1 -0
  7. package/dist/auth/EmailPasswordAuth.d.ts +11 -0
  8. package/dist/auth/EmailPasswordAuth.d.ts.map +1 -0
  9. package/dist/auth/EmailPasswordAuth.js +36 -0
  10. package/dist/auth/EmailPasswordAuth.js.map +1 -0
  11. package/dist/auth/SessionManager.d.ts +14 -0
  12. package/dist/auth/SessionManager.d.ts.map +1 -0
  13. package/dist/auth/SessionManager.js +51 -0
  14. package/dist/auth/SessionManager.js.map +1 -0
  15. package/dist/auth/SsidAuth.d.ts +10 -0
  16. package/dist/auth/SsidAuth.d.ts.map +1 -0
  17. package/dist/auth/SsidAuth.js +26 -0
  18. package/dist/auth/SsidAuth.js.map +1 -0
  19. package/dist/client/IQOptionClient.d.ts +58 -0
  20. package/dist/client/IQOptionClient.d.ts.map +1 -0
  21. package/dist/client/IQOptionClient.js +125 -0
  22. package/dist/client/IQOptionClient.js.map +1 -0
  23. package/dist/errors/index.d.ts +22 -0
  24. package/dist/errors/index.d.ts.map +1 -0
  25. package/dist/errors/index.js +53 -0
  26. package/dist/errors/index.js.map +1 -0
  27. package/dist/index.d.ts +8 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +22 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/logger/index.d.ts +6 -0
  32. package/dist/logger/index.d.ts.map +1 -0
  33. package/dist/logger/index.js +33 -0
  34. package/dist/logger/index.js.map +1 -0
  35. package/dist/market-data/AssetCatalog.d.ts +16 -0
  36. package/dist/market-data/AssetCatalog.d.ts.map +1 -0
  37. package/dist/market-data/AssetCatalog.js +45 -0
  38. package/dist/market-data/AssetCatalog.js.map +1 -0
  39. package/dist/market-data/CandleBuffer.d.ts +12 -0
  40. package/dist/market-data/CandleBuffer.d.ts.map +1 -0
  41. package/dist/market-data/CandleBuffer.js +44 -0
  42. package/dist/market-data/CandleBuffer.js.map +1 -0
  43. package/dist/market-data/CandleStream.d.ts +19 -0
  44. package/dist/market-data/CandleStream.d.ts.map +1 -0
  45. package/dist/market-data/CandleStream.js +73 -0
  46. package/dist/market-data/CandleStream.js.map +1 -0
  47. package/dist/market-data/HistoricalCandles.d.ts +11 -0
  48. package/dist/market-data/HistoricalCandles.d.ts.map +1 -0
  49. package/dist/market-data/HistoricalCandles.js +32 -0
  50. package/dist/market-data/HistoricalCandles.js.map +1 -0
  51. package/dist/market-data/TickAggregator.d.ts +13 -0
  52. package/dist/market-data/TickAggregator.d.ts.map +1 -0
  53. package/dist/market-data/TickAggregator.js +40 -0
  54. package/dist/market-data/TickAggregator.js.map +1 -0
  55. package/dist/market-data/TickStream.d.ts +18 -0
  56. package/dist/market-data/TickStream.d.ts.map +1 -0
  57. package/dist/market-data/TickStream.js +68 -0
  58. package/dist/market-data/TickStream.js.map +1 -0
  59. package/dist/protocol/V1Adapter.d.ts +20 -0
  60. package/dist/protocol/V1Adapter.d.ts.map +1 -0
  61. package/dist/protocol/V1Adapter.js +21 -0
  62. package/dist/protocol/V1Adapter.js.map +1 -0
  63. package/dist/trading/BinaryOptions.d.ts +31 -0
  64. package/dist/trading/BinaryOptions.d.ts.map +1 -0
  65. package/dist/trading/BinaryOptions.js +107 -0
  66. package/dist/trading/BinaryOptions.js.map +1 -0
  67. package/dist/trading/DigitalOptions.d.ts +31 -0
  68. package/dist/trading/DigitalOptions.d.ts.map +1 -0
  69. package/dist/trading/DigitalOptions.js +107 -0
  70. package/dist/trading/DigitalOptions.js.map +1 -0
  71. package/dist/trading/OrderCache.d.ts +17 -0
  72. package/dist/trading/OrderCache.d.ts.map +1 -0
  73. package/dist/trading/OrderCache.js +39 -0
  74. package/dist/trading/OrderCache.js.map +1 -0
  75. package/dist/trading/OrderHistory.d.ts +9 -0
  76. package/dist/trading/OrderHistory.d.ts.map +1 -0
  77. package/dist/trading/OrderHistory.js +17 -0
  78. package/dist/trading/OrderHistory.js.map +1 -0
  79. package/dist/transformers/entities.d.ts +8 -0
  80. package/dist/transformers/entities.d.ts.map +1 -0
  81. package/dist/transformers/entities.js +51 -0
  82. package/dist/transformers/entities.js.map +1 -0
  83. package/dist/transformers/toCamelCase.d.ts +2 -0
  84. package/dist/transformers/toCamelCase.d.ts.map +1 -0
  85. package/dist/transformers/toCamelCase.js +18 -0
  86. package/dist/transformers/toCamelCase.js.map +1 -0
  87. package/dist/transport/MessageRouter.d.ts +17 -0
  88. package/dist/transport/MessageRouter.d.ts.map +1 -0
  89. package/dist/transport/MessageRouter.js +87 -0
  90. package/dist/transport/MessageRouter.js.map +1 -0
  91. package/dist/transport/ReconnectionManager.d.ts +25 -0
  92. package/dist/transport/ReconnectionManager.d.ts.map +1 -0
  93. package/dist/transport/ReconnectionManager.js +63 -0
  94. package/dist/transport/ReconnectionManager.js.map +1 -0
  95. package/dist/transport/WebSocketTransport.d.ts +21 -0
  96. package/dist/transport/WebSocketTransport.d.ts.map +1 -0
  97. package/dist/transport/WebSocketTransport.js +68 -0
  98. package/dist/transport/WebSocketTransport.js.map +1 -0
  99. package/dist/types/logger.d.ts +7 -0
  100. package/dist/types/logger.d.ts.map +1 -0
  101. package/dist/types/logger.js +3 -0
  102. package/dist/types/logger.js.map +1 -0
  103. package/dist/types/market-data.d.ts +38 -0
  104. package/dist/types/market-data.d.ts.map +1 -0
  105. package/dist/types/market-data.js +3 -0
  106. package/dist/types/market-data.js.map +1 -0
  107. package/dist/types/messages.d.ts +8 -0
  108. package/dist/types/messages.d.ts.map +1 -0
  109. package/dist/types/messages.js +3 -0
  110. package/dist/types/messages.js.map +1 -0
  111. package/dist/types/primitives.d.ts +29 -0
  112. package/dist/types/primitives.d.ts.map +1 -0
  113. package/dist/types/primitives.js +29 -0
  114. package/dist/types/primitives.js.map +1 -0
  115. package/dist/types/profile.d.ts +24 -0
  116. package/dist/types/profile.d.ts.map +1 -0
  117. package/dist/types/profile.js +3 -0
  118. package/dist/types/profile.js.map +1 -0
  119. package/dist/types/raw/asset.d.ts +20 -0
  120. package/dist/types/raw/asset.d.ts.map +1 -0
  121. package/dist/types/raw/asset.js +3 -0
  122. package/dist/types/raw/asset.js.map +1 -0
  123. package/dist/types/raw/candle.d.ts +15 -0
  124. package/dist/types/raw/candle.d.ts.map +1 -0
  125. package/dist/types/raw/candle.js +3 -0
  126. package/dist/types/raw/candle.js.map +1 -0
  127. package/dist/types/raw/order.d.ts +31 -0
  128. package/dist/types/raw/order.d.ts.map +1 -0
  129. package/dist/types/raw/order.js +3 -0
  130. package/dist/types/raw/order.js.map +1 -0
  131. package/dist/types/raw/tick.d.ts +9 -0
  132. package/dist/types/raw/tick.d.ts.map +1 -0
  133. package/dist/types/raw/tick.js +3 -0
  134. package/dist/types/raw/tick.js.map +1 -0
  135. package/dist/types/trading.d.ts +38 -0
  136. package/dist/types/trading.d.ts.map +1 -0
  137. package/dist/types/trading.js +3 -0
  138. package/dist/types/trading.js.map +1 -0
  139. package/dist/validators/malformedMessage.d.ts +16 -0
  140. package/dist/validators/malformedMessage.d.ts.map +1 -0
  141. package/dist/validators/malformedMessage.js +15 -0
  142. package/dist/validators/malformedMessage.js.map +1 -0
  143. package/dist/validators/messageSchema.d.ts +7 -0
  144. package/dist/validators/messageSchema.d.ts.map +1 -0
  145. package/dist/validators/messageSchema.js +25 -0
  146. package/dist/validators/messageSchema.js.map +1 -0
  147. package/package.json +81 -0
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/types/raw/asset.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { TimeFrame } from '../primitives';
2
+ export interface IQRawCandle {
3
+ active_id: number;
4
+ size: TimeFrame;
5
+ at: number;
6
+ open: number;
7
+ max: number;
8
+ min: number;
9
+ close: number;
10
+ volume: number;
11
+ }
12
+ export interface IQRawCandlesResponse {
13
+ candles: IQRawCandle[];
14
+ }
15
+ //# sourceMappingURL=candle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candle.d.ts","sourceRoot":"","sources":["../../../src/types/raw/candle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=candle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candle.js","sourceRoot":"","sources":["../../../src/types/raw/candle.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ export interface IQRawBuyComplete {
2
+ id: string | number;
3
+ active_id: number;
4
+ direction: string;
5
+ price: number;
6
+ profit_percent?: number;
7
+ profit_amount: number | null;
8
+ status: string;
9
+ open_time?: number;
10
+ exp: number;
11
+ option_type_id: number;
12
+ }
13
+ export interface IQRawOptionEvent {
14
+ id: string | number;
15
+ active_id: number;
16
+ direction: string;
17
+ win?: string;
18
+ profit_amount: number | null;
19
+ close_rate?: number;
20
+ close_time?: number;
21
+ }
22
+ export interface IQRawDigitalOrderResult {
23
+ id: string | number;
24
+ active_id: number;
25
+ direction: string;
26
+ win?: string;
27
+ profit?: number | null;
28
+ status: string;
29
+ close_time?: number;
30
+ }
31
+ //# sourceMappingURL=order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../src/types/raw/order.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/types/raw/order.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface IQRawTick {
2
+ active_id: number;
3
+ price: number;
4
+ ask: number;
5
+ bid: number;
6
+ value?: number;
7
+ time: number;
8
+ }
9
+ //# sourceMappingURL=tick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tick.d.ts","sourceRoot":"","sources":["../../../src/types/raw/tick.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/types/raw/tick.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import type { ActiveId, Direction } from './primitives';
2
+ export type OrderStatus = 'open' | 'closed';
3
+ export type OrderResult = 'win' | 'loss' | 'equal';
4
+ export interface IQPosition {
5
+ orderId: string;
6
+ activeId: ActiveId;
7
+ direction: Direction;
8
+ amount: number;
9
+ profitPercent: number;
10
+ status: OrderStatus;
11
+ openTime: number;
12
+ closeTime: number | null;
13
+ profitAmount: number | null;
14
+ win: OrderResult | null;
15
+ }
16
+ export interface BuyBinaryOptionParams {
17
+ symbol: string;
18
+ direction: Direction;
19
+ amount: number;
20
+ durationSeconds: number;
21
+ }
22
+ export interface BuyDigitalOptionParams {
23
+ symbol: string;
24
+ direction: Direction;
25
+ amount: number;
26
+ durationSeconds: number;
27
+ }
28
+ export interface BinaryOptionResult {
29
+ orderId: string;
30
+ win: OrderResult;
31
+ profitAmount: number | null;
32
+ }
33
+ export interface DigitalOptionResult {
34
+ orderId: string;
35
+ win: OrderResult;
36
+ profitAmount: number | null;
37
+ }
38
+ //# sourceMappingURL=trading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trading.d.ts","sourceRoot":"","sources":["../../src/types/trading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC5C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,WAAW,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,WAAW,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=trading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trading.js","sourceRoot":"","sources":["../../src/types/trading.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { IQIncomingMessage } from '../types/messages';
2
+ export type Result<T, E> = {
3
+ ok: true;
4
+ value: T;
5
+ } | {
6
+ ok: false;
7
+ error: E;
8
+ };
9
+ export interface ParseError {
10
+ raw: string;
11
+ reason: string;
12
+ }
13
+ export declare class MalformedMessageHandler {
14
+ parse(raw: string): Result<IQIncomingMessage, ParseError>;
15
+ }
16
+ //# sourceMappingURL=malformedMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malformedMessage.d.ts","sourceRoot":"","sources":["../../src/validators/malformedMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE5E,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,uBAAuB;IAClC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;CAO1D"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MalformedMessageHandler = void 0;
4
+ const messageSchema_1 = require("./messageSchema");
5
+ class MalformedMessageHandler {
6
+ parse(raw) {
7
+ const message = (0, messageSchema_1.parseIncomingMessage)(raw);
8
+ if (message === null) {
9
+ return { ok: false, error: { raw, reason: 'Invalid envelope structure' } };
10
+ }
11
+ return { ok: true, value: message };
12
+ }
13
+ }
14
+ exports.MalformedMessageHandler = MalformedMessageHandler;
15
+ //# sourceMappingURL=malformedMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malformedMessage.js","sourceRoot":"","sources":["../../src/validators/malformedMessage.ts"],"names":[],"mappings":";;;AACA,mDAAuD;AASvD,MAAa,uBAAuB;IAClC,KAAK,CAAC,GAAW;QACf,MAAM,OAAO,GAAG,IAAA,oCAAoB,EAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,4BAA4B,EAAE,EAAE,CAAC;QAC7E,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC;CACF;AARD,0DAQC"}
@@ -0,0 +1,7 @@
1
+ import type { IQIncomingMessage } from '../types/messages';
2
+ /**
3
+ * Parses a raw WebSocket string into a typed message envelope.
4
+ * Never throws — returns null for malformed or structurally invalid input.
5
+ */
6
+ export declare function parseIncomingMessage(raw: string): IQIncomingMessage | null;
7
+ //# sourceMappingURL=messageSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageSchema.d.ts","sourceRoot":"","sources":["../../src/validators/messageSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAe1E"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseIncomingMessage = parseIncomingMessage;
4
+ /**
5
+ * Parses a raw WebSocket string into a typed message envelope.
6
+ * Never throws — returns null for malformed or structurally invalid input.
7
+ */
8
+ function parseIncomingMessage(raw) {
9
+ let parsed;
10
+ try {
11
+ parsed = JSON.parse(raw);
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
17
+ return null;
18
+ const obj = parsed;
19
+ if (typeof obj['name'] !== 'string' || obj['name'].length === 0)
20
+ return null;
21
+ if (!('msg' in obj))
22
+ return null;
23
+ return parsed;
24
+ }
25
+ //# sourceMappingURL=messageSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageSchema.js","sourceRoot":"","sources":["../../src/validators/messageSchema.ts"],"names":[],"mappings":";;AAMA,oDAeC;AAnBD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAExF,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjC,OAAO,MAA2B,CAAC;AACrC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "iqoptionapi-node",
3
+ "version": "1.0.0",
4
+ "description": "TypeScript SDK for the IQOption WebSocket API",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "commonjs",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "require": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "CHANGELOG.md"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "engines": {
22
+ "node": ">=18"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/TupythonDev/iqoptionapi-node.git"
27
+ },
28
+ "homepage": "https://github.com/TupythonDev/iqoptionapi-node#readme",
29
+ "bugs": {
30
+ "url": "https://github.com/TupythonDev/iqoptionapi-node/issues"
31
+ },
32
+ "scripts": {
33
+ "build": "tsc -p tsconfig.build.json",
34
+ "typecheck": "tsc --noEmit",
35
+ "test": "jest --testPathPattern=tests/unit --passWithNoTests",
36
+ "test:integration": "jest --passWithNoTests",
37
+ "test:coverage": "jest --coverage --testPathPattern=tests/unit --passWithNoTests",
38
+ "lint": "eslint src tests examples",
39
+ "lint:fix": "eslint src tests examples --fix",
40
+ "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
41
+ "prepare": "husky",
42
+ "publint": "publint",
43
+ "attw": "attw --pack ."
44
+ },
45
+ "keywords": [
46
+ "iqoption",
47
+ "trading",
48
+ "websocket",
49
+ "typescript",
50
+ "binary-options"
51
+ ],
52
+ "license": "MIT",
53
+ "dependencies": {
54
+ "ws": "^8.18.0"
55
+ },
56
+ "devDependencies": {
57
+ "@arethetypeswrong/cli": "^0.18.2",
58
+ "@commitlint/cli": "^19.8.0",
59
+ "@commitlint/config-conventional": "^19.8.0",
60
+ "@eslint/js": "^9.27.0",
61
+ "@semantic-release/changelog": "^6.0.3",
62
+ "@semantic-release/git": "^10.0.1",
63
+ "@semantic-release/github": "^12.0.8",
64
+ "@semantic-release/npm": "^13.1.5",
65
+ "@types/jest": "^29.5.14",
66
+ "@types/node": "^22.15.0",
67
+ "@types/ws": "^8.5.14",
68
+ "eslint": "^9.27.0",
69
+ "eslint-config-prettier": "^10.1.5",
70
+ "husky": "^9.1.7",
71
+ "jest": "^29.7.0",
72
+ "lint-staged": "^16.0.0",
73
+ "prettier": "^3.5.3",
74
+ "publint": "^0.3.21",
75
+ "semantic-release": "^25.0.3",
76
+ "ts-jest": "^29.3.4",
77
+ "ts-node": "^10.9.2",
78
+ "typescript": "^5.8.3",
79
+ "typescript-eslint": "^8.32.1"
80
+ }
81
+ }