metal-price-live 0.3.2 → 0.4.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.
package/lib/commonjs/index.js
CHANGED
|
@@ -18,26 +18,30 @@ 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 => {
|
|
33
|
-
|
|
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);
|
|
34
39
|
setConnectionState({
|
|
35
40
|
status: 'error',
|
|
36
41
|
error: e.message || `WebSocket closed unexpectedly`
|
|
37
42
|
});
|
|
38
43
|
};
|
|
39
44
|
const handleWsClose = e => {
|
|
40
|
-
var _ws$current;
|
|
41
45
|
setConnectionState({
|
|
42
46
|
status: 'error',
|
|
43
47
|
error: (e === null || e === void 0 ? void 0 : e.reason) || `WebSocket closed unexpectedly`
|
|
@@ -47,15 +51,13 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
|
|
|
47
51
|
if ((e === null || e === void 0 ? void 0 : e.reason) === errorReason) {
|
|
48
52
|
maxAuthRetryRef.current++;
|
|
49
53
|
}
|
|
50
|
-
console.log(`first Error log ${e}`);
|
|
51
54
|
if (authRetry < maxAuthRetryRef.current) {
|
|
52
55
|
return;
|
|
53
56
|
}
|
|
54
57
|
|
|
55
58
|
// Retry logic
|
|
56
|
-
|
|
59
|
+
|
|
57
60
|
if (ws.current && ws.current.readyState !== WebSocket.OPEN) {
|
|
58
|
-
console.log(`inside retry logic: ${ws.current}`);
|
|
59
61
|
setTimeout(() => {
|
|
60
62
|
//This state is triggering the useEffect for retry logic
|
|
61
63
|
setRetry(prev => prev + 1);
|
|
@@ -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","
|
|
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":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -12,26 +12,30 @@ 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 => {
|
|
27
|
-
|
|
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);
|
|
28
33
|
setConnectionState({
|
|
29
34
|
status: 'error',
|
|
30
35
|
error: e.message || `WebSocket closed unexpectedly`
|
|
31
36
|
});
|
|
32
37
|
};
|
|
33
38
|
const handleWsClose = e => {
|
|
34
|
-
var _ws$current;
|
|
35
39
|
setConnectionState({
|
|
36
40
|
status: 'error',
|
|
37
41
|
error: (e === null || e === void 0 ? void 0 : e.reason) || `WebSocket closed unexpectedly`
|
|
@@ -41,15 +45,13 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
|
|
|
41
45
|
if ((e === null || e === void 0 ? void 0 : e.reason) === errorReason) {
|
|
42
46
|
maxAuthRetryRef.current++;
|
|
43
47
|
}
|
|
44
|
-
console.log(`first Error log ${e}`);
|
|
45
48
|
if (authRetry < maxAuthRetryRef.current) {
|
|
46
49
|
return;
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
// Retry logic
|
|
50
|
-
|
|
53
|
+
|
|
51
54
|
if (ws.current && ws.current.readyState !== WebSocket.OPEN) {
|
|
52
|
-
console.log(`inside retry logic: ${ws.current}`);
|
|
53
55
|
setTimeout(() => {
|
|
54
56
|
//This state is triggering the useEffect for retry logic
|
|
55
57
|
setRetry(prev => prev + 1);
|
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","
|
|
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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"}
|
|
@@ -15,6 +15,18 @@ interface ApiData {
|
|
|
15
15
|
priceGram22k: number;
|
|
16
16
|
priceGram21k: number;
|
|
17
17
|
key: string;
|
|
18
|
+
silver: {
|
|
19
|
+
askPrice: number;
|
|
20
|
+
bidPrice: number;
|
|
21
|
+
highPrice: number;
|
|
22
|
+
lowPrice: number;
|
|
23
|
+
openTime: number;
|
|
24
|
+
openingPrice: number;
|
|
25
|
+
previousClosePrice: number;
|
|
26
|
+
priceChange: number;
|
|
27
|
+
priceChangePercentage: number;
|
|
28
|
+
timestamp: number;
|
|
29
|
+
};
|
|
18
30
|
}
|
|
19
31
|
interface Connected {
|
|
20
32
|
status: 'connected';
|
|
@@ -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;
|
|
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;IACZ,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "metal-price-live",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Live metal price hook for react and react native using websocket",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"clean": "del-cli lib",
|
|
34
34
|
"prepare": "bob build",
|
|
35
35
|
"release": "release-it",
|
|
36
|
-
"gittu": "git add . && git commit && git push"
|
|
36
|
+
"gittu": "git add . && git commit && git push",
|
|
37
|
+
"format": "prettier --ignore-path .gitignore \"*/**/*.+(ts|js|tsx)\" --write"
|
|
37
38
|
},
|
|
38
39
|
"keywords": [
|
|
39
40
|
"react",
|
package/src/index.tsx
CHANGED
|
@@ -22,6 +22,18 @@ interface ApiData {
|
|
|
22
22
|
priceGram22k: number;
|
|
23
23
|
priceGram21k: number;
|
|
24
24
|
key: string;
|
|
25
|
+
silver: {
|
|
26
|
+
askPrice: number;
|
|
27
|
+
bidPrice: number;
|
|
28
|
+
highPrice: number;
|
|
29
|
+
lowPrice: number;
|
|
30
|
+
openTime: number;
|
|
31
|
+
openingPrice: number;
|
|
32
|
+
previousClosePrice: number;
|
|
33
|
+
priceChange: number;
|
|
34
|
+
priceChangePercentage: number;
|
|
35
|
+
timestamp: number;
|
|
36
|
+
};
|
|
25
37
|
}
|
|
26
38
|
|
|
27
39
|
interface Connected {
|
|
@@ -53,6 +65,7 @@ const useMetalPriceLive = (socketUrl: string, apiKey: string) => {
|
|
|
53
65
|
const ws = useRef<WebSocket | null>(null);
|
|
54
66
|
|
|
55
67
|
const handleWsOpen = () => {
|
|
68
|
+
console.log('connecting state', ws.current?.readyState);
|
|
56
69
|
setConnectionState({
|
|
57
70
|
status: 'connecting',
|
|
58
71
|
});
|
|
@@ -60,10 +73,11 @@ const useMetalPriceLive = (socketUrl: string, apiKey: string) => {
|
|
|
60
73
|
};
|
|
61
74
|
|
|
62
75
|
const handleWsMessage = (e: WebSocketMessageEvent) => {
|
|
76
|
+
console.log('connected state', ws.current?.readyState);
|
|
63
77
|
setConnectionState({ status: 'connected', data: JSON.parse(e.data) });
|
|
64
78
|
};
|
|
65
79
|
const handleWsError = (e: WebSocketErrorEvent) => {
|
|
66
|
-
console.log('
|
|
80
|
+
console.log('error state', ws.current?.readyState, e.message);
|
|
67
81
|
setConnectionState({
|
|
68
82
|
status: 'error',
|
|
69
83
|
error: e.message || `WebSocket closed unexpectedly`,
|
|
@@ -81,17 +95,13 @@ const useMetalPriceLive = (socketUrl: string, apiKey: string) => {
|
|
|
81
95
|
maxAuthRetryRef.current++;
|
|
82
96
|
}
|
|
83
97
|
|
|
84
|
-
console.log(`first Error log ${e}`);
|
|
85
98
|
if (authRetry < maxAuthRetryRef.current) {
|
|
86
99
|
return;
|
|
87
100
|
}
|
|
88
101
|
|
|
89
102
|
// Retry logic
|
|
90
|
-
|
|
91
|
-
`before retry logic socket: ${ws.current}, readyState: ${ws.current?.readyState} `
|
|
92
|
-
);
|
|
103
|
+
|
|
93
104
|
if (ws.current && ws.current.readyState !== WebSocket.OPEN) {
|
|
94
|
-
console.log(`inside retry logic: ${ws.current}`);
|
|
95
105
|
setTimeout(() => {
|
|
96
106
|
//This state is triggering the useEffect for retry logic
|
|
97
107
|
setRetry((prev) => prev + 1);
|