mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-30 03:51:25 -08:00
refactor(vtt-thumbnail): [PKG-VTT-THUMB-04] preserve legacy types and expose async runtime entry
This commit is contained in:
1 parent
7f2906ae52
commit
db358a3ae4
33 files changed
+3864
-98
No files matched your search
@@ -6,6 +6,30 @@ Vtt thumbnail plugin for ArtPlayer
|
||||
|
||||
[https://artplayer.org](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-vtt-thumbnail/index.js&example=vtt.thumbnail)
|
||||
|
||||
## TypeScript usage
|
||||
|
||||
The registration function is asynchronous. The optional runtime entry provides its accurate
|
||||
Promise type and uses the same implementation as the default entry:
|
||||
|
||||
```ts
|
||||
import Artplayer from 'artplayer'
|
||||
import vttThumbnail from 'artplayer-plugin-vtt-thumbnail/runtime'
|
||||
|
||||
const art = new Artplayer({ container: '#player', url: '/video.mp4' })
|
||||
const result = await vttThumbnail({ vtt: '/thumbnails/index.vtt' })(art)
|
||||
console.log(result.name)
|
||||
```
|
||||
|
||||
You can also pass `vttThumbnail({ vtt: '/thumbnails/index.vtt' })` in the player's `plugins`
|
||||
array. Existing default and `/legacy` imports remain available. Their declarations preserve
|
||||
the historical synchronous result type for compatibility, although registration has always
|
||||
returned a Promise at runtime. Reading `result.name` requires awaiting registration; changing
|
||||
to `/runtime` opts into that accurate type without changing runtime behavior. The option
|
||||
object remains required, and its `vtt` and `style` fields remain optional.
|
||||
|
||||
See [ARCHITECTURE.md](ARCHITECTURE.md) for module ownership, testing commands and remaining
|
||||
compatibility validation.
|
||||
|
||||
## License
|
||||
|
||||
MIT © Harvey Zhao
|
||||
Reference in new issue
Block a user