metal-price-live 0.2.2 → 0.3.2

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.
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
- const minReconnectDelay = 1000;
9
- const maxReconnectDelay = 300000;
10
- const authRetry = 5;
8
+ const minReconnectDelay = 2000;
9
+ //const maxReconnectDelay = 300000;
10
+ const authRetry = 5000;
11
11
  const errorReason = 'Unauthorized';
12
12
  const useMetalPriceLive = (socketUrl, apiKey) => {
13
13
  const [connectionState, setConnectionState] = (0, _react.useState)({
@@ -30,12 +30,14 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
30
30
  });
31
31
  };
32
32
  const handleWsError = e => {
33
+ console.log('handleWsError setting the state');
33
34
  setConnectionState({
34
35
  status: 'error',
35
36
  error: e.message || `WebSocket closed unexpectedly`
36
37
  });
37
38
  };
38
39
  const handleWsClose = e => {
40
+ var _ws$current;
39
41
  setConnectionState({
40
42
  status: 'error',
41
43
  error: (e === null || e === void 0 ? void 0 : e.reason) || `WebSocket closed unexpectedly`
@@ -45,16 +47,26 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
45
47
  if ((e === null || e === void 0 ? void 0 : e.reason) === errorReason) {
46
48
  maxAuthRetryRef.current++;
47
49
  }
50
+ console.log(`first Error log ${e}`);
48
51
  if (authRetry < maxAuthRetryRef.current) {
49
52
  return;
50
53
  }
51
54
 
52
55
  // Retry logic
56
+ console.log(`before retry logic socket: ${ws.current}, readyState: ${(_ws$current = ws.current) === null || _ws$current === void 0 ? void 0 : _ws$current.readyState} `);
53
57
  if (ws.current && ws.current.readyState !== WebSocket.OPEN) {
58
+ console.log(`inside retry logic: ${ws.current}`);
54
59
  setTimeout(() => {
55
60
  //This state is triggering the useEffect for retry logic
56
61
  setRetry(prev => prev + 1);
57
- currentReconnectDelayRef.current = Math.min(currentReconnectDelayRef.current * 2, maxReconnectDelay);
62
+
63
+ // currentReconnectDelayRef.current = Math.min(
64
+ // currentReconnectDelayRef.current * 2,
65
+ // maxReconnectDelay
66
+ // );
67
+
68
+ //temp solution.. if it works, will add dynamic reconnecting logic defined by user
69
+ currentReconnectDelayRef.current = minReconnectDelay;
58
70
  }, currentReconnectDelayRef.current);
59
71
  }
60
72
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","minReconnectDelay","maxReconnectDelay","authRetry","errorReason","useMetalPriceLive","socketUrl","apiKey","connectionState","setConnectionState","useState","status","retry","setRetry","maxAuthRetryRef","useRef","currentReconnectDelayRef","ws","handleWsOpen","current","handleWsMessage","e","data","JSON","parse","handleWsError","error","message","handleWsClose","reason","readyState","WebSocket","OPEN","setTimeout","prev","Math","min","useEffect","addEventListener","close","removeEventListener","_default","exports","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
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","console","log","error","message","handleWsClose","_ws$current","reason","readyState","WebSocket","OPEN","setTimeout","prev","useEffect","addEventListener","close","removeEventListener","_default","exports","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { useState, useEffect, useRef } from 'react';
2
- const minReconnectDelay = 1000;
3
- const maxReconnectDelay = 300000;
4
- const authRetry = 5;
2
+ const minReconnectDelay = 2000;
3
+ //const maxReconnectDelay = 300000;
4
+ const authRetry = 5000;
5
5
  const errorReason = 'Unauthorized';
6
6
  const useMetalPriceLive = (socketUrl, apiKey) => {
7
7
  const [connectionState, setConnectionState] = useState({
@@ -24,12 +24,14 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
24
24
  });
25
25
  };
26
26
  const handleWsError = e => {
27
+ console.log('handleWsError setting the state');
27
28
  setConnectionState({
28
29
  status: 'error',
29
30
  error: e.message || `WebSocket closed unexpectedly`
30
31
  });
31
32
  };
32
33
  const handleWsClose = e => {
34
+ var _ws$current;
33
35
  setConnectionState({
34
36
  status: 'error',
35
37
  error: (e === null || e === void 0 ? void 0 : e.reason) || `WebSocket closed unexpectedly`
@@ -39,16 +41,26 @@ const useMetalPriceLive = (socketUrl, apiKey) => {
39
41
  if ((e === null || e === void 0 ? void 0 : e.reason) === errorReason) {
40
42
  maxAuthRetryRef.current++;
41
43
  }
44
+ console.log(`first Error log ${e}`);
42
45
  if (authRetry < maxAuthRetryRef.current) {
43
46
  return;
44
47
  }
45
48
 
46
49
  // Retry logic
50
+ console.log(`before retry logic socket: ${ws.current}, readyState: ${(_ws$current = ws.current) === null || _ws$current === void 0 ? void 0 : _ws$current.readyState} `);
47
51
  if (ws.current && ws.current.readyState !== WebSocket.OPEN) {
52
+ console.log(`inside retry logic: ${ws.current}`);
48
53
  setTimeout(() => {
49
54
  //This state is triggering the useEffect for retry logic
50
55
  setRetry(prev => prev + 1);
51
- currentReconnectDelayRef.current = Math.min(currentReconnectDelayRef.current * 2, maxReconnectDelay);
56
+
57
+ // currentReconnectDelayRef.current = Math.min(
58
+ // currentReconnectDelayRef.current * 2,
59
+ // maxReconnectDelay
60
+ // );
61
+
62
+ //temp solution.. if it works, will add dynamic reconnecting logic defined by user
63
+ currentReconnectDelayRef.current = minReconnectDelay;
52
64
  }, currentReconnectDelayRef.current);
53
65
  }
54
66
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useRef","minReconnectDelay","maxReconnectDelay","authRetry","errorReason","useMetalPriceLive","socketUrl","apiKey","connectionState","setConnectionState","status","retry","setRetry","maxAuthRetryRef","currentReconnectDelayRef","ws","handleWsOpen","current","handleWsMessage","e","data","JSON","parse","handleWsError","error","message","handleWsClose","reason","readyState","WebSocket","OPEN","setTimeout","prev","Math","min","addEventListener","close","removeEventListener"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
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","console","log","error","message","handleWsClose","_ws$current","reason","readyState","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,oBA0E3D,CAAC;AAEF,eAAe,iBAAiB,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;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,oBAoF3D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metal-price-live",
3
- "version": "0.2.2",
3
+ "version": "0.3.2",
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",
package/src/index.tsx CHANGED
@@ -1,8 +1,8 @@
1
1
  import { useState, useEffect, useRef } from 'react';
2
2
 
3
- const minReconnectDelay = 1000;
4
- const maxReconnectDelay = 300000;
5
- const authRetry = 5;
3
+ const minReconnectDelay = 2000;
4
+ //const maxReconnectDelay = 300000;
5
+ const authRetry = 5000;
6
6
  const errorReason = 'Unauthorized';
7
7
 
8
8
  interface ApiData {
@@ -63,6 +63,7 @@ const useMetalPriceLive = (socketUrl: string, apiKey: string) => {
63
63
  setConnectionState({ status: 'connected', data: JSON.parse(e.data) });
64
64
  };
65
65
  const handleWsError = (e: WebSocketErrorEvent) => {
66
+ console.log('handleWsError setting the state');
66
67
  setConnectionState({
67
68
  status: 'error',
68
69
  error: e.message || `WebSocket closed unexpectedly`,
@@ -79,20 +80,29 @@ const useMetalPriceLive = (socketUrl: string, apiKey: string) => {
79
80
  if (e?.reason === errorReason) {
80
81
  maxAuthRetryRef.current++;
81
82
  }
83
+
84
+ console.log(`first Error log ${e}`);
82
85
  if (authRetry < maxAuthRetryRef.current) {
83
86
  return;
84
87
  }
85
88
 
86
89
  // Retry logic
90
+ console.log(
91
+ `before retry logic socket: ${ws.current}, readyState: ${ws.current?.readyState} `
92
+ );
87
93
  if (ws.current && ws.current.readyState !== WebSocket.OPEN) {
94
+ console.log(`inside retry logic: ${ws.current}`);
88
95
  setTimeout(() => {
89
96
  //This state is triggering the useEffect for retry logic
90
97
  setRetry((prev) => prev + 1);
91
98
 
92
- currentReconnectDelayRef.current = Math.min(
93
- currentReconnectDelayRef.current * 2,
94
- maxReconnectDelay
95
- );
99
+ // currentReconnectDelayRef.current = Math.min(
100
+ // currentReconnectDelayRef.current * 2,
101
+ // maxReconnectDelay
102
+ // );
103
+
104
+ //temp solution.. if it works, will add dynamic reconnecting logic defined by user
105
+ currentReconnectDelayRef.current = minReconnectDelay;
96
106
  }, currentReconnectDelayRef.current);
97
107
  }
98
108
  };