feat(types): add event, videojs handle, and default export typings - #1066
Merged
Conversation
✅ Deploy Preview for cld-vp-esm-pages ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for cld-video-player ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The shipped
VideoPlayertypings omit several members that exist at runtime, forcing consumers to augment the module locally. This adds them totypes/cld-video-player.d.ts: theon/one/off/triggerevent methods (wired up bysetupEventMethods), the underlyingvideojsplayer handle (e.g..videojs.el()), and thePlayerreference pluseventDatapayload attached to forwarded extended events. It also adds the missingexport defaultfor the cloudinary global, which exists at runtime (src/index.js) but was absent from the declarations.Extended events get per-event overloads so their payloads are typed precisely:
percentsplayed→eventData.percent,timeplayed→eventData.time,seek→eventData.{seekStart,seekEnd}. A trailingstringoverload covers all other video.js/cloudinary events.These gaps surfaced when bumping the package in a consuming project (gallery-widget), where the fix was a local
declare moduleaugment — contributing the typings upstream removes the need for that. The type surface stays self-contained (no video.js type dependency), andtypes/cld-video-player-tests.tsis extended to validate the new members. Verified that gallery-widget typechecks clean with its local augment removed.