@tiny-codes/react-easy 1.4.11 → 1.4.13

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/CHANGELOG.md CHANGED
@@ -2,6 +2,36 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## 1.4.13
6
+
7
+ 2025-9-8
8
+
9
+ ### Features
10
+
11
+ #### `AudioPlayer`
12
+
13
+ - ✨ Enhance `AudioPlayer` for streaming support and better error handling.
14
+
15
+ #### `useSSE`
16
+
17
+ - ✨ Reject the promise when first connection fails, should not fire `onError` callback in this case.
18
+
19
+ ### Notable Changes
20
+
21
+ #### `useSSE`
22
+
23
+ - 👀 `close` method in the return result is changed to `abort`.
24
+
25
+ ## 1.4.12
26
+
27
+ 2025-9-5
28
+
29
+ ### Bug Fixes
30
+
31
+ #### `utils.crypto`
32
+
33
+ - 🐞 Optimize the order of `crypto-js` imports
34
+
5
35
  ## 1.4.11
6
36
 
7
37
  2025-9-3
@@ -19,7 +19,7 @@ export interface UseSSEProps<T = any> {
19
19
  }
20
20
  declare const useSSE: <T = any>(props: UseSSEProps<T>) => {
21
21
  connect: (options?: FetchEventSourceInit & Partial<Pick<UseSSEProps, 'url'>>) => Promise<void>;
22
- close: () => void;
22
+ abort: () => void;
23
23
  isRequesting: boolean;
24
24
  isConnected: boolean;
25
25
  };
