@andre1502/react-utilities 1.0.5 → 1.0.7

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 (206) hide show
  1. package/README.md +35 -51
  2. package/dist/Config/Config.d.ts +12 -1
  3. package/dist/EnvironmentEnum-CXTWJxNo.js +10 -0
  4. package/dist/EnvironmentEnum-CXTWJxNo.js.map +1 -0
  5. package/dist/Utils-CJ7ureSW.js +14 -0
  6. package/dist/Utils-CJ7ureSW.js.map +1 -0
  7. package/dist/browser-ponyfill-C-HVh7ck.js +321 -0
  8. package/dist/browser-ponyfill-C-HVh7ck.js.map +1 -0
  9. package/dist/chunk-vKJrgz-R.js +16 -0
  10. package/dist/config-cli-BIF4xuoO.js +1491 -0
  11. package/dist/config-cli-BIF4xuoO.js.map +1 -0
  12. package/dist/config-cli.d.ts +1 -1
  13. package/dist/config-cli.js +3 -222
  14. package/dist/enums/CurrencySymbolEnum.d.ts +6 -5
  15. package/dist/enums/DeviceEnum.d.ts +5 -4
  16. package/dist/enums/EnvironmentEnum.d.ts +6 -5
  17. package/dist/format-BgweN3o5.js +65549 -0
  18. package/dist/format-BgweN3o5.js.map +1 -0
  19. package/dist/format.d.ts +26 -26
  20. package/dist/format.js +2 -55
  21. package/dist/hooks-oAipbPQ2.js +78 -0
  22. package/dist/hooks-oAipbPQ2.js.map +1 -0
  23. package/dist/hooks.js +2 -86
  24. package/dist/i18n-D1jKJPI0.js +1941 -0
  25. package/dist/i18n-D1jKJPI0.js.map +1 -0
  26. package/dist/i18n.js +4 -28
  27. package/dist/index-cli.d.ts +0 -1
  28. package/dist/index-cli.js +3 -28
  29. package/dist/index-rn.js +6 -39
  30. package/dist/index.js +7 -61
  31. package/dist/interfaces/Config/EntryOptions.d.ts +4 -0
  32. package/dist/sentry-rn-DZwIel7y.js +743 -0
  33. package/dist/sentry-rn-DZwIel7y.js.map +1 -0
  34. package/dist/sentry-rn.js +2 -28
  35. package/dist/sentry.js +39 -26
  36. package/dist/sentry.js.map +1 -1
  37. package/dist/utils.js +45 -37
  38. package/dist/utils.js.map +1 -1
  39. package/package.json +56 -86
  40. package/src/Config/Config.ts +48 -1
  41. package/src/Config/GoogleAuth.ts +1 -1
  42. package/src/Sentry/React.ts +2 -4
  43. package/src/Sentry/ReactNative.ts +2 -4
  44. package/src/config-cli.ts +1 -1
  45. package/src/enums/CurrencySymbolEnum.ts +8 -5
  46. package/src/enums/DeviceEnum.ts +6 -4
  47. package/src/enums/EnvironmentEnum.ts +8 -5
  48. package/src/format.ts +32 -32
  49. package/src/index-cli.ts +0 -1
  50. package/src/interfaces/Config/EntryOptions.ts +4 -0
  51. package/dist/Config/Config.js +0 -216
  52. package/dist/Config/Config.js.map +0 -1
  53. package/dist/Config/GoogleAuth.js +0 -68
  54. package/dist/Config/GoogleAuth.js.map +0 -1
  55. package/dist/Config/Locales.js +0 -62
  56. package/dist/Config/Locales.js.map +0 -1
  57. package/dist/Config/Output.js +0 -36
  58. package/dist/Config/Output.js.map +0 -1
  59. package/dist/Config/Sitemap.js +0 -72
  60. package/dist/Config/Sitemap.js.map +0 -1
  61. package/dist/EnvironmentEnum-BjXsfSRZ.js +0 -9
  62. package/dist/EnvironmentEnum-BjXsfSRZ.js.map +0 -1
  63. package/dist/EnvironmentEnum-UcQ6Il1O.js +0 -9
  64. package/dist/EnvironmentEnum-UcQ6Il1O.js.map +0 -1
  65. package/dist/Format/NumberFormat.js +0 -77
  66. package/dist/Format/NumberFormat.js.map +0 -1
  67. package/dist/Format/NumberParser.js +0 -51
  68. package/dist/Format/NumberParser.js.map +0 -1
  69. package/dist/Hooks/useDevice.js +0 -47
  70. package/dist/Hooks/useDevice.js.map +0 -1
  71. package/dist/Hooks/useSound.js +0 -47
  72. package/dist/Hooks/useSound.js.map +0 -1
  73. package/dist/Hooks/useWebSocket.js +0 -120
  74. package/dist/Hooks/useWebSocket.js.map +0 -1
  75. package/dist/I18n/I18n.js +0 -134
  76. package/dist/I18n/I18n.js.map +0 -1
  77. package/dist/NumberFormat-CvvBWhHc.js +0 -89
  78. package/dist/NumberFormat-CvvBWhHc.js.map +0 -1
  79. package/dist/NumberFormat-glmpbk7E.js +0 -94
  80. package/dist/NumberFormat-glmpbk7E.js.map +0 -1
  81. package/dist/React-BaJ1KfGF.js +0 -87
  82. package/dist/React-BaJ1KfGF.js.map +0 -1
  83. package/dist/React-qUl0CBmE.js +0 -109
  84. package/dist/React-qUl0CBmE.js.map +0 -1
  85. package/dist/ReactNative-B4gt8nBr.js +0 -1790
  86. package/dist/ReactNative-B4gt8nBr.js.map +0 -1
  87. package/dist/ReactNative-CDMfQFfN.js +0 -1812
  88. package/dist/ReactNative-CDMfQFfN.js.map +0 -1
  89. package/dist/Sentry/Build.d.ts +0 -9
  90. package/dist/Sentry/Build.js +0 -87
  91. package/dist/Sentry/Build.js.map +0 -1
  92. package/dist/Sentry/React.js +0 -103
  93. package/dist/Sentry/React.js.map +0 -1
  94. package/dist/Sentry/ReactNative.js +0 -113
  95. package/dist/Sentry/ReactNative.js.map +0 -1
  96. package/dist/Sentry/Utils.js +0 -24
  97. package/dist/Sentry/Utils.js.map +0 -1
  98. package/dist/Utils/Array.js +0 -26
  99. package/dist/Utils/Array.js.map +0 -1
  100. package/dist/Utils/Files.js +0 -51
  101. package/dist/Utils/Files.js.map +0 -1
  102. package/dist/Utils/Pagination.js +0 -32
  103. package/dist/Utils/Pagination.js.map +0 -1
  104. package/dist/Utils/Utils.js +0 -101
  105. package/dist/Utils/Utils.js.map +0 -1
  106. package/dist/Utils-BC1fDy39.js +0 -74
  107. package/dist/Utils-BC1fDy39.js.map +0 -1
  108. package/dist/Utils-Cq948gfa.js +0 -20
  109. package/dist/Utils-Cq948gfa.js.map +0 -1
  110. package/dist/Utils-D7KRF8VU.js +0 -64
  111. package/dist/Utils-D7KRF8VU.js.map +0 -1
  112. package/dist/Utils-Dilye04y.js +0 -22
  113. package/dist/Utils-Dilye04y.js.map +0 -1
  114. package/dist/config-cli.cjs +0 -500
  115. package/dist/config-cli.cjs.map +0 -1
  116. package/dist/config-cli.js.map +0 -1
  117. package/dist/config-cli.mjs +0 -469
  118. package/dist/config-cli.mjs.map +0 -1
  119. package/dist/enums/CurrencySymbolEnum.js +0 -15
  120. package/dist/enums/CurrencySymbolEnum.js.map +0 -1
  121. package/dist/enums/DeviceEnum.js +0 -12
  122. package/dist/enums/DeviceEnum.js.map +0 -1
  123. package/dist/enums/EnvironmentEnum.js +0 -13
  124. package/dist/enums/EnvironmentEnum.js.map +0 -1
  125. package/dist/format.cjs +0 -43
  126. package/dist/format.cjs.map +0 -1
  127. package/dist/format.js.map +0 -1
  128. package/dist/format.mjs +0 -30
  129. package/dist/format.mjs.map +0 -1
  130. package/dist/hooks.cjs +0 -13
  131. package/dist/hooks.cjs.map +0 -1
  132. package/dist/hooks.js.map +0 -1
  133. package/dist/hooks.mjs +0 -4
  134. package/dist/hooks.mjs.map +0 -1
  135. package/dist/i18n.cjs +0 -3039
  136. package/dist/i18n.cjs.map +0 -1
  137. package/dist/i18n.js.map +0 -1
  138. package/dist/i18n.mjs +0 -3032
  139. package/dist/i18n.mjs.map +0 -1
  140. package/dist/index-cli.cjs +0 -30
  141. package/dist/index-cli.cjs.map +0 -1
  142. package/dist/index-cli.js.map +0 -1
  143. package/dist/index-cli.mjs +0 -14
  144. package/dist/index-cli.mjs.map +0 -1
  145. package/dist/index-rn.cjs +0 -57
  146. package/dist/index-rn.cjs.map +0 -1
  147. package/dist/index-rn.js.map +0 -1
  148. package/dist/index-rn.mjs +0 -36
  149. package/dist/index-rn.mjs.map +0 -1
  150. package/dist/index.cjs +0 -79
  151. package/dist/index.cjs.map +0 -1
  152. package/dist/index.js.map +0 -1
  153. package/dist/index.mjs +0 -40
  154. package/dist/index.mjs.map +0 -1
  155. package/dist/interfaces/Config/ConfigOptions.js +0 -6
  156. package/dist/interfaces/Config/ConfigOptions.js.map +0 -1
  157. package/dist/interfaces/Config/OutputMap.js +0 -6
  158. package/dist/interfaces/Config/OutputMap.js.map +0 -1
  159. package/dist/interfaces/Config/OutputOptions.js +0 -6
  160. package/dist/interfaces/Config/OutputOptions.js.map +0 -1
  161. package/dist/interfaces/Config/SitemapMap.js +0 -6
  162. package/dist/interfaces/Config/SitemapMap.js.map +0 -1
  163. package/dist/interfaces/Config/StringMap.js +0 -6
  164. package/dist/interfaces/Config/StringMap.js.map +0 -1
  165. package/dist/interfaces/Format/FormatOptions.js +0 -6
  166. package/dist/interfaces/Format/FormatOptions.js.map +0 -1
  167. package/dist/interfaces/Sentry/InitOptions.js +0 -6
  168. package/dist/interfaces/Sentry/InitOptions.js.map +0 -1
  169. package/dist/interfaces/Sentry/InitOptionsRN.js +0 -6
  170. package/dist/interfaces/Sentry/InitOptionsRN.js.map +0 -1
  171. package/dist/interfaces/Sentry/SourceMapOptions.d.ts +0 -7
  172. package/dist/interfaces/Sentry/SourceMapOptions.js +0 -6
  173. package/dist/interfaces/Sentry/SourceMapOptions.js.map +0 -1
  174. package/dist/sentry-cli.cjs +0 -119
  175. package/dist/sentry-cli.cjs.map +0 -1
  176. package/dist/sentry-cli.d.ts +0 -9
  177. package/dist/sentry-cli.js +0 -49
  178. package/dist/sentry-cli.js.map +0 -1
  179. package/dist/sentry-cli.mjs +0 -98
  180. package/dist/sentry-cli.mjs.map +0 -1
  181. package/dist/sentry-rn.cjs +0 -11
  182. package/dist/sentry-rn.cjs.map +0 -1
  183. package/dist/sentry-rn.js.map +0 -1
  184. package/dist/sentry-rn.mjs +0 -4
  185. package/dist/sentry-rn.mjs.map +0 -1
  186. package/dist/sentry.cjs +0 -11
  187. package/dist/sentry.cjs.map +0 -1
  188. package/dist/sentry.mjs +0 -4
  189. package/dist/sentry.mjs.map +0 -1
  190. package/dist/types/Config/OptionType.js +0 -6
  191. package/dist/types/Config/OptionType.js.map +0 -1
  192. package/dist/types/Format/OptionType.js +0 -6
  193. package/dist/types/Format/OptionType.js.map +0 -1
  194. package/dist/types/Sentry/OptionType.js +0 -6
  195. package/dist/types/Sentry/OptionType.js.map +0 -1
  196. package/dist/useWebSocket-B_B6kWXM.js +0 -167
  197. package/dist/useWebSocket-B_B6kWXM.js.map +0 -1
  198. package/dist/useWebSocket-YQWaiBz9.js +0 -172
  199. package/dist/useWebSocket-YQWaiBz9.js.map +0 -1
  200. package/dist/utils.cjs +0 -59
  201. package/dist/utils.cjs.map +0 -1
  202. package/dist/utils.mjs +0 -43
  203. package/dist/utils.mjs.map +0 -1
  204. package/src/Sentry/Build.ts +0 -67
  205. package/src/interfaces/Sentry/SourceMapOptions.ts +0 -7
  206. package/src/sentry-cli.ts +0 -16
