mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
refactor(react): replace prototype-walking and inferred class props (#1376)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -12,6 +12,6 @@ export type { PlaybackRateOwners, PlaybackRateState } from './features/track-pla
|
||||
export { trackPlaybackRate } from './features/track-playback-rate';
|
||||
export { appendSegment } from './media/append-segment';
|
||||
export { flushBuffer } from './media/buffer-flusher';
|
||||
export type { SpfMediaAPI } from './playback-engine/adapter';
|
||||
export { SpfMedia, SpfMediaMixin } from './playback-engine/adapter';
|
||||
export type { SpfMediaAPI, SpfMediaProps } from './playback-engine/adapter';
|
||||
export { SpfMedia, SpfMediaMixin, spfMediaDefaultProps } from './playback-engine/adapter';
|
||||
export { destroyVttParser, parseVttSegment } from './text/parse-vtt-segment';
|
||||
|
||||
@@ -3,10 +3,18 @@ import { update } from '../../core/signals/primitives';
|
||||
import type { PlaybackEngineConfig } from './engine';
|
||||
import { createPlaybackEngine, type PlaybackEngine } from './engine';
|
||||
|
||||
export interface SpfMediaAPI {
|
||||
readonly engine: PlaybackEngine;
|
||||
export interface SpfMediaProps {
|
||||
src: string;
|
||||
preload: '' | 'none' | 'metadata' | 'auto';
|
||||
}
|
||||
|
||||
export const spfMediaDefaultProps: SpfMediaProps = {
|
||||
src: '',
|
||||
preload: '',
|
||||
};
|
||||
|
||||
export interface SpfMediaAPI extends SpfMediaProps {
|
||||
readonly engine: PlaybackEngine;
|
||||
attach(mediaElement: HTMLMediaElement): void;
|
||||
detach(): void;
|
||||
destroy(): void;
|
||||
@@ -35,7 +43,7 @@ export function SpfMediaMixin<Base extends Constructor<any>>(BaseClass: Base) {
|
||||
class SpfMediaImpl extends BaseClass {
|
||||
#engine: PlaybackEngine;
|
||||
#config: PlaybackEngineConfig;
|
||||
#preload: '' | 'none' | 'metadata' | 'auto' = '';
|
||||
#preload: '' | 'none' | 'metadata' | 'auto' = spfMediaDefaultProps.preload;
|
||||
|
||||
/** Pending loadstart listener from a deferred play() retry, if any. */
|
||||
#loadstartListener: (() => void) | null = null;
|
||||
|
||||
Reference in New Issue
Block a user