@remotion/media 4.0.402 → 4.0.404

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 (77) hide show
  1. package/dist/audio/audio-for-preview.d.ts +2 -0
  2. package/dist/audio/audio-preview-iterator.d.ts +8 -3
  3. package/dist/audio/props.d.ts +2 -0
  4. package/dist/audio-extraction/audio-iterator.d.ts +5 -4
  5. package/dist/audio-extraction/audio-manager.d.ts +23 -7
  6. package/dist/audio-extraction/extract-audio.d.ts +2 -4
  7. package/dist/audio-iterator-manager.d.ts +2 -2
  8. package/dist/caches.d.ts +34 -17
  9. package/dist/convert-audiodata/apply-volume.d.ts +1 -1
  10. package/dist/convert-audiodata/resample-audiodata.d.ts +2 -2
  11. package/dist/debug-overlay/preview-overlay.d.ts +83 -5
  12. package/dist/esm/index.mjs +524 -476
  13. package/dist/extract-frame-and-audio.d.ts +1 -2
  14. package/dist/get-sink.d.ts +1 -2
  15. package/dist/index.d.ts +2 -1
  16. package/dist/media-player.d.ts +1 -1
  17. package/dist/on-error.d.ts +12 -0
  18. package/dist/show-in-timeline.d.ts +2 -2
  19. package/dist/use-media-in-timeline.d.ts +2 -2
  20. package/dist/video/props.d.ts +5 -0
  21. package/dist/video/video-for-preview.d.ts +2 -0
  22. package/dist/video/video-for-rendering.d.ts +2 -0
  23. package/dist/video/video-preview-iterator.d.ts +7 -2
  24. package/dist/video-extraction/extract-frame-via-broadcast-channel.d.ts +1 -2
  25. package/dist/video-extraction/extract-frame.d.ts +2 -4
  26. package/dist/video-extraction/get-frames-since-keyframe.d.ts +2 -12
  27. package/dist/video-extraction/keyframe-bank.d.ts +14 -12
  28. package/dist/video-extraction/keyframe-manager.d.ts +7 -9
  29. package/dist/video-iterator-manager.d.ts +4 -5
  30. package/package.json +8 -7
  31. package/dist/audio/allow-wait.js +0 -15
  32. package/dist/audio/audio-for-preview.js +0 -304
  33. package/dist/audio/audio-for-rendering.js +0 -194
  34. package/dist/audio/audio-preview-iterator.js +0 -176
  35. package/dist/audio/audio.js +0 -20
  36. package/dist/audio/props.js +0 -1
  37. package/dist/audio-extraction/audio-cache.js +0 -66
  38. package/dist/audio-extraction/audio-iterator.js +0 -132
  39. package/dist/audio-extraction/audio-manager.js +0 -113
  40. package/dist/audio-extraction/extract-audio.js +0 -132
  41. package/dist/audio-iterator-manager.js +0 -228
  42. package/dist/browser-can-use-webgl2.js +0 -13
  43. package/dist/caches.js +0 -61
  44. package/dist/calculate-playbacktime.js +0 -4
  45. package/dist/convert-audiodata/apply-volume.js +0 -17
  46. package/dist/convert-audiodata/combine-audiodata.js +0 -23
  47. package/dist/convert-audiodata/convert-audiodata.js +0 -73
  48. package/dist/convert-audiodata/resample-audiodata.js +0 -94
  49. package/dist/debug-overlay/preview-overlay.js +0 -44
  50. package/dist/extract-frame-and-audio.js +0 -101
  51. package/dist/get-sink.js +0 -15
  52. package/dist/get-time-in-seconds.js +0 -40
  53. package/dist/helpers/round-to-4-digits.js +0 -4
  54. package/dist/index.js +0 -12
  55. package/dist/is-type-of-error.js +0 -20
  56. package/dist/looped-frame.js +0 -10
  57. package/dist/media-player.js +0 -445
  58. package/dist/nonce-manager.js +0 -13
  59. package/dist/prewarm-iterator-for-looping.js +0 -56
  60. package/dist/render-timestamp-range.js +0 -9
  61. package/dist/show-in-timeline.js +0 -31
  62. package/dist/use-media-in-timeline.js +0 -103
  63. package/dist/video/props.js +0 -1
  64. package/dist/video/video-for-preview.js +0 -329
  65. package/dist/video/video-for-rendering.js +0 -263
  66. package/dist/video/video-preview-iterator.js +0 -122
  67. package/dist/video/video.js +0 -35
  68. package/dist/video-extraction/add-broadcast-channel-listener.js +0 -125
  69. package/dist/video-extraction/extract-frame-via-broadcast-channel.js +0 -113
  70. package/dist/video-extraction/extract-frame.js +0 -85
  71. package/dist/video-extraction/get-allocation-size.js +0 -6
  72. package/dist/video-extraction/get-frames-since-keyframe.js +0 -108
  73. package/dist/video-extraction/keyframe-bank.js +0 -159
  74. package/dist/video-extraction/keyframe-manager.js +0 -206
  75. package/dist/video-extraction/remember-actual-matroska-timestamps.js +0 -19
  76. package/dist/video-extraction/rotate-frame.js +0 -34
  77. package/dist/video-iterator-manager.js +0 -109