package/dist/format.d.ts CHANGED
@@ -1,30 +1,30 @@
1
1
  import { CurrencySymbolEnum } from './enums/CurrencySymbolEnum';
2
- import '@formatjs/intl-getcanonicallocales/polyfill';
3
- import '@formatjs/intl-locale/polyfill';
4
- import '@formatjs/intl-pluralrules/locale-data/en';
5
- import '@formatjs/intl-pluralrules/locale-data/vi';
6
- import '@formatjs/intl-pluralrules/locale-data/zh';
7
- import '@formatjs/intl-pluralrules/polyfill';
8
- import '@formatjs/intl-displaynames/locale-data/en';
9
- import '@formatjs/intl-displaynames/locale-data/vi';
10
- import '@formatjs/intl-displaynames/locale-data/zh';
11
- import '@formatjs/intl-displaynames/polyfill';
12
- import '@formatjs/intl-listformat/locale-data/en';
13
- import '@formatjs/intl-listformat/locale-data/vi';
14
- import '@formatjs/intl-listformat/locale-data/zh';
15
- import '@formatjs/intl-listformat/polyfill';
16
- import '@formatjs/intl-numberformat/locale-data/en';
17
- import '@formatjs/intl-numberformat/locale-data/vi';
18
- import '@formatjs/intl-numberformat/locale-data/zh';
19
- import '@formatjs/intl-numberformat/polyfill';
20
- import '@formatjs/intl-relativetimeformat/locale-data/en';
21
- import '@formatjs/intl-relativetimeformat/locale-data/vi';
22
- import '@formatjs/intl-relativetimeformat/locale-data/zh';
23
- import '@formatjs/intl-relativetimeformat/polyfill';
24
- import '@formatjs/intl-datetimeformat/locale-data/en';
25
- import '@formatjs/intl-datetimeformat/locale-data/vi';
26
- import '@formatjs/intl-datetimeformat/locale-data/zh';
27
- import '@formatjs/intl-datetimeformat/polyfill';
2
+ import '@formatjs/intl-getcanonicallocales/polyfill.js';
3
+ import '@formatjs/intl-locale/polyfill.js';
4
+ import '@formatjs/intl-pluralrules/locale-data/en.js';
5
+ import '@formatjs/intl-pluralrules/locale-data/vi.js';
6
+ import '@formatjs/intl-pluralrules/locale-data/zh.js';
7
+ import '@formatjs/intl-pluralrules/polyfill.js';
8
+ import '@formatjs/intl-displaynames/locale-data/en.js';
9
+ import '@formatjs/intl-displaynames/locale-data/vi.js';
10
+ import '@formatjs/intl-displaynames/locale-data/zh.js';
11
+ import '@formatjs/intl-displaynames/polyfill.js';
12
+ import '@formatjs/intl-listformat/locale-data/en.js';
13
+ import '@formatjs/intl-listformat/locale-data/vi.js';
14
+ import '@formatjs/intl-listformat/locale-data/zh.js';
15
+ import '@formatjs/intl-listformat/polyfill.js';
16
+ import '@formatjs/intl-numberformat/locale-data/en.js';
17
+ import '@formatjs/intl-numberformat/locale-data/vi.js';
18
+ import '@formatjs/intl-numberformat/locale-data/zh.js';
19
+ import '@formatjs/intl-numberformat/polyfill.js';
20
+ import '@formatjs/intl-relativetimeformat/locale-data/en.js';
21
+ import '@formatjs/intl-relativetimeformat/locale-data/vi.js';
22
+ import '@formatjs/intl-relativetimeformat/locale-data/zh.js';
23
+ import '@formatjs/intl-relativetimeformat/polyfill.js';
24
+ import '@formatjs/intl-datetimeformat/locale-data/en.js';
25
+ import '@formatjs/intl-datetimeformat/locale-data/vi.js';
26
+ import '@formatjs/intl-datetimeformat/locale-data/zh.js';
27
+ import '@formatjs/intl-datetimeformat/polyfill.js';
28
28
  import '@formatjs/intl-datetimeformat/add-golden-tz.js';
