Skip to content

Commit 1e1fcc9

Browse files
committed
Update to TypeScript (5.8 -> 5.9)
Resolves #7603
1 parent 52c6ef2 commit 1e1fcc9

20 files changed

+184
-155
lines changed

api-extractor/report/hls.js.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4837,7 +4837,7 @@ export interface Track extends BaseTrack {
48374837
// (undocumented)
48384838
buffer?: SourceBuffer;
48394839
// (undocumented)
4840-
initSegment?: Uint8Array;
4840+
initSegment?: Uint8Array<ArrayBuffer>;
48414841
}
48424842

48434843
// Warning: (ae-missing-release-tag) "TrackLoadedData" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)

package-lock.json

Lines changed: 138 additions & 123 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@
8888
"@types/chart.js": "2.9.41",
8989
"@types/mocha": "10.0.10",
9090
"@types/sinon-chai": "3.2.12",
91-
"@typescript-eslint/eslint-plugin": "8.38.0",
92-
"@typescript-eslint/parser": "8.38.0",
91+
"@typescript-eslint/eslint-plugin": "8.46.2",
92+
"@typescript-eslint/parser": "8.46.2",
9393
"babel-loader": "10.0.0",
9494
"babel-plugin-transform-remove-console": "6.9.4",
9595
"chai": "4.5.0",
@@ -132,7 +132,7 @@
132132
"semver": "7.7.3",
133133
"sinon": "21.0.0",
134134
"sinon-chai": "3.7.0",
135-
"typescript": "5.8.3",
135+
"typescript": "5.9.3",
136136
"url-toolkit": "2.2.5",
137137
"wrangler": "4.38.0"
138138
}

