refactor(multiple-subtitles): [PKG-MULTI-SUB-04] expose compatible runtime type entry

This commit is contained in:
Harvey Zhao committed 2026-09-13 12:14:41 +08:00
1 parent 7f226ff822
commit d44e81ce22
34 files changed
+3346 -60

No files matched your search

@@ -0,0 +1,11 @@
import type Artplayer from 'artplayer'
// eslint-disable-next-line ts/no-require-imports -- Exercise historical export-assignment consumers.
import plugin = require('artplayer-plugin-multiple-subtitles')
const vtt = plugin
declare const art: Artplayer
const options: Parameters<typeof vtt>[0] = { subtitles: [] }
const result: ReturnType<ReturnType<typeof vtt>> = { name: 'multipleSubtitles' }
const replacement: typeof vtt = (_option: Parameters<typeof vtt>[0]) => (_art: Artplayer) => result
void vtt(options)(art).name
void replacement
@@ -0,0 +1,7 @@
import type { Factory } from 'artplayer-plugin-multiple-subtitles'
declare const replacement: Factory
const required: Factory & { default: Factory } = replacement
const optional: Factory & { default?: Factory } = replacement
optional.default({ subtitles: [] })
void required
@@ -0,0 +1,9 @@
import Artplayer from 'artplayer'
import subtitles from 'artplayer-plugin-multiple-subtitles'
const option: Parameters<typeof subtitles>[0] = { subtitles: [{ url: '/en.vtt', name: 'en', type: 'vtt', encoding: 'utf-8', onParser: (...args) => args }, {}] }
const art = new Artplayer({ container: '#player', url: '/video.mp4', plugins: [subtitles(option)] })
const result: ReturnType<ReturnType<typeof subtitles>> = { name: 'multipleSubtitles' }
const replacement: typeof subtitles = (_option: Parameters<typeof subtitles>[0]) => (_art: Artplayer) => result
void subtitles(option)(art).name
void replacement