Files
v10/packages/spf/src/all.ts
T
27a3993fb2 feat(spf): initial push of SPF (#784)
Co-authored-by: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Wesley Luyten <me@wesleyluyten.com>
2026-03-09 17:32:24 -07:00

144 lines
4.9 KiB
TypeScript

/**
* All SPF exports (public + internal) for bundle size measurement.
*
* This file exports everything implemented in SPF, including internal APIs.
* Use this for accurate bundle size measurements during development.
*
* For the public API, import from './index' instead.
*/
// Re-export everything from public API
export * from './index';
// =============================================================================
// State Management (O1)
// =============================================================================
export type {
SelectorListener,
SelectorOptions,
State,
StateConfig,
StateListener,
StateSelector,
WritableState,
} from './core/state/create-state';
export { createState, isState } from './core/state/create-state';
// =============================================================================
// HLS Parsing (P1, P2, P3)
// =============================================================================
export { parseMediaPlaylist } from './core/hls/parse-media-playlist';
export { parseMultivariantPlaylist } from './core/hls/parse-multivariant';
export { resolveUrl } from './core/hls/resolve-url';
// =============================================================================
// ABR (P6, P7)
// =============================================================================
export type {
BandwidthConfig,
BandwidthState,
} from './core/abr/bandwidth-estimator';
export {
DEFAULT_BANDWIDTH_CONFIG,
getBandwidthEstimate,
hasGoodEstimate,
sampleBandwidth,
} from './core/abr/bandwidth-estimator';
export type { QualityConfig } from './core/abr/quality-selection';
export { DEFAULT_QUALITY_CONFIG, selectQuality } from './core/abr/quality-selection';
// =============================================================================
// Buffer Management (P8, P9)
// =============================================================================
export type { BackBufferConfig } from './core/buffer/back-buffer';
export { calculateBackBufferFlushPoint, DEFAULT_BACK_BUFFER_CONFIG } from './core/buffer/back-buffer';
export type { ForwardBufferConfig } from './core/buffer/forward-buffer';
export { DEFAULT_FORWARD_BUFFER_CONFIG, getSegmentsToLoad } from './core/buffer/forward-buffer';
// =============================================================================
// Types (P15)
// =============================================================================
export type {
AudioTrack,
FrameRate,
MediaElementLike,
PartiallyResolvedAudioTrack,
PartiallyResolvedTextTrack,
PartiallyResolvedTrack,
PartiallyResolvedVideoTrack,
Presentation,
Segment,
SelectionSet,
TextTrack,
Track,
VideoTrack,
} from './core/types';
export { hasPresentationDuration, isResolvedTrack } from './core/types';
// =============================================================================
// DOM APIs (P4, P12, P16)
// =============================================================================
export type {
AttachMediaSourceResult,
CreateMediaSourceOptions,
} from './dom/media/mediasource-setup';
export {
attachMediaSource,
createMediaSource,
createSourceBuffer,
isCodecSupported,
supportsManagedMediaSource,
supportsMediaSource,
waitForSourceOpen,
} from './dom/media/mediasource-setup';
export type { ResponseLike } from './dom/network/fetch';
export { fetchResolvable, getResponseText } from './dom/network/fetch';
// =============================================================================
// Events (F1)
// =============================================================================
export type { EventListener, EventStream } from './core/events/create-event-stream';
export { createEventStream, isEventStream } from './core/events/create-event-stream';
// =============================================================================
// Reactive Composition (F1)
// =============================================================================
export type { InferObservableValues, Observable } from './core/reactive/combine-latest';
export { combineLatest } from './core/reactive/combine-latest';
// =============================================================================
// Features (F1)
// =============================================================================
export type {
PlatformOwners,
PresentationAction,
PresentationState,
UnresolvedPresentation,
} from './core/features/resolve-presentation';
export {
canResolve,
isUnresolved,
resolvePresentation,
shouldResolve,
syncPreloadAttribute,
} from './core/features/resolve-presentation';
// =============================================================================
// Features (F9 - Quality Switching)
// =============================================================================
export type {
QualitySwitchingConfig,
QualitySwitchingState,
} from './core/features/quality-switching';
export { DEFAULT_SWITCHING_CONFIG, switchQuality } from './core/features/quality-switching';