refactor(core): CORE-19 type capture and preserve progress lifetimes

This commit is contained in:
Harvey Zhao committed 2026-09-11 14:24:59 +08:00
1 parent 98a1800032
commit ccf77c4ed2
49 files changed
+31570 -681

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
import type { CaptureMedia } from '../../packages/artplayer/src/capture/frame'
import type { ScreenshotHost } from '../../packages/artplayer/src/player/screenshotMix'
import type Artplayer from '../../packages/artplayer/types/artplayer'
import screenshotMix from '../../packages/artplayer/src/player/screenshotMix'
declare const art: Artplayer
declare const host: ScreenshotHost
declare const video: HTMLVideoElement
const media: CaptureMedia = video
const data: Promise<string> = art.getDataURL()
const blob: Promise<string> = art.getBlobUrl()
const screenshot: Promise<string> = art.screenshot('frame')
const installed: void = screenshotMix(host)
// @ts-expect-error Screenshot names remain strings.
art.screenshot(123)
// @ts-expect-error Captures return promises, not synchronous data URLs.
const sync: string = art.getDataURL()
export { blob, data, installed, media, screenshot, sync }
+29
View File
@@ -0,0 +1,29 @@
import type { ThumbnailsHost } from '../../packages/artplayer/src/player/thumbnailsMix'
import type { ThumbnailGeometry } from '../../packages/artplayer/src/thumbnails/layout'
import type Artplayer from '../../packages/artplayer/types/artplayer'
import type { Thumbnails } from '../../packages/artplayer/types/option'
import { loadImg, loadThumbnailImage } from '../../packages/artplayer/src/image/load'
import ResourceScope from '../../packages/artplayer/src/lifecycle/scope'
import thumbnailsMix from '../../packages/artplayer/src/player/thumbnailsMix'
import { thumbnailLayout } from '../../packages/artplayer/src/thumbnails/layout'
declare const art: Artplayer
declare const host: ThumbnailsHost
declare const geometry: ThumbnailGeometry
const scope = new ResourceScope()
const installed: void = thumbnailsMix(host)
const option: Thumbnails = { url: 'sprite.png', column: 10, number: 100 }
art.thumbnails = option
const current: Thumbnails = art.thumbnails
const image: Promise<HTMLImageElement> = loadImg('sprite.png', 0.5)
const preview: Promise<HTMLImageElement | undefined> = loadThumbnailImage('sprite.png', 0.5, scope)
const layout = thumbnailLayout(option, geometry)
const width: string = layout.width
const left: number | string = layout.left
// @ts-expect-error Scale remains a number.
loadImg('sprite.png', 'half')
// @ts-expect-error Thumbnail configuration requires a URL.
art.thumbnails = { number: 100 }
// @ts-expect-error An owned request may be cancelled before producing an image.
const guaranteed: Promise<HTMLImageElement> = loadThumbnailImage('sprite.png', 1, scope)
export { current, guaranteed, image, installed, left, preview, width }