src/controller/audio-stream-controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,7 @@ class AudioStreamController
966966
`Init audio buffer, container:${track.container}, codecs[level/parsed]=[${variantAudioCodecs}/${track.codec}]`,
967967
);
968968
// SourceBuffer will use track.levelCodec if defined
969-
if (variantAudioCodecs && variantAudioCodecs.split(',').length === 1) {
969+
if (variantAudioCodecs?.split(',').length === 1) {
970970
track.levelCodec = variantAudioCodecs;
971971
}
972972
this.hls.trigger(Events.BUFFER_CODECS, tracks as BufferCodecsData);

src/controller/audio-track-controller.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,10 @@ class AudioTrackController extends BasePlaylistController {
8989
const { id, groupId, details } = data;
9090
const trackInActiveGroup = this.tracksInGroup[id];
9191

92-
if (!trackInActiveGroup || trackInActiveGroup.groupId !== groupId) {
92+
if (
93+
!trackInActiveGroup ||
94+
trackInActiveGroup.groupId !== (groupId as string | undefined)
95+
) {
9396
this.warn(
9497
`Audio track with id:${id} and group:${groupId} not found in active group ${trackInActiveGroup?.groupId}`,
9598
);

src/controller/base-stream-controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1879,7 +1879,7 @@ export default class BaseStreamController
18791879
}
18801880
const frag = data.frag;
18811881
// Handle frag error related to caller's filterType
1882-
if (!frag || frag.type !== filterType || !this.levels) {
1882+
if (!frag || !this.levels || frag.type !== filterType) {
18831883
return;
18841884
}
18851885
if (this.fragContextChanged(frag)) {

src/controller/buffer-controller.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,8 @@ export default class BufferController extends Logger implements ComponentAPI {
210210
}
211211
const transferData = this.transferData;
212212
if (
213-
!this.sourceBufferCount &&
214213
transferData &&
214+
!this.sourceBufferCount &&
215215
transferData.mediaSource === mediaSource
216216
) {
217217
Object.assign(tracks, transferData.tracks);
@@ -779,7 +779,7 @@ transfer tracks: ${stringify(transferredTracks, (key, value) => (key === 'initSe
779779
if (fragBuffering.start === 0) {
780780
fragBuffering.start = bufferAppendingStart;
781781
}
782-
if (partBuffering && partBuffering.start === 0) {
782+
if (partBuffering?.start === 0) {
783783
partBuffering.start = bufferAppendingStart;
784784
}
785785

@@ -867,7 +867,7 @@ transfer tracks: ${stringify(transferredTracks, (key, value) => (key === 'initSe
867867
if (fragBuffering.first === 0) {
868868
fragBuffering.first = end;
869869
}
870-
if (partBuffering && partBuffering.first === 0) {
870+
if (partBuffering?.first === 0) {
871871
partBuffering.first = end;
872872
}
873873

@@ -1086,7 +1086,7 @@ transfer tracks: ${stringify(transferredTracks, (key, value) => (key === 'initSe
10861086
this.blockUntilOpen(() => {
10871087
this.tracksEnded();
10881088
const { mediaSource } = this;
1089-
if (!mediaSource || mediaSource.readyState !== 'open') {
1089+
if (mediaSource?.readyState !== 'open') {
10901090
if (mediaSource) {
10911091
this.log(
10921092
`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${mediaSource.readyState}`,
@@ -1342,7 +1342,7 @@ transfer tracks: ${stringify(transferredTracks, (key, value) => (key === 'initSe
13421342
end?: number;
13431343
}) {
13441344
const mediaSource = this.mediaSource;
1345-
if (!this.media || !mediaSource || mediaSource.readyState !== 'open') {
1345+
if (!mediaSource || !this.media || mediaSource.readyState !== 'open') {
13461346
return;
13471347
}
13481348
if (mediaSource.duration !== duration) {

src/controller/fragment-finders.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,7 @@ function fragmentWithinFastStartSwitch(
113113
nextFragLookupTolerance: number,
114114
): boolean {
115115
if (
116-
fragPrevious &&
117-
fragPrevious.start === 0 &&
116+
fragPrevious?.start === 0 &&
118117
fragPrevious.level < fragNext.level &&
119118
(fragPrevious.endPTS || 0) > 0
120119
) {

src/controller/interstitials-controller.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2533,7 +2533,7 @@ Schedule: ${scheduleItems.map((seg) => segmentToString(seg))} pos: ${this.timeli
25332533
const playingAsset = this.playingAsset;
25342534
this.endedAsset = null;
25352535
this.playingAsset = assetItem;
2536-
if (!playingAsset || playingAsset.identifier !== assetId) {
2536+
if (playingAsset?.identifier !== assetId) {
25372537
if (playingAsset) {
25382538
// Exiting another Interstitial asset
25392539
this.clearAssetPlayer(
@@ -2725,11 +2725,10 @@ Schedule: ${scheduleItems.map((seg) => segmentToString(seg))} pos: ${this.timeli
27252725
this.updateSchedule(true);
27262726
if (interstitial.error) {
27272727
this.primaryFallback(interstitial);
2728-
} else if (playingAsset && playingAsset.identifier === assetId) {
2728+
} else if (playingAsset?.identifier === assetId) {
27292729
this.advanceAfterAssetEnded(interstitial, scheduleIndex, assetListIndex);
27302730
} else if (
2731-
bufferingAsset &&
2732-
bufferingAsset.identifier === assetId &&
2731+
bufferingAsset?.identifier === assetId &&
27332732
this.isInterstitial(this.bufferingItem)
27342733
) {
27352734
this.advanceAssetBuffering(this.bufferingItem, bufferingAsset);

src/controller/stream-controller.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1627,7 +1627,10 @@ export default class StreamController
16271627
) {
16281628
this.fragPlaying = fragPlayingCurrent;
16291629
this.hls.trigger(Events.FRAG_CHANGED, { frag: fragPlayingCurrent });
1630-
if (!fragPlaying || fragPlaying.level !== fragCurrentLevel) {
1630+
if (
1631+
!fragPlaying ||
1632+
fragPlaying.level !== (fragCurrentLevel as number | undefined)
1633+
) {
16311634
this.hls.trigger(Events.LEVEL_SWITCHED, {
16321635
level: fragCurrentLevel,
16331636
});

0 commit comments

Comments
 (0)