remotion 4.0.187 → 4.0.188
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/dist/cjs/_check-rsc.d.ts +1 -0
- package/dist/cjs/_check-rsc.js +17 -0
- package/dist/cjs/buffer-until-first-frame.d.ts +2 -1
- package/dist/cjs/buffer-until-first-frame.js +11 -2
- package/dist/cjs/check-rsc.d.ts +1 -0
- package/dist/cjs/check-rsc.js +6 -0
- package/dist/cjs/use-media-playback.js +23 -12
- package/dist/cjs/use-request-video-callback-time.d.ts +6 -1
- package/dist/cjs/use-request-video-callback-time.js +16 -2
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/video/OffthreadVideoForRendering.js +7 -0
- package/dist/esm/index.mjs +57 -18
- package/dist/esm/version.mjs +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("react");
|
|
4
|
+
if (typeof react_1.createContext !== 'function') {
|
|
5
|
+
const err = [
|
|
6
|
+
'Remotion requires React.createContext, but it is "undefined".',
|
|
7
|
+
'If you are in a React Server Component, turn it into a client component by adding "use client" at the top of the file.',
|
|
8
|
+
'',
|
|
9
|
+
'Before:',
|
|
10
|
+
' import {useCurrentFrame} from "remotion";',
|
|
11
|
+
'',
|
|
12
|
+
'After:',
|
|
13
|
+
' "use client";',
|
|
14
|
+
' import {useCurrentFrame} from "remotion";',
|
|
15
|
+
];
|
|
16
|
+
throw new Error(err.join('\n'));
|
|
17
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export declare const useBufferUntilFirstFrame: ({ mediaRef, mediaType, onVariableFpsVideoDetected, }: {
|
|
1
|
+
export declare const useBufferUntilFirstFrame: ({ mediaRef, mediaType, onVariableFpsVideoDetected, pauseWhenBuffering, }: {
|
|
2
2
|
mediaRef: React.RefObject<HTMLVideoElement | HTMLAudioElement>;
|
|
3
3
|
mediaType: 'video' | 'audio';
|
|
4
4
|
onVariableFpsVideoDetected: () => void;
|
|
5
|
+
pauseWhenBuffering: boolean;
|
|
5
6
|
}) => {
|
|
6
7
|
isBuffering: () => boolean;
|
|
7
8
|
bufferUntilFirstFrame: (requestedTime: number) => void;
|
|
@@ -3,13 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useBufferUntilFirstFrame = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const use_buffer_state_1 = require("./use-buffer-state");
|
|
6
|
-
const useBufferUntilFirstFrame = ({ mediaRef, mediaType, onVariableFpsVideoDetected, }) => {
|
|
6
|
+
const useBufferUntilFirstFrame = ({ mediaRef, mediaType, onVariableFpsVideoDetected, pauseWhenBuffering, }) => {
|
|
7
7
|
const bufferingRef = (0, react_1.useRef)(false);
|
|
8
8
|
const { delayPlayback } = (0, use_buffer_state_1.useBufferState)();
|
|
9
9
|
const bufferUntilFirstFrame = (0, react_1.useCallback)((requestedTime) => {
|
|
10
10
|
if (mediaType !== 'video') {
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
|
+
if (!pauseWhenBuffering) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
13
16
|
const current = mediaRef.current;
|
|
14
17
|
if (!current) {
|
|
15
18
|
return;
|
|
@@ -47,7 +50,13 @@ const useBufferUntilFirstFrame = ({ mediaRef, mediaType, onVariableFpsVideoDetec
|
|
|
47
50
|
});
|
|
48
51
|
current.addEventListener('ended', onEndedOrPause, { once: true });
|
|
49
52
|
current.addEventListener('pause', onEndedOrPause, { once: true });
|
|
50
|
-
}, [
|
|
53
|
+
}, [
|
|
54
|
+
delayPlayback,
|
|
55
|
+
mediaRef,
|
|
56
|
+
mediaType,
|
|
57
|
+
onVariableFpsVideoDetected,
|
|
58
|
+
pauseWhenBuffering,
|
|
59
|
+
]);
|
|
51
60
|
return (0, react_1.useMemo)(() => {
|
|
52
61
|
return {
|
|
53
62
|
isBuffering: () => bufferingRef.current,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -32,21 +32,10 @@ const useMediaPlayback = ({ mediaRef, src, mediaType, playbackRate: localPlaybac
|
|
|
32
32
|
const { fps } = (0, use_video_config_js_1.useVideoConfig)();
|
|
33
33
|
const mediaStartsAt = (0, use_audio_frame_js_1.useMediaStartsAt)();
|
|
34
34
|
const lastSeekDueToShift = (0, react_1.useRef)(null);
|
|
35
|
+
const lastSeek = (0, react_1.useRef)(null);
|
|
35
36
|
if (!buffering) {
|
|
36
37
|
throw new Error('useMediaPlayback must be used inside a <BufferingContext>');
|
|
37
38
|
}
|
|
38
|
-
const currentTime = (0, use_request_video_callback_time_js_1.useRequestVideoCallbackTime)(mediaRef, mediaType);
|
|
39
|
-
const desiredUnclampedTime = (0, get_current_time_js_1.getMediaTime)({
|
|
40
|
-
frame,
|
|
41
|
-
playbackRate: localPlaybackRate,
|
|
42
|
-
startFrom: -mediaStartsAt,
|
|
43
|
-
fps,
|
|
44
|
-
});
|
|
45
|
-
const isMediaTagBuffering = (0, use_media_buffering_js_1.useMediaBuffering)({
|
|
46
|
-
element: mediaRef,
|
|
47
|
-
shouldBuffer: pauseWhenBuffering,
|
|
48
|
-
isPremounting,
|
|
49
|
-
});
|
|
50
39
|
const isVariableFpsVideoMap = (0, react_1.useRef)({});
|
|
51
40
|
const onVariableFpsVideoDetected = (0, react_1.useCallback)(() => {
|
|
52
41
|
if (!src) {
|
|
@@ -58,10 +47,28 @@ const useMediaPlayback = ({ mediaRef, src, mediaType, playbackRate: localPlaybac
|
|
|
58
47
|
}
|
|
59
48
|
isVariableFpsVideoMap.current[src] = true;
|
|
60
49
|
}, [debugSeeking, src]);
|
|
50
|
+
const currentTime = (0, use_request_video_callback_time_js_1.useRequestVideoCallbackTime)({
|
|
51
|
+
mediaRef,
|
|
52
|
+
mediaType,
|
|
53
|
+
lastSeek,
|
|
54
|
+
onVariableFpsVideoDetected,
|
|
55
|
+
});
|
|
56
|
+
const desiredUnclampedTime = (0, get_current_time_js_1.getMediaTime)({
|
|
57
|
+
frame,
|
|
58
|
+
playbackRate: localPlaybackRate,
|
|
59
|
+
startFrom: -mediaStartsAt,
|
|
60
|
+
fps,
|
|
61
|
+
});
|
|
62
|
+
const isMediaTagBuffering = (0, use_media_buffering_js_1.useMediaBuffering)({
|
|
63
|
+
element: mediaRef,
|
|
64
|
+
shouldBuffer: pauseWhenBuffering,
|
|
65
|
+
isPremounting,
|
|
66
|
+
});
|
|
61
67
|
const { bufferUntilFirstFrame, isBuffering } = (0, buffer_until_first_frame_js_1.useBufferUntilFirstFrame)({
|
|
62
68
|
mediaRef,
|
|
63
69
|
mediaType,
|
|
64
70
|
onVariableFpsVideoDetected,
|
|
71
|
+
pauseWhenBuffering,
|
|
65
72
|
});
|
|
66
73
|
const playbackRate = localPlaybackRate * globalPlaybackRate;
|
|
67
74
|
// For short audio, a lower acceptable time shift is used
|
|
@@ -137,9 +144,11 @@ const useMediaPlayback = ({ mediaRef, src, mediaType, playbackRate: localPlaybac
|
|
|
137
144
|
isTime: mediaTagTime,
|
|
138
145
|
rvcTime,
|
|
139
146
|
timeShift,
|
|
147
|
+
isVariableFpsVideo,
|
|
140
148
|
});
|
|
141
149
|
}
|
|
142
150
|
seek(mediaRef, shouldBeTime);
|
|
151
|
+
lastSeek.current = shouldBeTime;
|
|
143
152
|
lastSeekDueToShift.current = shouldBeTime;
|
|
144
153
|
if (playing && !isVariableFpsVideo) {
|
|
145
154
|
bufferUntilFirstFrame(shouldBeTime);
|
|
@@ -164,6 +173,7 @@ const useMediaPlayback = ({ mediaRef, src, mediaType, playbackRate: localPlaybac
|
|
|
164
173
|
if (!playing || isSomethingElseBuffering) {
|
|
165
174
|
if (makesSenseToSeek) {
|
|
166
175
|
seek(mediaRef, shouldBeTime);
|
|
176
|
+
lastSeek.current = shouldBeTime;
|
|
167
177
|
}
|
|
168
178
|
return;
|
|
169
179
|
}
|
|
@@ -172,6 +182,7 @@ const useMediaPlayback = ({ mediaRef, src, mediaType, playbackRate: localPlaybac
|
|
|
172
182
|
absoluteFrame === 0) {
|
|
173
183
|
if (makesSenseToSeek) {
|
|
174
184
|
seek(mediaRef, shouldBeTime);
|
|
185
|
+
lastSeek.current = shouldBeTime;
|
|
175
186
|
}
|
|
176
187
|
(0, play_and_handle_not_allowed_error_js_1.playAndHandleNotAllowedError)(mediaRef, mediaType, onAutoPlayError);
|
|
177
188
|
if (!isVariableFpsVideo) {
|
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
import type { RefObject } from 'react';
|
|
2
|
-
export declare const useRequestVideoCallbackTime: (mediaRef
|
|
2
|
+
export declare const useRequestVideoCallbackTime: ({ mediaRef, mediaType, lastSeek, onVariableFpsVideoDetected, }: {
|
|
3
|
+
mediaRef: RefObject<HTMLVideoElement | HTMLAudioElement>;
|
|
4
|
+
mediaType: 'video' | 'audio';
|
|
5
|
+
lastSeek: React.MutableRefObject<number | null>;
|
|
6
|
+
onVariableFpsVideoDetected: () => void;
|
|
7
|
+
}) => import("react").MutableRefObject<number | null>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useRequestVideoCallbackTime = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
-
const useRequestVideoCallbackTime = (mediaRef, mediaType) => {
|
|
5
|
+
const useRequestVideoCallbackTime = ({ mediaRef, mediaType, lastSeek, onVariableFpsVideoDetected, }) => {
|
|
6
6
|
const currentTime = (0, react_1.useRef)(null);
|
|
7
7
|
(0, react_1.useEffect)(() => {
|
|
8
8
|
const { current } = mediaRef;
|
|
@@ -27,6 +27,20 @@ const useRequestVideoCallbackTime = (mediaRef, mediaType) => {
|
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
29
|
const cb = videoTag.requestVideoFrameCallback((_, info) => {
|
|
30
|
+
if (currentTime.current !== null) {
|
|
31
|
+
const difference = Math.abs(currentTime.current - info.mediaTime);
|
|
32
|
+
const differenceToLastSeek = Math.abs(lastSeek.current === null
|
|
33
|
+
? Infinity
|
|
34
|
+
: info.mediaTime - lastSeek.current);
|
|
35
|
+
// If a video suddenly jumps to a position much further than previously
|
|
36
|
+
// and there was no relevant seek
|
|
37
|
+
// Case to be seen with 66a4a49b0862333a56c7d03c.mp4 and autoPlay and pauseWhenBuffering
|
|
38
|
+
if (difference > 0.5 &&
|
|
39
|
+
differenceToLastSeek > 0.5 &&
|
|
40
|
+
info.mediaTime > currentTime.current) {
|
|
41
|
+
onVariableFpsVideoDetected();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
30
44
|
currentTime.current = info.mediaTime;
|
|
31
45
|
request();
|
|
32
46
|
});
|
|
@@ -39,7 +53,7 @@ const useRequestVideoCallbackTime = (mediaRef, mediaType) => {
|
|
|
39
53
|
return () => {
|
|
40
54
|
cancel();
|
|
41
55
|
};
|
|
42
|
-
}, [mediaRef, mediaType]);
|
|
56
|
+
}, [lastSeek, mediaRef, mediaType, onVariableFpsVideoDetected]);
|
|
43
57
|
return currentTime;
|
|
44
58
|
};
|
|
45
59
|
exports.useRequestVideoCallbackTime = useRequestVideoCallbackTime;
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -136,6 +136,13 @@ const OffthreadVideoForRendering = ({ onError, volume: volumeProp, playbackRate,
|
|
|
136
136
|
});
|
|
137
137
|
}
|
|
138
138
|
catch (err) {
|
|
139
|
+
// If component is unmounted, we should not throw
|
|
140
|
+
if (err.message.includes('aborted')) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (controller.signal.aborted) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
139
146
|
if (onError) {
|
|
140
147
|
onError(err);
|
|
141
148
|
}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -138,7 +138,7 @@ function truthy(value) {
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
// src/version.ts
|
|
141
|
-
var VERSION = "4.0.
|
|
141
|
+
var VERSION = "4.0.188";
|
|
142
142
|
|
|
143
143
|
// src/multiple-versions-warning.ts
|
|
144
144
|
var checkMultipleRemotionVersions = () => {
|
|
@@ -2406,7 +2406,8 @@ var useBufferState = () => {
|
|
|
2406
2406
|
var useBufferUntilFirstFrame = ({
|
|
2407
2407
|
mediaRef,
|
|
2408
2408
|
mediaType,
|
|
2409
|
-
onVariableFpsVideoDetected
|
|
2409
|
+
onVariableFpsVideoDetected,
|
|
2410
|
+
pauseWhenBuffering
|
|
2410
2411
|
}) => {
|
|
2411
2412
|
const bufferingRef = useRef3(false);
|
|
2412
2413
|
const { delayPlayback } = useBufferState();
|
|
@@ -2414,6 +2415,9 @@ var useBufferUntilFirstFrame = ({
|
|
|
2414
2415
|
if (mediaType !== "video") {
|
|
2415
2416
|
return;
|
|
2416
2417
|
}
|
|
2418
|
+
if (!pauseWhenBuffering) {
|
|
2419
|
+
return;
|
|
2420
|
+
}
|
|
2417
2421
|
const current = mediaRef.current;
|
|
2418
2422
|
if (!current) {
|
|
2419
2423
|
return;
|
|
@@ -2447,7 +2451,13 @@ var useBufferUntilFirstFrame = ({
|
|
|
2447
2451
|
});
|
|
2448
2452
|
current.addEventListener("ended", onEndedOrPause, { once: true });
|
|
2449
2453
|
current.addEventListener("pause", onEndedOrPause, { once: true });
|
|
2450
|
-
}, [
|
|
2454
|
+
}, [
|
|
2455
|
+
delayPlayback,
|
|
2456
|
+
mediaRef,
|
|
2457
|
+
mediaType,
|
|
2458
|
+
onVariableFpsVideoDetected,
|
|
2459
|
+
pauseWhenBuffering
|
|
2460
|
+
]);
|
|
2451
2461
|
return useMemo17(() => {
|
|
2452
2462
|
return {
|
|
2453
2463
|
isBuffering: () => bufferingRef.current,
|
|
@@ -2532,7 +2542,12 @@ var useMediaBuffering = ({
|
|
|
2532
2542
|
|
|
2533
2543
|
// src/use-request-video-callback-time.ts
|
|
2534
2544
|
import {useEffect as useEffect11, useRef as useRef4} from "react";
|
|
2535
|
-
var useRequestVideoCallbackTime = (
|
|
2545
|
+
var useRequestVideoCallbackTime = ({
|
|
2546
|
+
mediaRef,
|
|
2547
|
+
mediaType,
|
|
2548
|
+
lastSeek,
|
|
2549
|
+
onVariableFpsVideoDetected
|
|
2550
|
+
}) => {
|
|
2536
2551
|
const currentTime = useRef4(null);
|
|
2537
2552
|
useEffect11(() => {
|
|
2538
2553
|
const { current } = mediaRef;
|
|
@@ -2558,6 +2573,13 @@ var useRequestVideoCallbackTime = (mediaRef, mediaType) => {
|
|
|
2558
2573
|
return;
|
|
2559
2574
|
}
|
|
2560
2575
|
const cb = videoTag.requestVideoFrameCallback((_, info) => {
|
|
2576
|
+
if (currentTime.current !== null) {
|
|
2577
|
+
const difference = Math.abs(currentTime.current - info.mediaTime);
|
|
2578
|
+
const differenceToLastSeek = Math.abs(lastSeek.current === null ? Infinity : info.mediaTime - lastSeek.current);
|
|
2579
|
+
if (difference > 0.5 && differenceToLastSeek > 0.5 && info.mediaTime > currentTime.current) {
|
|
2580
|
+
onVariableFpsVideoDetected();
|
|
2581
|
+
}
|
|
2582
|
+
}
|
|
2561
2583
|
currentTime.current = info.mediaTime;
|
|
2562
2584
|
request();
|
|
2563
2585
|
});
|
|
@@ -2572,7 +2594,7 @@ var useRequestVideoCallbackTime = (mediaRef, mediaType) => {
|
|
|
2572
2594
|
return () => {
|
|
2573
2595
|
cancel();
|
|
2574
2596
|
};
|
|
2575
|
-
}, [mediaRef, mediaType]);
|
|
2597
|
+
}, [lastSeek, mediaRef, mediaType, onVariableFpsVideoDetected]);
|
|
2576
2598
|
return currentTime;
|
|
2577
2599
|
};
|
|
2578
2600
|
|
|
@@ -2842,10 +2864,26 @@ var useMediaPlayback = ({
|
|
|
2842
2864
|
const { fps } = useVideoConfig();
|
|
2843
2865
|
const mediaStartsAt = useMediaStartsAt();
|
|
2844
2866
|
const lastSeekDueToShift = useRef6(null);
|
|
2867
|
+
const lastSeek = useRef6(null);
|
|
2845
2868
|
if (!buffering3) {
|
|
2846
2869
|
throw new Error("useMediaPlayback must be used inside a <BufferingContext>");
|
|
2847
2870
|
}
|
|
2848
|
-
const
|
|
2871
|
+
const isVariableFpsVideoMap = useRef6({});
|
|
2872
|
+
const onVariableFpsVideoDetected = useCallback7(() => {
|
|
2873
|
+
if (!src) {
|
|
2874
|
+
return;
|
|
2875
|
+
}
|
|
2876
|
+
if (debugSeeking) {
|
|
2877
|
+
console.log(`Detected ${src} as a variable FPS video. Disabling buffering while seeking.`);
|
|
2878
|
+
}
|
|
2879
|
+
isVariableFpsVideoMap.current[src] = true;
|
|
2880
|
+
}, [debugSeeking, src]);
|
|
2881
|
+
const currentTime = useRequestVideoCallbackTime({
|
|
2882
|
+
mediaRef,
|
|
2883
|
+
mediaType,
|
|
2884
|
+
lastSeek,
|
|
2885
|
+
onVariableFpsVideoDetected
|
|
2886
|
+
});
|
|
2849
2887
|
const desiredUnclampedTime = getMediaTime({
|
|
2850
2888
|
frame,
|
|
2851
2889
|
playbackRate: localPlaybackRate,
|
|
@@ -2857,20 +2895,11 @@ var useMediaPlayback = ({
|
|
|
2857
2895
|
shouldBuffer: pauseWhenBuffering,
|
|
2858
2896
|
isPremounting
|
|
2859
2897
|
});
|
|
2860
|
-
const isVariableFpsVideoMap = useRef6({});
|
|
2861
|
-
const onVariableFpsVideoDetected = useCallback7(() => {
|
|
2862
|
-
if (!src) {
|
|
2863
|
-
return;
|
|
2864
|
-
}
|
|
2865
|
-
if (debugSeeking) {
|
|
2866
|
-
console.log(`Detected ${src} as a variable FPS video. Disabling buffering while seeking.`);
|
|
2867
|
-
}
|
|
2868
|
-
isVariableFpsVideoMap.current[src] = true;
|
|
2869
|
-
}, [debugSeeking, src]);
|
|
2870
2898
|
const { bufferUntilFirstFrame, isBuffering } = useBufferUntilFirstFrame({
|
|
2871
2899
|
mediaRef,
|
|
2872
2900
|
mediaType,
|
|
2873
|
-
onVariableFpsVideoDetected
|
|
2901
|
+
onVariableFpsVideoDetected,
|
|
2902
|
+
pauseWhenBuffering
|
|
2874
2903
|
});
|
|
2875
2904
|
const playbackRate = localPlaybackRate * globalPlaybackRate;
|
|
2876
2905
|
const acceptableTimeShiftButLessThanDuration = (() => {
|
|
@@ -2932,10 +2961,12 @@ var useMediaPlayback = ({
|
|
|
2932
2961
|
shouldBeTime,
|
|
2933
2962
|
isTime: mediaTagTime,
|
|
2934
2963
|
rvcTime,
|
|
2935
|
-
timeShift
|
|
2964
|
+
timeShift,
|
|
2965
|
+
isVariableFpsVideo
|
|
2936
2966
|
});
|
|
2937
2967
|
}
|
|
2938
2968
|
seek(mediaRef, shouldBeTime);
|
|
2969
|
+
lastSeek.current = shouldBeTime;
|
|
2939
2970
|
lastSeekDueToShift.current = shouldBeTime;
|
|
2940
2971
|
if (playing && !isVariableFpsVideo) {
|
|
2941
2972
|
bufferUntilFirstFrame(shouldBeTime);
|
|
@@ -2955,12 +2986,14 @@ var useMediaPlayback = ({
|
|
|
2955
2986
|
if (!playing || isSomethingElseBuffering) {
|
|
2956
2987
|
if (makesSenseToSeek) {
|
|
2957
2988
|
seek(mediaRef, shouldBeTime);
|
|
2989
|
+
lastSeek.current = shouldBeTime;
|
|
2958
2990
|
}
|
|
2959
2991
|
return;
|
|
2960
2992
|
}
|
|
2961
2993
|
if (mediaRef.current.paused && !mediaRef.current.ended || absoluteFrame === 0) {
|
|
2962
2994
|
if (makesSenseToSeek) {
|
|
2963
2995
|
seek(mediaRef, shouldBeTime);
|
|
2996
|
+
lastSeek.current = shouldBeTime;
|
|
2964
2997
|
}
|
|
2965
2998
|
playAndHandleNotAllowedError(mediaRef, mediaType, onAutoPlayError);
|
|
2966
2999
|
if (!isVariableFpsVideo) {
|
|
@@ -5871,6 +5904,12 @@ var OffthreadVideoForRendering = ({
|
|
|
5871
5904
|
handle: newHandle
|
|
5872
5905
|
});
|
|
5873
5906
|
} catch (err) {
|
|
5907
|
+
if (err.message.includes("aborted")) {
|
|
5908
|
+
return;
|
|
5909
|
+
}
|
|
5910
|
+
if (controller.signal.aborted) {
|
|
5911
|
+
return;
|
|
5912
|
+
}
|
|
5874
5913
|
if (onError) {
|
|
5875
5914
|
onError(err);
|
|
5876
5915
|
} else {
|
package/dist/esm/version.mjs
CHANGED
package/package.json
CHANGED