29
29
  export * from './Format/NumberFormat';
30
30
  export { CurrencySymbolEnum };
package/dist/format.js CHANGED
@@ -1,55 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- CurrencySymbolEnum: true
8
- };
9
- Object.defineProperty(exports, "CurrencySymbolEnum", {
10
- enumerable: true,
11
- get: function get() {
12
- return _CurrencySymbolEnum.CurrencySymbolEnum;
13
- }
14
- });
15
- var _CurrencySymbolEnum = require("./enums/CurrencySymbolEnum");
16
- require("@formatjs/intl-getcanonicallocales/polyfill");
17
- require("@formatjs/intl-locale/polyfill");
18
- require("@formatjs/intl-pluralrules/locale-data/en");
19
- require("@formatjs/intl-pluralrules/locale-data/vi");
20
- require("@formatjs/intl-pluralrules/locale-data/zh");
21
- require("@formatjs/intl-pluralrules/polyfill");
22
- require("@formatjs/intl-displaynames/locale-data/en");
23
- require("@formatjs/intl-displaynames/locale-data/vi");
24
- require("@formatjs/intl-displaynames/locale-data/zh");
25
- require("@formatjs/intl-displaynames/polyfill");
26
- require("@formatjs/intl-listformat/locale-data/en");
27
- require("@formatjs/intl-listformat/locale-data/vi");
28
- require("@formatjs/intl-listformat/locale-data/zh");
29
- require("@formatjs/intl-listformat/polyfill");
30
- require("@formatjs/intl-numberformat/locale-data/en");
31
- require("@formatjs/intl-numberformat/locale-data/vi");
32
- require("@formatjs/intl-numberformat/locale-data/zh");
33
- require("@formatjs/intl-numberformat/polyfill");
34
- require("@formatjs/intl-relativetimeformat/locale-data/en");
35
- require("@formatjs/intl-relativetimeformat/locale-data/vi");
36
- require("@formatjs/intl-relativetimeformat/locale-data/zh");
37
- require("@formatjs/intl-relativetimeformat/polyfill");
38
- require("@formatjs/intl-datetimeformat/locale-data/en");
39
- require("@formatjs/intl-datetimeformat/locale-data/vi");
40
- require("@formatjs/intl-datetimeformat/locale-data/zh");
41
- require("@formatjs/intl-datetimeformat/polyfill");
42
- require("@formatjs/intl-datetimeformat/add-golden-tz.js");
43
- var _NumberFormat = require("./Format/NumberFormat");
44
- Object.keys(_NumberFormat).forEach(function (key) {
45
- if (key === "default" || key === "__esModule") return;
46
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
47
- if (key in exports && exports[key] === _NumberFormat[key]) return;
48
- Object.defineProperty(exports, key, {
49
- enumerable: true,
50
- get: function get() {
51
- return _NumberFormat[key];
52
- }
53
- });
54
- });
55
- //# sourceMappingURL=format.js.map
1
+ import { a as e, i as t, n, r, t as i } from "./format-BgweN3o5.js";
2
+ export { e as CurrencySymbolEnum, i as formatAccountNumber, n as formatNumber, r as getCurrencySymbol, t as parseFormatNumber };
@@ -0,0 +1,78 @@
1
+ import { useEffect as e, useRef as t, useState as n, useSyncExternalStore as r } from "react";
2
+ import { Howl as i } from "howler";
3
+ //#region src/enums/DeviceEnum.ts
4
+ var a = {
5
+ PC: "pc",
6
+ MOBILE: "mobile"
7
+ }, o = () => {
8
+ let [t, r] = n(a.PC);
9
+ return e(() => {
10
+ let e = () => "ontouchstart" in window || navigator.maxTouchPoints > 0, t = () => window.screen.orientation?.type.includes("portrait") || window.innerHeight > window.innerWidth, n = () => "onmousemove" in window, i = () => {
11
+ e() && t() && !n() ? r(a.MOBILE) : r(a.PC);
12
+ };
13
+ return i(), window.addEventListener("resize", i), () => {
14
+ window.removeEventListener("resize", i);
15
+ };
16
+ }, []), t;
17
+ }, s = (e) => window.localStorage.getItem(e) || "", c = (e, t) => (window.addEventListener(e, t), () => {
18
+ window.removeEventListener(e, t);
19
+ }), l = (e) => ({
20
+ dataSEStore: r((t) => c(e, t), () => s(e)),
21
+ setDataSEStore: (e, t) => {
22
+ window.localStorage.setItem(e, t), window.dispatchEvent(new Event(e));
23
+ },
24
+ removeDataSEStore: (e) => {
25
+ window.localStorage.removeItem(e), window.dispatchEvent(new Event(e));
26
+ }
27
+ }), u = ({ src: t, volume: r, autoplay: a = !1, loop: o = !1 }) => {
28
+ let [s, c] = n(null);
29
+ return e(() => {
30
+ let e = new i({
31
+ src: t,
32
+ onplayerror: (t, n) => {
33
+ console.log("onplayerror", t, n), e.once("unlock", () => {});
34
+ },
35
+ loop: !!o,
36
+ volume: r,
37
+ autoplay: a
38
+ });
39
+ return c(e), () => {
40
+ e.unload();
41
+ };
42
+ }, []), [s];
43
+ }, d = () => {
44
+ let [r, i] = n(""), [a, o] = n(!1), [s, c] = n(!1), [l, u] = n([]), d = t(null), f = t(void 0);
45
+ return e(() => (r && (d.current === null ? d.current = new WebSocket(r) : d.current.url !== r && (d.current.close(), d.current = new WebSocket(r)), d.current.onopen = (e) => {
46
+ c(!1), o(!0), f.current = window.setInterval(() => {
47
+ d.current?.readyState === WebSocket.OPEN && d.current?.send("ping");
48
+ }, 3e4);
49
+ }, d.current.onmessage = (e) => {
50
+ if (console.log("WebSocket onmessage", "event.data", e.data), e.data === "ping") {
51
+ d.current?.send("pong");
52
+ return;
53
+ }
54
+ setTimeout(() => {
55
+ u((t) => (t.includes(e.data) || t.push(e.data), t));
56
+ }, 1e3);
57
+ }, d.current.onerror = (e) => {
58
+ console.error("WebSocket onerror:", "error", e), c(!0), o(!1);
59
+ }, d.current.onclose = (e) => {
60
+ e.wasClean || (console.warn(`[close] Connection died, code=${e.code} reason=${e.reason}`), c(!0)), o(!1);
61
+ }), () => {
62
+ d.current && d.current.close(), clearInterval(f.current);
63
+ }), [r]), {
64
+ isConnected: a,
65
+ isError: s,
66
+ connect: (e) => {
67
+ e && r !== e && i(e);
68
+ },
69
+ messages: l,
70
+ clearMessages: () => {
71
+ u([]);
72
+ }
73
+ };
74
+ };
75
+ //#endregion
76
+ export { o as i, u as n, l as r, d as t };
77
+
78
+ //# sourceMappingURL=hooks-oAipbPQ2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-oAipbPQ2.js","names":[],"sources":["../src/enums/DeviceEnum.ts","../src/Hooks/useDevice.ts","../src/Hooks/useSEStore.tsx","../src/Hooks/useSound.ts","../src/Hooks/useWebSocket.ts"],"sourcesContent":["export const DeviceEnum = {\n PC: 'pc',\n MOBILE: 'mobile',\n} as const;\n\nexport type DeviceEnum = (typeof DeviceEnum)[keyof typeof DeviceEnum];\n","import { useEffect, useState } from 'react';\nimport { DeviceEnum } from '../enums/DeviceEnum';\n\nconst useDevice = (): DeviceEnum => {\n const [deviceType, setDevice] = useState<DeviceEnum>(DeviceEnum.PC);\n\n useEffect(() => {\n const isTouchDevice = () =>\n 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n const isPortrait = () =>\n window.screen.orientation?.type.includes('portrait') ||\n window.innerHeight > window.innerWidth;\n const hasMouse = () => 'onmousemove' in window;\n\n const detectDevice = () => {\n if (isTouchDevice() && isPortrait() && !hasMouse()) {\n setDevice(DeviceEnum.MOBILE);\n } else {\n setDevice(DeviceEnum.PC);\n }\n };\n\n detectDevice();\n window.addEventListener('resize', detectDevice);\n\n return () => {\n window.removeEventListener('resize', detectDevice);\n };\n }, []);\n\n return deviceType;\n};\n\nexport default useDevice;\n","import { useSyncExternalStore } from 'react';\n\nconst getDataSEStoreFromLocalStorage = (key: string): string => {\n return window.localStorage.getItem(key) || '';\n};\n\nconst subscribe = (key: string, callback: () => void): (() => void) => {\n window.addEventListener(key, callback);\n\n return () => {\n window.removeEventListener(key, callback);\n };\n};\n\nconst useSEStore = (key: string) => {\n const dataSEStore = useSyncExternalStore(\n (callback: () => void) => subscribe(key, callback),\n () => getDataSEStoreFromLocalStorage(key),\n );\n\n const setDataSEStore = (key: string, value: string) => {\n window.localStorage.setItem(key, value);\n window.dispatchEvent(new Event(key));\n };\n\n const removeDataSEStore = (key: string) => {\n window.localStorage.removeItem(key);\n window.dispatchEvent(new Event(key));\n };\n\n return { dataSEStore, setDataSEStore, removeDataSEStore };\n};\n\nexport default useSEStore;\n","import { Howl } from 'howler';\nimport { useEffect, useState } from 'react';\n\nexport interface UseSoundProps {\n src: string;\n volume?: number;\n autoplay?: boolean;\n loop?: boolean;\n}\n\nconst useSound = ({\n src,\n volume,\n autoplay = false,\n loop = false,\n}: UseSoundProps) => {\n const [audio, setAudio] = useState<Howl | null>(null);\n\n useEffect(() => {\n const howl = new Howl({\n src: src,\n onplayerror: (e, d) => {\n console.log('onplayerror', e, d);\n\n howl.once('unlock', () => {\n // howl.play();\n });\n },\n loop: loop ? true : false,\n volume: volume,\n autoplay: autoplay,\n });\n\n setAudio(howl);\n\n return () => {\n howl.unload();\n };\n }, []);\n\n return [audio] as const;\n};\n\nexport default useSound;\n","import { useEffect, useRef, useState } from 'react';\n\ntype WebSocketRef = WebSocket | null;\n\ninterface WebSocketOutput {\n isConnected: boolean;\n isError: boolean;\n connect: (url: string) => void;\n messages: string[];\n clearMessages: () => void;\n}\n\nconst useWebSocket = (): WebSocketOutput => {\n const pingInterval = 30000; // Default ping every 30 seconds\n const [url, setUrl] = useState('');\n const [isConnected, setIsConnected] = useState<boolean>(false);\n const [isError, setIsError] = useState<boolean>(false);\n const [messages, setMessages] = useState<string[]>([]);\n const socketRef = useRef<WebSocketRef>(null);\n const heartbeatIntervalRef = useRef<number>(undefined);\n\n const connect = (newUrl: string) => {\n if (newUrl && url !== newUrl) {\n setUrl(newUrl);\n }\n };\n\n const clearMessages = () => {\n setMessages([]);\n };\n\n // Connect WebSocket after login\n useEffect(() => {\n if (url) {\n // Open WebSocket connection\n if (socketRef.current === null) {\n socketRef.current = new WebSocket(url);\n } else if (socketRef.current.url !== url) {\n socketRef.current.close();\n socketRef.current = new WebSocket(url);\n }\n\n socketRef.current.onopen = (event: Event) => {\n // console.log('WebSocket onopen', 'event', event);\n\n setIsError(false);\n setIsConnected(true);\n\n heartbeatIntervalRef.current = window.setInterval(() => {\n if (socketRef.current?.readyState === WebSocket.OPEN) {\n socketRef.current?.send('ping');\n }\n }, pingInterval);\n };\n\n socketRef.current.onmessage = (event: MessageEvent) => {\n console.log('WebSocket onmessage', 'event.data', event.data);\n\n if (event.data === 'ping') {\n socketRef.current?.send('pong');\n return;\n }\n\n setTimeout(() => {\n setMessages((prev) => {\n if (!prev.includes(event.data)) {\n prev.push(event.data);\n }\n\n return prev;\n });\n }, 1000);\n };\n\n socketRef.current.onerror = (error: Event) => {\n console.error('WebSocket onerror:', 'error', error);\n\n setIsError(true);\n setIsConnected(false);\n };\n\n socketRef.current.onclose = (event: CloseEvent) => {\n // console.log('WebSocket onclose', 'event', event);\n\n if (event.wasClean) {\n // console.log(\n // `[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`,\n // );\n } else {\n // e.g. server process killed or network down, event.code is usually 1006 in this case\n console.warn(\n `[close] Connection died, code=${event.code} reason=${event.reason}`,\n );\n\n setIsError(true);\n }\n\n setIsConnected(false);\n };\n }\n\n // Cleanup on unmount or logout\n return () => {\n if (socketRef.current) {\n socketRef.current.close();\n }\n\n clearInterval(heartbeatIntervalRef.current);\n };\n }, [url]);\n\n return { isConnected, isError, connect, messages, clearMessages };\n};\n\nexport default useWebSocket;\n"],"mappings":"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"}
package/dist/hooks.js CHANGED
@@ -1,86 +1,2 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- var _exportNames = {
8
- useDevice: true,
9
- useSEStore: true,
10
- useSound: true,
11
- useWebSocket: true
12
- };
13
- Object.defineProperty(exports, "useDevice", {
14
- enumerable: true,
15
- get: function get() {
16
- return _useDevice["default"];
17
- }
18
- });
19
- Object.defineProperty(exports, "useSEStore", {
20
- enumerable: true,
21
- get: function get() {
22
- return _useSEStore["default"];
23
- }
24
- });
25
- Object.defineProperty(exports, "useSound", {
26
- enumerable: true,
27
- get: function get() {
28
- return _useSound["default"];
29
- }
30
- });
31
- Object.defineProperty(exports, "useWebSocket", {
32
- enumerable: true,
33
- get: function get() {
34
- return _useWebSocket["default"];
35
- }
36
- });
37
- var _useDevice = _interopRequireWildcard(require("./Hooks/useDevice"));
38
- Object.keys(_useDevice).forEach(function (key) {
39
- if (key === "default" || key === "__esModule") return;
40
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
41
- if (key in exports && exports[key] === _useDevice[key]) return;
42
- Object.defineProperty(exports, key, {
43
- enumerable: true,
44
- get: function get() {
45
- return _useDevice[key];
46
- }
47
- });
48
- });
49
- var _useSEStore = _interopRequireWildcard(require("./Hooks/useSEStore"));
50
- Object.keys(_useSEStore).forEach(function (key) {
51
- if (key === "default" || key === "__esModule") return;
52
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
53
- if (key in exports && exports[key] === _useSEStore[key]) return;
54
- Object.defineProperty(exports, key, {
55
- enumerable: true,
56
- get: function get() {
57
- return _useSEStore[key];
58
- }
59
- });
60
- });
61
- var _useSound = _interopRequireWildcard(require("./Hooks/useSound"));
62
- Object.keys(_useSound).forEach(function (key) {
63
- if (key === "default" || key === "__esModule") return;
64
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
65
- if (key in exports && exports[key] === _useSound[key]) return;
66
- Object.defineProperty(exports, key, {
67
- enumerable: true,
68
- get: function get() {
69
- return _useSound[key];
70
- }
71
- });
72
- });
73
- var _useWebSocket = _interopRequireWildcard(require("./Hooks/useWebSocket"));
74
- Object.keys(_useWebSocket).forEach(function (key) {
75
- if (key === "default" || key === "__esModule") return;
76
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
77
- if (key in exports && exports[key] === _useWebSocket[key]) return;
78
- Object.defineProperty(exports, key, {
79
- enumerable: true,
80
- get: function get() {
81
- return _useWebSocket[key];
82
- }
83
- });
84
- });
85
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
86
- //# sourceMappingURL=hooks.js.map
1
+ import { i as e, n as t, r as n, t as r } from "./hooks-oAipbPQ2.js";
2
+ export { e as useDevice, n as useSEStore, t as useSound, r as useWebSocket };