@@ -1,9 +1,8 @@
1
- import type { LogLevel } from 'remotion';
2
1
  import type { ExtractFrameViaBroadcastChannelResult } from './video-extraction/extract-frame-via-broadcast-channel';
3
2
  export declare const extractFrameAndAudio: ({ src, timeInSeconds, logLevel, durationInSeconds, playbackRate, includeAudio, includeVideo, loop, audioStreamIndex, trimAfter, trimBefore, fps, maxCacheSize, }: {
4
3
  src: string;
5
4
  timeInSeconds: number;
6
- logLevel: LogLevel;
5
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
7
6
  durationInSeconds: number;
8
7
  playbackRate: number;
9
8
  includeAudio: boolean;
@@ -1,7 +1,6 @@
1
- import type { LogLevel } from 'remotion';
2
1
  import type { GetSink } from './video-extraction/get-frames-since-keyframe';
3
2
  export declare const sinkPromises: Record<string, Promise<GetSink>>;
4
- export declare const getSink: (src: string, logLevel: LogLevel) => Promise<{
3
+ export declare const getSink: (src: string, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<{
5
4
  getVideo: () => Promise<import("./video-extraction/get-frames-since-keyframe").VideoSinkResult>;
6
5
  getAudio: (index: number) => Promise<import("./video-extraction/get-frames-since-keyframe").AudioSinkResult>;
7
6
  actualMatroskaTimestamps: {
package/dist/index.d.ts CHANGED
@@ -10,5 +10,6 @@ export declare const experimental_Audio: import("react").FC<import(".").AudioPro
10
10
  export declare const experimental_Video: import("react").FC<import(".").VideoProps>;
11
11
  export { AudioForPreview } from './audio/audio-for-preview';
12
12
  export { AudioProps, FallbackHtml5AudioProps } from './audio/props';
13
- export { VideoProps } from './video/props';
13
+ export { MediaErrorAction } from './on-error';
14
+ export { FallbackOffthreadVideoProps, VideoProps } from './video/props';
14
15
  export { Audio, Video };
@@ -42,7 +42,7 @@ export declare class MediaPlayer {
42
42
  private isPremounting;
43
43
  private isPostmounting;
44
44
  private seekPromiseChain;
45
- constructor({ canvas, src, logLevel, sharedAudioContext, loop, trimBefore, trimAfter, playbackRate, globalPlaybackRate, audioStreamIndex, fps, debugOverlay, bufferState, isPremounting, isPostmounting, onVideoFrameCallback, playing, }: {
45
+ constructor({ canvas, src, logLevel, sharedAudioContext, loop, trimBefore, trimAfter, playbackRate, globalPlaybackRate, audioStreamIndex, fps, debugOverlay, bufferState, isPremounting, isPostmounting, onVideoFrameCallback, playing }: {
46
46
  canvas: HTMLCanvasElement | OffscreenCanvas | null;
47
47
  src: string;
48
48
  logLevel: LogLevel;
@@ -0,0 +1,12 @@
1
+ export type MediaErrorEvent = {
2
+ error: Error;
3
+ };
4
+ export type MediaErrorAction = 'fallback' | 'fail';
5
+ export type MediaOnError = (error: Error) => MediaErrorAction | undefined;
6
+ export declare const callOnErrorAndResolve: ({ onError, error, disallowFallback, isClientSideRendering, clientSideError, }: {
7
+ onError: MediaOnError | undefined;
8
+ error: Error;
9
+ clientSideError: Error;
10
+ disallowFallback: boolean;
11
+ isClientSideRendering: boolean;
12
+ }) => [MediaErrorAction, Error];
@@ -1,8 +1,8 @@
1
- import type { _InternalTypes } from 'remotion';
1
+ import type { LoopDisplay } from 'remotion';
2
2
  export declare const useLoopDisplay: ({ loop, mediaDurationInSeconds, playbackRate, trimAfter, trimBefore, }: {
3
3
  loop: boolean;
4
4
  mediaDurationInSeconds: number | null;
5
5
  trimAfter: number | undefined;
6
6
  trimBefore: number | undefined;
7
7
  playbackRate: number;
8
- }) => _InternalTypes["LoopDisplay"] | undefined;
8
+ }) => LoopDisplay | undefined;
@@ -1,4 +1,4 @@
1
- import type { _InternalTypes } from 'remotion';
1
+ import type { LoopDisplay } from 'remotion';
2
2
  import { type VolumeProp } from 'remotion';
3
3
  export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, stack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, trimBefore, trimAfter, }: {
4
4
  volume: VolumeProp | undefined;
@@ -11,7 +11,7 @@ export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType,
11
11
  showInTimeline: boolean;
12
12
  premountDisplay: number | null;
13
13
  postmountDisplay: number | null;
14
- loopDisplay: _InternalTypes["LoopDisplay"] | undefined;
14
+ loopDisplay: LoopDisplay | undefined;
15
15
  trimBefore: number | undefined;
16
16
  trimAfter: number | undefined;
17
17
  }) => {
@@ -1,4 +1,8 @@
1
1
  import type { LogLevel, LoopVolumeCurveBehavior, OnVideoFrame, VolumeProp } from 'remotion';
2
+ import type { MediaOnError } from '../on-error';
3
+ export type MediaErrorEvent = {
4
+ error: Error;
5
+ };
2
6
  export type FallbackOffthreadVideoProps = {
3
7
  acceptableTimeShiftInSeconds?: number;
4
8
  transparent?: boolean;
@@ -39,6 +43,7 @@ type OptionalVideoProps = {
39
43
  showInTimeline: boolean;
40
44
  debugOverlay: boolean;
41
45
  headless: boolean;
46
+ onError: MediaOnError | undefined;
42
47
  };
43
48
  export type InnerVideoProps = MandatoryVideoProps & OuterVideoProps & OptionalVideoProps;
44
49
  export type VideoProps = MandatoryVideoProps & Partial<OuterVideoProps> & Partial<OptionalVideoProps>;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { LogLevel, LoopVolumeCurveBehavior, VolumeProp } from 'remotion';
3
+ import { type MediaOnError } from '../on-error';
3
4
  import type { FallbackOffthreadVideoProps } from './props';
4
5
  type VideoForPreviewProps = {
5
6
  readonly src: string;
@@ -22,6 +23,7 @@ type VideoForPreviewProps = {
22
23
  readonly audioStreamIndex: number;
23
24
  readonly debugOverlay: boolean;
24
25
  readonly headless: boolean;
26
+ readonly onError: MediaOnError | undefined;
25
27
  };
26
28
  export declare const VideoForPreview: React.FC<VideoForPreviewProps>;
27
29
  export {};
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { LogLevel, LoopVolumeCurveBehavior, OnVideoFrame, VolumeProp } from 'remotion';
3
+ import { type MediaOnError } from '../on-error';
3
4
  import type { FallbackOffthreadVideoProps } from './props';
4
5
  type InnerVideoProps = {
5
6
  readonly className: string | undefined;
@@ -23,6 +24,7 @@ type InnerVideoProps = {
23
24
  readonly trimBeforeValue: number | undefined;
24
25
  readonly trimAfterValue: number | undefined;
25
26
  readonly headless: boolean;
27
+ readonly onError: MediaOnError | undefined;
26
28
  };
27
29
  export declare const VideoForRendering: React.FC<InnerVideoProps>;
28
30
  export {};
@@ -1,6 +1,11 @@
1
1
  import type { WrappedCanvas } from 'mediabunny';
2
- import type { PrewarmedVideoIteratorCache } from '../prewarm-iterator-for-looping';
3
- export declare const createVideoIterator: (timeToSeek: number, cache: PrewarmedVideoIteratorCache) => {
2
+ export declare const createVideoIterator: (timeToSeek: number, cache: {
3
+ prewarmIteratorForLooping: ({ timeToSeek }: {
4
+ timeToSeek: number;
5
+ }) => void;
6
+ makeIteratorOrUsePrewarmed: (timeToSeek: number) => AsyncGenerator<WrappedCanvas, void, unknown>;
7
+ destroy: () => void;
8
+ }) => {
4
9
  destroy: () => void;
5
10
  getNext: () => Promise<IteratorResult<WrappedCanvas, void>>;
6
11
  isDestroyed: () => boolean;
@@ -1,4 +1,3 @@
1
- import { type LogLevel } from 'remotion';
2
1
  import type { PcmS16AudioData } from '../convert-audiodata/convert-audiodata';
3
2
  export type ExtractFrameViaBroadcastChannelResult = {
4
3
  type: 'success';
@@ -21,7 +20,7 @@ export declare const extractFrameViaBroadcastChannel: ({ src, timeInSeconds, log
21
20
  timeInSeconds: number;
22
21
  durationInSeconds: number;
23
22
  playbackRate: number;
24
- logLevel: LogLevel;
23
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
25
24
  includeAudio: boolean;
26
25
  includeVideo: boolean;
27
26
  isClientSideRendering: boolean;
@@ -2,7 +2,7 @@ import type { VideoSample } from 'mediabunny';
2
2
  import { type LogLevel } from 'remotion';
3
3
  type ExtractFrameResult = {
4
4
  type: 'success';
5
- frame: VideoSample | null;
5
+ sample: VideoSample | null;
6
6
  durationInSeconds: number | null;
7
7
  } | {
8
8
  type: 'cannot-decode';
@@ -26,7 +26,5 @@ type ExtractFrameParams = {
26
26
  fps: number;
27
27
  maxCacheSize: number;
28
28
  };
29
- declare const extractFrameInternal: ({ src, timeInSeconds: unloopedTimeInSeconds, logLevel, loop, trimAfter, trimBefore, playbackRate, fps, maxCacheSize, }: ExtractFrameParams) => Promise<ExtractFrameResult>;
30
- type ExtractFrameReturnType = Awaited<ReturnType<typeof extractFrameInternal>>;
31
- export declare const extractFrame: (params: ExtractFrameParams) => Promise<ExtractFrameReturnType>;
29
+ export declare const extractFrame: (params: ExtractFrameParams) => Promise<ExtractFrameResult>;
32
30
  export {};
@@ -1,15 +1,12 @@
1
- import type { EncodedPacket } from 'mediabunny';
2
- import { AudioSampleSink, EncodedPacketSink, VideoSampleSink } from 'mediabunny';
3
- import type { LogLevel } from 'remotion';
1
+ import { AudioSampleSink, VideoSampleSink } from 'mediabunny';
4
2
  type VideoSinks = {
5
3
  sampleSink: VideoSampleSink;
6
- packetSink: EncodedPacketSink;
7
4
  };
8
5
  type AudioSinks = {
9
6
  sampleSink: AudioSampleSink;
10
7
  };
11
8
  export type AudioSinkResult = AudioSinks | 'no-audio-track' | 'cannot-decode-audio' | 'unknown-container-format' | 'network-error';
12
- export type VideoSinkResult = VideoSinks | 'no-video-track' | 'cannot-decode' | 'unknown-container-format' | 'network-error';
9
+ export type VideoSinkResult = VideoSinks | 'no-video-track' | 'cannot-decode' | 'cannot-decode-alpha' | 'unknown-container-format' | 'network-error';
13
10
  export declare const getSinks: (src: string) => Promise<{
14
11
  getVideo: () => Promise<VideoSinkResult>;
15
12
  getAudio: (index: number) => Promise<AudioSinkResult>;
@@ -21,11 +18,4 @@ export declare const getSinks: (src: string) => Promise<{
21
18
  getDuration: () => Promise<number>;
22
19
  }>;
23
20
  export type GetSink = Awaited<ReturnType<typeof getSinks>>;
24
- export declare const getFramesSinceKeyframe: ({ packetSink, videoSampleSink, startPacket, logLevel, src, }: {
25
- packetSink: EncodedPacketSink;
26
- videoSampleSink: VideoSampleSink;
27
- startPacket: EncodedPacket;
28
- logLevel: LogLevel;
29
- src: string;
30
- }) => Promise<import("./keyframe-bank").KeyframeBank>;
31
21
  export {};
@@ -1,29 +1,31 @@
1
- import type { VideoSample } from 'mediabunny';
1
+ import type { VideoSample, VideoSampleSink } from 'mediabunny';
2
2
  import { type LogLevel } from 'remotion';
3
3
  export type KeyframeBank = {
4
4
  src: string;
5
- startTimestampInSeconds: number;
6
- endTimestampInSeconds: number;
7
5
  getFrameFromTimestamp: (timestamp: number) => Promise<VideoSample | null>;
8
- prepareForDeletion: (logLevel: LogLevel) => {
6
+ prepareForDeletion: (logLevel: LogLevel, reason: string) => {
9
7
  framesDeleted: number;
10
8
  };
11
- deleteFramesBeforeTimestamp: ({ logLevel, timestampInSeconds, }: {
9
+ deleteFramesBeforeTimestamp: ({ logLevel, timestampInSeconds }: {
12
10
  timestampInSeconds: number;
13
11
  logLevel: LogLevel;
14
12
  }) => void;
15
13
  hasTimestampInSecond: (timestamp: number) => Promise<boolean>;
16
- addFrame: (frame: VideoSample) => void;
14
+ addFrame: (frame: VideoSample, logLevel: LogLevel) => void;
17
15
  getOpenFrameCount: () => {
18
16
  size: number;
19
17
  timestamps: number[];
20
18
  };
21
19
  getLastUsed: () => number;
20
+ canSatisfyTimestamp: (timestamp: number) => boolean;
21
+ getRangeOfTimestamps: () => {
22
+ firstTimestamp: number;
23
+ lastTimestamp: number;
24
+ } | null;
22
25
  };
23
- export declare const makeKeyframeBank: ({ startTimestampInSeconds, endTimestampInSeconds, sampleIterator, logLevel: parentLogLevel, src, }: {
24
- startTimestampInSeconds: number;
25
- endTimestampInSeconds: number;
26
- sampleIterator: AsyncGenerator<VideoSample, void, unknown>;
27
- logLevel: LogLevel;
26
+ export declare const makeKeyframeBank: ({ logLevel: parentLogLevel, src, videoSampleSink, requestedTimestamp, }: {
27
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
28
28
  src: string;
29
- }) => KeyframeBank;
29
+ videoSampleSink: VideoSampleSink;
30
+ requestedTimestamp: number;
31
+ }) => Promise<KeyframeBank>;
@@ -1,19 +1,17 @@
1
- import type { EncodedPacketSink, VideoSampleSink } from 'mediabunny';
2
- import { type LogLevel } from 'remotion';
1
+ import type { VideoSampleSink } from 'mediabunny';
3
2
  import { type KeyframeBank } from './keyframe-bank';
4
3
  export declare const makeKeyframeManager: () => {
5
- requestKeyframeBank: ({ packetSink, timestamp, videoSampleSink, src, logLevel, maxCacheSize, }: {
6
- packetSink: EncodedPacketSink;
4
+ requestKeyframeBank: ({ timestamp, videoSampleSink, src, logLevel, maxCacheSize, }: {
7
5
  timestamp: number;
8
6
  videoSampleSink: VideoSampleSink;
9
7
  src: string;
10
- logLevel: LogLevel;
8
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
11
9
  maxCacheSize: number;
12
- }) => Promise<KeyframeBank | "has-alpha" | null>;
13
- getCacheStats: () => Promise<{
10
+ }) => Promise<KeyframeBank>;
11
+ getCacheStats: () => {
14
12
  count: number;
15
13
  totalSize: number;
16
- }>;
17
- clearAll: (logLevel: LogLevel) => Promise<void>;
14
+ };
15
+ clearAll: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
18
16
  };
19
17
  export type KeyframeManager = Awaited<ReturnType<typeof makeKeyframeManager>>;
@@ -1,15 +1,14 @@
1
1
  import type { InputVideoTrack, WrappedCanvas } from 'mediabunny';
2
- import type { LogLevel } from 'remotion';
3
2
  import type { Nonce } from './nonce-manager';
4
3
  export declare const videoIteratorManager: ({ delayPlaybackHandleIfNotPremounting, canvas, context, drawDebugOverlay, logLevel, getOnVideoFrameCallback, videoTrack, getEndTime, getStartTime, getIsLooping, }: {
5
4
  videoTrack: InputVideoTrack;
6
5
  delayPlaybackHandleIfNotPremounting: () => {
7
6
  unblock: () => void;
8
7
  };
9
- context: OffscreenCanvasRenderingContext2D | CanvasRenderingContext2D | null;
10
- canvas: OffscreenCanvas | HTMLCanvasElement | null;
11
- getOnVideoFrameCallback: () => null | ((frame: CanvasImageSource) => void);
12
- logLevel: LogLevel;
8
+ context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null;
9
+ canvas: HTMLCanvasElement | OffscreenCanvas | null;
10
+ getOnVideoFrameCallback: () => ((frame: CanvasImageSource) => void) | null;
11
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
13
12
  drawDebugOverlay: () => void;
14
13
  getEndTime: () => number;
15
14
  getStartTime: () => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/media",
3
- "version": "4.0.402",
3
+ "version": "4.0.404",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "module": "dist/esm/index.mjs",
@@ -12,30 +12,32 @@
12
12
  "bugs": {
13
13
  "url": "https://github.com/remotion-dev/remotion/issues"
14
14
  },
15
+ "type": "module",
15
16
  "scripts": {
16
17
  "if-node-18+": "node -e \"const [maj]=process.versions.node.split('.').map(Number); process.exit(maj>=18?0:1)\"",
17
18
  "formatting": "prettier --experimental-cli src --check",
18
19
  "lint": "eslint src",
19
- "watch": "tsc -w",
20
+ "watch": "tsgo -w",
20
21
  "test": "node src/test/execute.mjs",
21
- "make": "tsc -d && bun --env-file=../.env.bundle bundle.ts"
22
+ "make": "tsgo && bun --env-file=../.env.bundle bundle.ts"
22
23
  },
23
24
  "dependencies": {
24
25
  "mediabunny": "1.27.3",
25
- "remotion": "4.0.402"
26
+ "remotion": "4.0.404"
26
27
  },
27
28
  "peerDependencies": {
28
29
  "react": ">=16.8.0",
29
30
  "react-dom": ">=16.8.0"
30
31
  },
31
32
  "devDependencies": {
32
- "@remotion/eslint-config-internal": "4.0.402",
33
+ "@remotion/eslint-config-internal": "4.0.404",
33
34
  "@vitest/browser-webdriverio": "4.0.9",
34
35
  "eslint": "9.19.0",
35
36
  "react": "19.2.3",
36
37
  "react-dom": "19.2.3",
37
38
  "vitest": "4.0.9",
38
- "webdriverio": "9.19.2"
39
+ "webdriverio": "9.19.2",
40
+ "@typescript/native-preview": "7.0.0-dev.20260105.1"
39
41
  },
40
42
  "keywords": [],
41
43
  "publishConfig": {
@@ -44,7 +46,6 @@
44
46
  "exports": {
45
47
  ".": {
46
48
  "types": "./dist/index.d.ts",
47
- "require": "./dist/index.js",
48
49
  "module": "./dist/esm/index.mjs",
49
50
  "import": "./dist/esm/index.mjs"
50
51
  },
@@ -1,15 +0,0 @@
1
- export const allowWaitRoutine = async (next, waitFn) => {
2
- const result = await Promise.race([
3
- next,
4
- new Promise((resolve) => {
5
- Promise.resolve().then(() => resolve());
6
- }),
7
- ]);
8
- if (!result) {
9
- const unblock = waitFn.waitCallback();
10
- const newRes = await next;
11
- unblock();
12
- return newRes;
13
- }
14
- return result;
15
- };