@@ -45,7 +45,7 @@ var useSSE = function useSSE(props) {
45
45
  var abortCtrlRef = useRef(undefined);
46
46
  var connect = useRefFunction( /*#__PURE__*/function () {
47
47
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(options) {
48
- var _connectOptions$optio, _connectOptions$optio2, connectUrl, _connectOptions$optio3, headers, _onopen, onmessage, onclose, onerror, restOptions;
48
+ var _connectOptions$optio, _connectOptions$optio2, connectUrl, _connectOptions$optio3, headers, _onopen, onmessage, onclose, onerror, restOptions, isError, response;
49
49
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
50
50
  while (1) switch (_context2.prev = _context2.next) {
51
51
  case 0:
@@ -54,19 +54,29 @@ var useSSE = function useSSE(props) {
54
54
  _context2.prev = 2;
55
55
  setIsRequesting(true);
56
56
  setIsConnected(false);
57
- _context2.next = 7;
57
+ isError = false;
58
+ response = undefined;
59
+ _context2.next = 9;
58
60
  return fetchEventSource(connectUrl, _objectSpread({
59
61
  method: 'post',
60
62
  signal: abortCtrlRef.current.signal,
61
63
  openWhenHidden: true,
62
64
  onopen: function () {
63
- var _onopen2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(response) {
65
+ var _onopen2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resp) {
64
66
  return _regeneratorRuntime().wrap(function _callee$(_context) {
65
67
  while (1) switch (_context.prev = _context.next) {
66
68
  case 0:
69
+ response = resp;
70
+ if (response.ok) {
71
+ _context.next = 4;
72
+ break;
73
+ }
74
+ isError = true;
75
+ return _context.abrupt("return");
76
+ case 4:
67
77
  setIsConnected(true);
68
78
  _onopen === null || _onopen === void 0 || _onopen(response);
69
- case 2:
79
+ case 6:
70
80
  case "end":
71
81
  return _context.stop();
72
82
  }
@@ -78,7 +88,7 @@ var useSSE = function useSSE(props) {
78
88
  return onopen;
79
89
  }(),
80
90
  onmessage: function onmessage(event) {
81
- if (!isRequestingRef.current) {
91
+ if (isRequestingRef.current) {
82
92
  setIsRequesting(false);
83
93
  }
84
94
  try {
@@ -97,10 +107,10 @@ var useSSE = function useSSE(props) {
97
107
  }
98
108
  },
99
109
  onerror: function onerror(error) {
100
- setIsRequesting(false);
101
110
  onError === null || onError === void 0 || onError(error);
102
111
  },
103
112
  onclose: function onclose() {
113
+ if (isError) return;
104
114
  setIsRequesting(false);
105
115
  onClose === null || onClose === void 0 || onClose();
106
116
  },
@@ -108,21 +118,33 @@ var useSSE = function useSSE(props) {
108
118
  'Content-Type': 'application/json'
109
119
  }, headers)
110
120
  }, restOptions));
111
- case 7:
112
- _context2.prev = 7;
121
+ case 9:
122
+ if (!isError) {
123
+ _context2.next = 11;
124
+ break;
125
+ }
126
+ throw response;
127
+ case 11:
128
+ setIsRequesting(false);
129
+ _context2.next = 19;
130
+ break;
131
+ case 14:
132
+ _context2.prev = 14;
133
+ _context2.t0 = _context2["catch"](2);
134
+ console.error('SSE connection error:', _context2.t0);
113
135
  setIsRequesting(false);
114
- return _context2.finish(7);
115
- case 10:
136
+ setIsConnected(false);
137
+ case 19:
116
138
  case "end":
117
139
  return _context2.stop();
118
140
  }
119
- }, _callee2, null, [[2,, 7, 10]]);
141
+ }, _callee2, null, [[2, 14]]);
120
142
  }));
121
143
  return function (_x) {
122
144
  return _ref.apply(this, arguments);
123
145
  };
124
146
  }());
125
- var close = useRefFunction(function () {
147
+ var abort = useRefFunction(function () {
126
148
  setIsConnected(false);
127
149
  if (isConnected && abortCtrlRef.current) {
128
150
  abortCtrlRef.current.abort();
@@ -132,13 +154,13 @@ var useSSE = function useSSE(props) {
132
154
  if (autoConnectRef.current) {
133
155
  connect();
134
156
  }
135
- return close;
157
+ return abort;
136
158
  }, []);
137
159
 
138
160
  // 清理函数
139
161
  return {
140
162
  connect: connect,
141
- close: close,
163
+ abort: abort,
142
164
  isRequesting: isRequesting,
143
165
  isConnected: isConnected
144
166
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","key","_toPropertyKey","_toPrimitive","String","toPrimitive","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","useEffect","useRef","useState","fetchEventSource","useRefFunction","useRefValue","useSSE","props","url","autoConnect","connectOptions","onMessage","parseMessage","onError","onClose","autoConnectRef","_useState","_useState2","isRequesting","setIsRequesting","isRequestingRef","_useState3","_useState4","isConnected","setIsConnected","abortCtrlRef","connect","_ref","_callee2","options","_connectOptions$optio","_connectOptions$optio2","connectUrl","_connectOptions$optio3","headers","_onopen","onmessage","onclose","onerror","restOptions","_callee2$","_context2","onopen","_excluded","current","AbortController","signal","openWhenHidden","_onopen2","_callee","response","_callee$","_context","_x2","event","parsed","data","JSON","parse","console","log","_x","close","abort"],"sources":["../../src/hooks/useSSE.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { EventSourceMessage, FetchEventSourceInit } from '@microsoft/fetch-event-source';\nimport { fetchEventSource } from '@microsoft/fetch-event-source';\nimport useRefFunction from './useRefFunction';\nimport useRefValue from './useRefValue';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface UseSSEProps<T = any> {\n /** The URL to connect to */\n url: RequestInfo;\n /** Options for the connection. */\n connectOptions?: Omit<FetchEventSourceInit, 'onmessage' | 'onerror' | 'onclose'>;\n /** Automatically connect to the SSE channel. Default is `false`. */\n autoConnect?: boolean;\n /** Automatically close the connection when the component unmounts. Default is `true`. */\n autoClose?: boolean;\n /** Function to parse the incoming message. If not provided, the default JSON parser will be used. */\n parseMessage?: (original: EventSourceMessage) => T;\n /** Callback function to handle incoming messages. */\n onMessage?: (messageData: T) => void;\n /** Callback function to handle errors. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onError?: (error: any) => void;\n /** Callback function to handle connection closure. */\n onClose?: () => void;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst useSSE = <T = any>(props: UseSSEProps<T>) => {\n const { url, autoConnect, connectOptions, onMessage, parseMessage, onError, onClose } = props;\n const autoConnectRef = useRefValue(autoConnect);\n const [isRequesting, setIsRequesting] = useState(false);\n const isRequestingRef = useRefValue(isRequesting);\n const [isConnected, setIsConnected] = useState<boolean>(false);\n const abortCtrlRef = useRef<AbortController | undefined>(undefined);\n\n const connect = useRefFunction(async (options?: FetchEventSourceInit & Partial<Pick<UseSSEProps, 'url'>>) => {\n const {\n url: connectUrl = url,\n headers = {},\n onopen,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onmessage,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onclose,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onerror,\n ...restOptions\n } = { ...connectOptions, ...options };\n abortCtrlRef.current = new AbortController();\n try {\n setIsRequesting(true);\n setIsConnected(false);\n await fetchEventSource(connectUrl, {\n method: 'post',\n signal: abortCtrlRef.current.signal,\n openWhenHidden: true,\n onopen: async (response: Response) => {\n setIsConnected(true);\n onopen?.(response);\n },\n onmessage(event) {\n if (!isRequestingRef.current) {\n setIsRequesting(false);\n }\n try {\n let parsed: T;\n if (parseMessage) {\n parsed = parseMessage(event);\n } else {\n parsed = event.data ? JSON.parse(event.data) : undefined;\n }\n if (parsed != null) {\n onMessage?.(parsed);\n }\n } catch (error) {\n console.error('Error parsing message data:', error);\n console.log('The underlying event:', event);\n }\n },\n onerror(error) {\n setIsRequesting(false);\n onError?.(error);\n },\n onclose() {\n setIsRequesting(false);\n onClose?.();\n },\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n ...restOptions,\n });\n } finally {\n setIsRequesting(false);\n }\n });\n\n const close = useRefFunction(() => {\n setIsConnected(false);\n if (isConnected && abortCtrlRef.current) {\n abortCtrlRef.current.abort();\n }\n });\n\n useEffect(() => {\n if (autoConnectRef.current) {\n connect();\n }\n return close;\n }, []);\n\n // 清理函数\n return {\n connect,\n close,\n isRequesting,\n isConnected,\n };\n};\n\nexport default useSSE;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","key","_toPropertyKey","_toPrimitive","String","toPrimitive","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","useEffect","useRef","useState","fetchEventSource","useRefFunction","useRefValue","useSSE","props","url","autoConnect","connectOptions","onMessage","parseMessage","onError","onClose","autoConnectRef","_useState","_useState2","isRequesting","setIsRequesting","isRequestingRef","_useState3","_useState4","isConnected","setIsConnected","abortCtrlRef","connect","_ref","_callee2","options","_connectOptions$optio","_connectOptions$optio2","connectUrl","_connectOptions$optio3","headers","_onopen","onmessage","onclose","onerror","restOptions","isError","response","_callee2$","_context2","onopen","_excluded","current","AbortController","signal","openWhenHidden","_onopen2","_callee","resp","_callee$","_context","ok","_x2","event","parsed","data","JSON","parse","console","log","t0","_x","abort"],"sources":["../../src/hooks/useSSE.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { EventSourceMessage, FetchEventSourceInit } from '@microsoft/fetch-event-source';\nimport { fetchEventSource } from '@microsoft/fetch-event-source';\nimport useRefFunction from './useRefFunction';\nimport useRefValue from './useRefValue';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface UseSSEProps<T = any> {\n /** The URL to connect to */\n url: RequestInfo;\n /** Options for the connection. */\n connectOptions?: Omit<FetchEventSourceInit, 'onmessage' | 'onerror' | 'onclose'>;\n /** Automatically connect to the SSE channel. Default is `false`. */\n autoConnect?: boolean;\n /** Automatically close the connection when the component unmounts. Default is `true`. */\n autoClose?: boolean;\n /** Function to parse the incoming message. If not provided, the default JSON parser will be used. */\n parseMessage?: (original: EventSourceMessage) => T;\n /** Callback function to handle incoming messages. */\n onMessage?: (messageData: T) => void;\n /** Callback function to handle errors. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onError?: (error: any) => void;\n /** Callback function to handle connection closure. */\n onClose?: () => void;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst useSSE = <T = any>(props: UseSSEProps<T>) => {\n const { url, autoConnect, connectOptions, onMessage, parseMessage, onError, onClose } = props;\n const autoConnectRef = useRefValue(autoConnect);\n const [isRequesting, setIsRequesting] = useState(false);\n const isRequestingRef = useRefValue(isRequesting);\n const [isConnected, setIsConnected] = useState<boolean>(false);\n const abortCtrlRef = useRef<AbortController | undefined>(undefined);\n\n const connect = useRefFunction(async (options?: FetchEventSourceInit & Partial<Pick<UseSSEProps, 'url'>>) => {\n const {\n url: connectUrl = url,\n headers = {},\n onopen,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onmessage,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onclose,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onerror,\n ...restOptions\n } = { ...connectOptions, ...options };\n abortCtrlRef.current = new AbortController();\n try {\n setIsRequesting(true);\n setIsConnected(false);\n let isError = false;\n let response: Response | undefined = undefined;\n await fetchEventSource(connectUrl, {\n method: 'post',\n signal: abortCtrlRef.current.signal,\n openWhenHidden: true,\n onopen: async (resp: Response) => {\n response = resp;\n if (!response.ok) {\n isError = true;\n return;\n }\n setIsConnected(true);\n onopen?.(response);\n },\n onmessage(event) {\n if (isRequestingRef.current) {\n setIsRequesting(false);\n }\n try {\n let parsed: T;\n if (parseMessage) {\n parsed = parseMessage(event);\n } else {\n parsed = event.data ? JSON.parse(event.data) : undefined;\n }\n if (parsed != null) {\n onMessage?.(parsed);\n }\n } catch (error) {\n console.error('Error parsing message data:', error);\n console.log('The underlying event:', event);\n }\n },\n onerror(error) {\n onError?.(error);\n },\n onclose() {\n if (isError) return;\n setIsRequesting(false);\n onClose?.();\n },\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n ...restOptions,\n });\n if (isError) {\n throw response;\n }\n setIsRequesting(false);\n } catch (error) {\n console.error('SSE connection error:', error);\n setIsRequesting(false);\n setIsConnected(false);\n }\n });\n\n const abort = useRefFunction(() => {\n setIsConnected(false);\n if (isConnected && abortCtrlRef.current) {\n abortCtrlRef.current.abort();\n }\n });\n\n useEffect(() => {\n if (autoConnectRef.current) {\n connect();\n }\n return abort;\n }, []);\n\n // 清理函数\n return {\n connect,\n abort,\n isRequesting,\n isConnected,\n };\n};\n\nexport default useSSE;\n"],"mappings":"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"}
@@ -5,6 +5,11 @@ export interface AudioPlayerInit {
5
5
  * - **CN:** 音频源(URL或流数据)
6
6
  */
7
7
  source?: AudioSource | (() => AudioSource | Promise<AudioSource>);
8
+ /**
9
+ * - **EN:** MIME type of the audio (e.g., 'audio/mpeg', 'audio/wav'). Optional.
10
+ * - **CN:** 音频的MIME类型(例如,'audio/mpeg','audio/wav')。可选。
11
+ */
12
+ mimeType?: string;
8
13
  /**
9
14
  * - **EN:** Initial volume level (0-1). Default is `0.5`
10
15
  * - **CN:** 初始音量级别(0-1)。默认值为`0.5`
@@ -47,6 +52,12 @@ declare class AudioPlayer {
47
52
  private gainNode;
48
53
  private sourceNode;
49
54
  private options;
55
+ private mediaSource;
56
+ private sourceBuffer;
57
+ private chunkQueue;
58
+ private appending;
59
+ private streamEnded;
60
+ private stopLoadingSource;
50
61
  private onPlayEnd;
51
62
  /**
52
63
  * - **EN:** Creates an audio player instance
@@ -119,7 +130,9 @@ declare class AudioPlayer {
119
130
  * @param source - can be a URL `string` or `ReadableStreamDefaultReader` |
120
131
  * 可以是URL字符串或`ReadableStreamDefaultReader`
121
132
  */
122
- setAudioSource(source?: AudioSource): Promise<void>;
133
+ setAudioSource(source?: AudioSource): Promise<{
134
+ stopLoading: () => void;
135
+ }>;
123
136
  /**
124
137
  * - **EN:** Increase volume (by 10% each time)
125
138
  * - **CN:** 增加音量(每次增加10%)
@@ -156,11 +169,22 @@ declare class AudioPlayer {
156
169
  * - **CN:** 释放资源
157
170
  */
158
171
  dispose(): void;
159
- /** Process streaming data source */
172
+ private disposeMediaSourceInternal;
173
+ /** Process streaming data source /ArrayBuffer/Uint8Array/Blob */
160
174
  private handleStreamSource;
161
175
  /** Initialize Web Audio API for better volume control */
162
176
  private initAudioContext;
163
177
  /** Update audio playback volume */
164
178
  private updateVolume;
179
+ /** Initialize MediaSource and push reader chunks into SourceBuffer */
180
+ private initMediaSourceForReader;
181
+ /** Loop to read data from the reader */
182
+ private readLoop;
183
+ /** Try to append the next chunk from the queue to the SourceBuffer */
184
+ private tryAppendNext;
185
+ /** Finalize MediaSource if possible (stream ended, no pending chunks, and not updating) */
186
+ private finalizeMediaSourceIfPossible;
187
+ /** Fallback to one-time Blob synthesis when streaming is not supported */
188
+ private fallbackReaderToBlob;
165
189
  }
166
190
  export default AudioPlayer;