metal-price-live 0.3.0 → 0.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.
package/lib/commonjs/index.js
CHANGED
|
@@ -18,18 +18,24 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
|
|
|
18
18
|
const currentReconnectDelayRef = (0, _react.useRef)(minReconnectDelay);
|
|
19
19
|
const ws = (0, _react.useRef)(null);
|
|
20
20
|
const handleWsOpen = () => {
|
|
21
|
+
var _ws$current;
|
|
22
|
+
console.log('connecting state', (_ws$current = ws.current) === null || _ws$current === void 0 ? void 0 : _ws$current.readyState);
|
|
21
23
|
setConnectionState({
|
|
22
24
|
status: 'connecting'
|
|
23
25
|
});
|
|
24
26
|
currentReconnectDelayRef.current = minReconnectDelay;
|
|
25
27
|
};
|
|
26
28
|
const handleWsMessage = e => {
|
|
29
|
+
var _ws$current2;
|
|
30
|
+
console.log('connected state', (_ws$current2 = ws.current) === null || _ws$current2 === void 0 ? void 0 : _ws$current2.readyState);
|
|
27
31
|
setConnectionState({
|
|
28
32
|
status: 'connected',
|
|
29
33
|
data: JSON.parse(e.data)
|
|
30
34
|
});
|
|
31
35
|
};
|
|
32
36
|
const handleWsError = e => {
|
|
37
|
+
var _ws$current3;
|
|
38
|
+
console.log('error state', (_ws$current3 = ws.current) === null || _ws$current3 === void 0 ? void 0 : _ws$current3.readyState, e.message);
|
|
33
39
|
setConnectionState({
|
|
34
40
|
status: 'error',
|
|
35
41
|
error: e.message || `WebSocket closed unexpectedly`
|
|
@@ -50,6 +56,7 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
|
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
// Retry logic
|
|
59
|
+
|
|
53
60
|
if (ws.current && ws.current.readyState !== WebSocket.OPEN) {
|
|
54
61
|
setTimeout(() => {
|
|
55
62
|
//This state is triggering the useEffect for retry logic
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","minReconnectDelay","authRetry","errorReason","useMetalPriceLive","socketUrl","apiKey","connectionState","setConnectionState","useState","status","retry","setRetry","maxAuthRetryRef","useRef","currentReconnectDelayRef","ws","handleWsOpen","current","handleWsMessage","e","data","JSON","parse","handleWsError","
|
|
1
|
+
{"version":3,"names":["_react","require","minReconnectDelay","authRetry","errorReason","useMetalPriceLive","socketUrl","apiKey","connectionState","setConnectionState","useState","status","retry","setRetry","maxAuthRetryRef","useRef","currentReconnectDelayRef","ws","handleWsOpen","_ws$current","console","log","current","readyState","handleWsMessage","e","_ws$current2","data","JSON","parse","handleWsError","_ws$current3","message","error","handleWsClose","reason","WebSocket","OPEN","setTimeout","prev","useEffect","addEventListener","close","removeEventListener","_default","exports","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,iBAAiB,GAAG,IAAI;AAC9B;AACA,MAAMC,SAAS,GAAG,IAAI;AACtB,MAAMC,WAAW,GAAG,cAAc;AAuClC,MAAMC,iBAAiB,GAAGA,CAACC,SAAiB,EAAEC,MAAc,KAAK;EAC/D,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAC,eAAQ,EAAkB;IACtEC,MAAM,EAAE;EACV,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAC,CAAC,CAAC;EACrC,MAAMI,eAAe,GAAG,IAAAC,aAAM,EAAC,CAAC,CAAC;EACjC,MAAMC,wBAAwB,GAAG,IAAAD,aAAM,EAACb,iBAAiB,CAAC;EAE1D,MAAMe,EAAE,GAAG,IAAAF,aAAM,EAAmB,IAAI,CAAC;EAEzC,MAAMG,YAAY,GAAGA,CAAA,KAAM;IAAA,IAAAC,WAAA;IACzBC,OAAO,CAACC,GAAG,CAAC,kBAAkB,GAAAF,WAAA,GAAEF,EAAE,CAACK,OAAO,cAAAH,WAAA,uBAAVA,WAAA,CAAYI,UAAU,CAAC;IACvDd,kBAAkB,CAAC;MACjBE,MAAM,EAAE;IACV,CAAC,CAAC;IACFK,wBAAwB,CAACM,OAAO,GAAGpB,iBAAiB;EACtD,CAAC;EAED,MAAMsB,eAAe,GAAIC,CAAwB,IAAK;IAAA,IAAAC,YAAA;IACpDN,OAAO,CAACC,GAAG,CAAC,iBAAiB,GAAAK,YAAA,GAAET,EAAE,CAACK,OAAO,cAAAI,YAAA,uBAAVA,YAAA,CAAYH,UAAU,CAAC;IACtDd,kBAAkB,CAAC;MAAEE,MAAM,EAAE,WAAW;MAAEgB,IAAI,EAAEC,IAAI,CAACC,KAAK,CAACJ,CAAC,CAACE,IAAI;IAAE,CAAC,CAAC;EACvE,CAAC;EACD,MAAMG,aAAa,GAAIL,CAAsB,IAAK;IAAA,IAAAM,YAAA;IAChDX,OAAO,CAACC,GAAG,CAAC,aAAa,GAAAU,YAAA,GAAEd,EAAE,CAACK,OAAO,cAAAS,YAAA,uBAAVA,YAAA,CAAYR,UAAU,EAAEE,CAAC,CAACO,OAAO,CAAC;IAC7DvB,kBAAkB,CAAC;MACjBE,MAAM,EAAE,OAAO;MACfsB,KAAK,EAAER,CAAC,CAACO,OAAO,IAAK;IACvB,CAAC,CAAC;EACJ,CAAC;EAED,MAAME,aAAa,GAAIT,CAAsB,IAAK;IAChDhB,kBAAkB,CAAC;MACjBE,MAAM,EAAE,OAAO;MACfsB,KAAK,EAAE,CAAAR,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEU,MAAM,KAAK;IACvB,CAAC,CAAC;;IAEF;IACA,IAAI,CAAAV,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEU,MAAM,MAAK/B,WAAW,EAAE;MAC7BU,eAAe,CAACQ,OAAO,EAAE;IAC3B;IAEA,IAAInB,SAAS,GAAGW,eAAe,CAACQ,OAAO,EAAE;MACvC;IACF;;IAEA;;IAEA,IAAIL,EAAE,CAACK,OAAO,IAAIL,EAAE,CAACK,OAAO,CAACC,UAAU,KAAKa,SAAS,CAACC,IAAI,EAAE;MAC1DC,UAAU,CAAC,MAAM;QACf;QACAzB,QAAQ,CAAE0B,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;QAE5B;QACA;QACA;QACA;;QAEA;QACAvB,wBAAwB,CAACM,OAAO,GAAGpB,iBAAiB;MACtD,CAAC,EAAEc,wBAAwB,CAACM,OAAO,CAAC;IACtC;EACF,CAAC;EAED,IAAAkB,gBAAS,EAAC,MAAM;IACdvB,EAAE,CAACK,OAAO,GAAG,IAAIc,SAAS,CAAE,GAAE9B,SAAU,IAAGC,MAAO,EAAC,CAAC;IACpDU,EAAE,CAACK,OAAO,CAACmB,gBAAgB,CAAC,MAAM,EAAEvB,YAAY,CAAC;IACjDD,EAAE,CAACK,OAAO,CAACmB,gBAAgB,CAAC,SAAS,EAAEjB,eAAe,CAAC;IACvDP,EAAE,CAACK,OAAO,CAACmB,gBAAgB,CAAC,OAAO,EAAEX,aAAa,CAAC;IACnDb,EAAE,CAACK,OAAO,CAACmB,gBAAgB,CAAC,OAAO,EAAEP,aAAa,CAAC;IAEnD,OAAO,MAAM;MACX,IAAIjB,EAAE,CAACK,OAAO,EAAE;QACdL,EAAE,CAACK,OAAO,CAACoB,KAAK,CAAC,CAAC;QAClBzB,EAAE,CAACK,OAAO,CAACqB,mBAAmB,CAAC,MAAM,EAAEzB,YAAY,CAAC;QACpDD,EAAE,CAACK,OAAO,CAACqB,mBAAmB,CAAC,SAAS,EAAEnB,eAAe,CAAC;QAC1DP,EAAE,CAACK,OAAO,CAACqB,mBAAmB,CAAC,OAAO,EAAEb,aAAa,CAAC;QACtDb,EAAE,CAACK,OAAO,CAACqB,mBAAmB,CAAC,OAAO,EAAET,aAAa,CAAC;MACxD;IACF,CAAC;EACH,CAAC,EAAE,CAAC5B,SAAS,EAAEM,KAAK,EAAEL,MAAM,CAAC,CAAC;EAE9B,OAAOC,eAAe;AACxB,CAAC;AAAC,IAAAoC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEazC,iBAAiB"}
|
package/lib/module/index.js
CHANGED
|
@@ -12,18 +12,24 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
|
|
|
12
12
|
const currentReconnectDelayRef = useRef(minReconnectDelay);
|
|
13
13
|
const ws = useRef(null);
|
|
14
14
|
const handleWsOpen = () => {
|
|
15
|
+
var _ws$current;
|
|
16
|
+
console.log('connecting state', (_ws$current = ws.current) === null || _ws$current === void 0 ? void 0 : _ws$current.readyState);
|
|
15
17
|
setConnectionState({
|
|
16
18
|
status: 'connecting'
|
|
17
19
|
});
|
|
18
20
|
currentReconnectDelayRef.current = minReconnectDelay;
|
|
19
21
|
};
|
|
20
22
|
const handleWsMessage = e => {
|
|
23
|
+
var _ws$current2;
|
|
24
|
+
console.log('connected state', (_ws$current2 = ws.current) === null || _ws$current2 === void 0 ? void 0 : _ws$current2.readyState);
|
|
21
25
|
setConnectionState({
|
|
22
26
|
status: 'connected',
|
|
23
27
|
data: JSON.parse(e.data)
|
|
24
28
|
});
|
|
25
29
|
};
|
|
26
30
|
const handleWsError = e => {
|
|
31
|
+
var _ws$current3;
|
|
32
|
+
console.log('error state', (_ws$current3 = ws.current) === null || _ws$current3 === void 0 ? void 0 : _ws$current3.readyState, e.message);
|
|
27
33
|
setConnectionState({
|
|
28
34
|
status: 'error',
|
|
29
35
|
error: e.message || `WebSocket closed unexpectedly`
|
|
@@ -44,6 +50,7 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
|
|
|
44
50
|
}
|
|
45
51
|
|
|
46
52
|
// Retry logic
|
|
53
|
+
|
|
47
54
|
if (ws.current && ws.current.readyState !== WebSocket.OPEN) {
|
|
48
55
|
setTimeout(() => {
|
|
49
56
|
//This state is triggering the useEffect for retry logic
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useEffect","useRef","minReconnectDelay","authRetry","errorReason","useMetalPriceLive","socketUrl","apiKey","connectionState","setConnectionState","status","retry","setRetry","maxAuthRetryRef","currentReconnectDelayRef","ws","handleWsOpen","current","handleWsMessage","e","data","JSON","parse","handleWsError","
|
|
1
|
+
{"version":3,"names":["useState","useEffect","useRef","minReconnectDelay","authRetry","errorReason","useMetalPriceLive","socketUrl","apiKey","connectionState","setConnectionState","status","retry","setRetry","maxAuthRetryRef","currentReconnectDelayRef","ws","handleWsOpen","_ws$current","console","log","current","readyState","handleWsMessage","e","_ws$current2","data","JSON","parse","handleWsError","_ws$current3","message","error","handleWsClose","reason","WebSocket","OPEN","setTimeout","prev","addEventListener","close","removeEventListener"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAOA,UAAU,OAAO;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,UAAU,KAAK;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,KAAK,eAAe,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC;AACtD,QAAA,MAAM,iBAAiB,cAAe,MAAM,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAOA,UAAU,OAAO;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,UAAU,KAAK;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,KAAK,eAAe,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC;AACtD,QAAA,MAAM,iBAAiB,cAAe,MAAM,UAAU,MAAM,oBAkF3D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -53,6 +53,7 @@ const useMetalPriceLive = (socketUrl: string, apiKey: string) => {
|
|
|
53
53
|
const ws = useRef<WebSocket | null>(null);
|
|
54
54
|
|
|
55
55
|
const handleWsOpen = () => {
|
|
56
|
+
console.log('connecting state', ws.current?.readyState);
|
|
56
57
|
setConnectionState({
|
|
57
58
|
status: 'connecting',
|
|
58
59
|
});
|
|
@@ -60,9 +61,11 @@ const useMetalPriceLive = (socketUrl: string, apiKey: string) => {
|
|
|
60
61
|
};
|
|
61
62
|
|
|
62
63
|
const handleWsMessage = (e: WebSocketMessageEvent) => {
|
|
64
|
+
console.log('connected state', ws.current?.readyState);
|
|
63
65
|
setConnectionState({ status: 'connected', data: JSON.parse(e.data) });
|
|
64
66
|
};
|
|
65
67
|
const handleWsError = (e: WebSocketErrorEvent) => {
|
|
68
|
+
console.log('error state', ws.current?.readyState, e.message);
|
|
66
69
|
setConnectionState({
|
|
67
70
|
status: 'error',
|
|
68
71
|
error: e.message || `WebSocket closed unexpectedly`,
|
|
@@ -79,11 +82,13 @@ const useMetalPriceLive = (socketUrl: string, apiKey: string) => {
|
|
|
79
82
|
if (e?.reason === errorReason) {
|
|
80
83
|
maxAuthRetryRef.current++;
|
|
81
84
|
}
|
|
85
|
+
|
|
82
86
|
if (authRetry < maxAuthRetryRef.current) {
|
|
83
87
|
return;
|
|
84
88
|
}
|
|
85
89
|
|
|
86
90
|
// Retry logic
|
|
91
|
+
|
|
87
92
|
if (ws.current && ws.current.readyState !== WebSocket.OPEN) {
|
|
88
93
|
setTimeout(() => {
|
|
89
94
|
//This state is triggering the useEffect for retry logic
|