@quotemedia.com/streamer 2.40.0 → 2.41.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.
@@ -1,126 +0,0 @@
1
- <html>
2
- <head>
3
- <meta charset="UTF-8">
4
- <meta name="viewport"
5
- content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
6
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
7
- <title>Document</title>
8
- <script src="qmci-streamer-2.38.0.min.js"></script>
9
- </head>
10
- <body>
11
- <div id="test">
12
- </div>
13
- </body>
14
- <script>
15
- var streamer = new qmci.Streamer;
16
- let loginPromise = new Promise((resolve, reject)=>{
17
- Streamer.login({
18
- host: 'https://qa.quotemedia.com/auth',
19
- credentials: {
20
- wmid: "YourWebmasterID",
21
- username: "YourUsername",
22
- password: "YourPassword"
23
- }
24
- }, (sid)=>{
25
- if(sid != null){
26
- resolve(sid);
27
- }
28
- else{
29
- reject();
30
- }
31
- })
32
-
33
- })
34
-
35
- let openPromise = loginPromise.then((sid)=>{
36
- Streamer.open({
37
- host: 'http://localhost:9000',
38
- cors: true,
39
- rejectExcessiveConnection: false,
40
- conflation: null,
41
- format: 'application/json',
42
- credentials: {sid: sid}
43
- }, (stream) =>{
44
- stream
45
- // The stream will asynchronously callback with
46
- // incoming market data messages.
47
- .on("message", function(message) {
48
- switch (Streamer.marketDataTypes.get(message)) {
49
- case Streamer.marketDataTypes.PRICEDATA:
50
- print("Price data: " + message.symbol, "blue");
51
- break;
52
- // For checking all the available marketDataTypes, go to the README.md file or check Object.keys(Streamer.marketDataTypes)
53
- case Streamer.marketDataTypes.QUOTE:
54
- print("Quote :" + message.symbol, "blue");
55
- break;
56
- case Streamer.marketDataTypes.MMQUOTE:
57
- print("MMQuote :" + message.symbol, "blue");
58
- break;
59
- case Streamer.marketDataTypes.ORDERBOOK:
60
- print("Orderbook :" + message.symbol, "blue");
61
- break;
62
- case Streamer.marketDataTypes.INTERVAL:
63
- print("Interval :" + message.symbol, "blue");
64
- break;
65
- case Streamer.marketDataTypes.NETHOUSEPOSITION:
66
- print("Nethouse Position :" + message.symbol, "blue");
67
- break;
68
- case Streamer.marketDataTypes.LASTSALE:
69
- print("Last Sale :" + message.symbol, "blue");
70
- break;
71
- case Streamer.marketDataTypes.LIMITUPLIMITDOWN:
72
- print("LULD :" + message.symbol, "blue");
73
- break;
74
- case Streamer.marketDataTypes.IVGREEKS:
75
- print("IVGreeks :" + message.symbol, "blue");
76
- break;
77
- case Streamer.marketDataTypes.IMBALANCESTATUS:
78
- print("Imbalance status :" + message.symbol, "blue");
79
- break;
80
- case Streamer.marketDataTypes.TRADE:
81
- print("Trade :" + message.symbol + " " + message.price, "blue");
82
- break;
83
- }
84
- })
85
-
86
- // It's recommended to attach an error handler
87
- // to help diagnose unexpected errors.
88
- .on("error", function(err) {
89
- print(err, "red");
90
- })
91
- .on("stats", function(msg) {
92
- print("STATS. Number of l1 symbols available: " + msg.numberOfAvailableSymbolsL1 +
93
- ", number of l2 symbols available " + msg.numberOfAvailableSymbolsL2 +
94
- ", number of subscribed exchanges: " + msg.numberOfSubscribedExchanges +
95
- ", number of available connections: " + msg.numberOfAvailableConnections, "green");
96
- })
97
- .on("slow", function(msg) {
98
- print("Slow -> TimesExceeded: " + msg.timesExceeded + " MaxExceed: " + msg.maxExceed);
99
- })
100
- .on("initialDataSent", function(msg) {
101
- print("Initial data sent. Timestamp: " + msg.timestamp);
102
- })
103
- .on("resubscribeMessage", function(msg) {
104
- print("Resubscription has been triggered. Timestamp: " + msg.timestamp);
105
- })
106
- // Due to network hiccups or other unexepected errors,
107
- // the stream may be unexpectedly closed.
108
- // For robustness, it's recommended to add reconnection logic.
109
- .on("close", function(msg) {
110
- print("Closed: " + msg);
111
- })
112
-
113
- });
114
- }).then()
115
-
116
-
117
- function print(msg, color) {
118
- var el = document.createElement("div");
119
- el.innerText = msg;
120
- if (color) {
121
- el.style.color = color;
122
- }
123
- document.body.appendChild(el);
124
- }
125
- </script>
126
- </html>