Enable strict mode for extension build

This commit is contained in:
hensm
2020-01-23 00:58:33 +00:00
parent 3553912584
commit 7f84b90431
59 changed files with 526 additions and 331 deletions

View File

@@ -4,7 +4,7 @@ export default class EditTracksInfoRequest {
public requestId = 0;
constructor (
public activeTrackIds: number[] = null
, public textTrackStyle: string = null) {
public activeTrackIds: (number[] | null) = null
, public textTrackStyle: (string | null) = null) {
}
}

View File

@@ -6,11 +6,11 @@ import { MetadataType } from "../enums";
export default class GenericMediaMetadata {
public images: Image[] = undefined;
public images: (Image[] | undefined) = undefined;
public metadataType: number = MetadataType.GENERIC;
public releaseDate: string = undefined;
public releaseYear: number = undefined;
public subtitle: string = undefined;
public title: string = undefined;
public releaseDate: (string | undefined) = undefined;
public releaseYear: (number | undefined) = undefined;
public subtitle: (string | undefined) = undefined;
public title: (string | undefined) = undefined;
public type: number = MetadataType.GENERIC;
}

View File

@@ -4,13 +4,13 @@ import MediaInfo from "./MediaInfo";
export default class LoadRequest {
public activeTrackIds: number[] = null;
public autoplay: boolean = true;
public currentTime: number = null;
public activeTrackIds: (number[] | null) = null;
public autoplay: (boolean | null) = true;
public currentTime: (number | null) = null;
public customData: any = null;
public media: MediaInfo;
public requestId: number = 0;
public sessionId: string = null;
public sessionId: (string | null) = null;
public type: string = "LOAD";
constructor (mediaInfo: MediaInfo) {

View File

@@ -40,17 +40,17 @@ const _lastCurrentTime = new WeakMap<Media, number>();
export default class Media {
public activeTrackIds: number[] = null;
public currentItemId: number = null;
public activeTrackIds: (number[] | null) = null;
public currentItemId: (number | null) = null;
public customData: any = null;
public currentTime: number = 0;
public idleReason: string = null;
public items: QueueItem[] = null;
public loadingItemId: number = null;
public media: MediaInfo = null;
public idleReason: (string | null) = null;
public items: (QueueItem[] | null) = null;
public loadingItemId: (number | null) = null;
public media: (MediaInfo | null) = null;
public playbackRate: number = 1;
public playerState: string = PlayerState.IDLE;
public preloadedItemId: number = null;
public preloadedItemId: (number | null) = null;
public repeatMode: string = RepeatMode.OFF;
public supportedMediaCommands: string[] = [];
public volume: Volume = new Volume();
@@ -66,8 +66,6 @@ export default class Media {
_updateListeners.set(this, new Set());
_sendMediaMessageCallbacks.set(this, new Map());
_lastCurrentTime.set(this, undefined);
sendMessageResponse({
subject: "bridge:/media/initialize"
@@ -109,19 +107,23 @@ export default class Media {
}
// Call update listeners
for (const listener of _updateListeners.get(this)) {
listener(true);
const updateListeners = _updateListeners.get(this);
if (updateListeners) {
for (const listener of updateListeners) {
listener(true);
}
}
break;
}
case "shim:/media/sendMediaMessageResponse": {
const { messageId, error } = message.data;
const { messageId, error }
: { messageId: string, error: any } = message.data;
const [ successCallback, errorCallback ]
= _sendMediaMessageCallbacks
.get(this)
.get(messageId);
.get(this)?.get(messageId) ?? [];
if (error && errorCallback) {
errorCallback(new _Error(ErrorCode.SESSION_ERROR));
@@ -137,7 +139,7 @@ export default class Media {
}
public addUpdateListener (listener: UpdateListener): void {
_updateListeners.get(this).add(listener);
_updateListeners.get(this)?.add(listener);
}
public editTracksInfo (
@@ -149,12 +151,13 @@ export default class Media {
}
public getEstimatedTime (): number {
if (!this.currentTime) {
const lastTime = _lastCurrentTime.get(this);
if (this.currentTime === undefined || lastTime === undefined) {
return 0;
}
return this.currentTime
+ ((Date.now() / 1000) - _lastCurrentTime.get(this));
return this.currentTime + ((Date.now() / 1000) - lastTime);
}
public getStatus (
@@ -167,7 +170,7 @@ export default class Media {
}
public pause (
_pauseRequest: PauseRequest
_pauseRequest?: PauseRequest
, successCallback?: SuccessCallback
, errorCallback?: ErrorCallback): void {
@@ -254,7 +257,7 @@ export default class Media {
}
public removeUpdateListener (listener: UpdateListener) {
_updateListeners.get(this).delete(listener);
_updateListeners.get(this)?.delete(listener);
}
public seek (
@@ -307,7 +310,7 @@ export default class Media {
const messageId = uuid();
_sendMediaMessageCallbacks.get(this).set(messageId, [
_sendMediaMessageCallbacks.get(this)?.set(messageId, [
successCallback
, errorCallback
]);

View File

@@ -20,12 +20,12 @@ type Metadata =
| TvShowMediaMetadata;
export default class MediaInfo {
public customData: string = null;
public duration: number = null;
public metadata: Metadata = null;
public customData: any = null;
public duration: (number | null) = null;
public metadata: (Metadata | null) = null;
public streamType: string = StreamType.BUFFERED;
public textTrackStyle: TextTrackStyle = null;
public tracks: Track[] = null;
public textTrackStyle: (TextTrackStyle | null) = null;
public tracks: (Track[] | null) = null;
constructor (
public contentId: string

View File

@@ -6,12 +6,12 @@ import { MetadataType } from "../enums";
export default class MovieMediaMetadata {
public images: Image[] = undefined;
public images: (Image[] | undefined) = undefined;
public metadataType: number = MetadataType.MOVIE;
public releaseDate: string = undefined;
public releaseYear: number = undefined;
public studio: string = undefined;
public subtitle: string = undefined;
public title: string = undefined;
public releaseDate: (string | undefined) = undefined;
public releaseYear: (number | undefined) = undefined;
public studio: (string | undefined) = undefined;
public subtitle: (string | undefined) = undefined;
public title: (string | undefined) = undefined;
public type: number = MetadataType.MOVIE;
}

View File

@@ -6,18 +6,18 @@ import { MetadataType } from "../enums";
export default class MusicTrackMediaMetadata {
public albumArtist: string = undefined;
public albumName: string = undefined;
public artist: string = undefined;
public artistName: string = undefined;
public composer: string = undefined;
public discNumber: number = undefined;
public images: Image[] = undefined;
public albumArtist: (string | undefined) = undefined;
public albumName: (string | undefined) = undefined;
public artist: (string | undefined) = undefined;
public artistName: (string | undefined) = undefined;
public composer: (string | undefined) = undefined;
public discNumber: (number | undefined) = undefined;
public images: (Image[] | undefined) = undefined;
public metadataType: number = MetadataType.MUSIC_TRACK;
public releaseDate: string = undefined;
public releaseYear: number = undefined;
public songName: string = undefined;
public title: string = undefined;
public trackNumber: number = undefined;
public releaseDate: (string | undefined) = undefined;
public releaseYear: (number | undefined) = undefined;
public songName: (string | undefined) = undefined;
public title: (string | undefined) = undefined;
public trackNumber: (number | undefined) = undefined;
public type: number = MetadataType.MUSIC_TRACK;
}

View File

@@ -6,15 +6,15 @@ import { MetadataType } from "../enums";
export default class PhotoMediaMetadata {
public artist: string = undefined;
public creationDateTime: string = undefined;
public height: number = undefined;
public images: Image[] = undefined;
public latitude: number = undefined;
public location: string = undefined;
public longitude: number = undefined;
public artist: (string | undefined) = undefined;
public creationDateTime: (string | undefined) = undefined;
public height: (number | undefined) = undefined;
public images: (Image[] | undefined) = undefined;
public latitude: (number | undefined) = undefined;
public location: (string | undefined) = undefined;
public longitude: (number | undefined) = undefined;
public metadataType: number = MetadataType.PHOTO;
public title: string = undefined;
public title: (string | undefined) = undefined;
public type: number = MetadataType.PHOTO;
public width: number = undefined;
public width: (number | undefined) = undefined;
}

View File

@@ -5,9 +5,9 @@ import QueueItem from "./QueueItem";
export default class QueueInsertItemsRequest {
public customData: any = null;
public insertBefore: number = null;
public requestId: number = null;
public sessionId: string = null;
public insertBefore: (number | null) = null;
public requestId: (number | null) = null;
public sessionId: (string | null) = null;
public type: string = "QUEUE_INSERT";
constructor (

View File

@@ -4,12 +4,12 @@ import MediaInfo from "./MediaInfo";
export default class QueueItem {
public activeTrackIds: number[] = null;
public activeTrackIds: (number[] | null) = null;
public autoplay: boolean = true;
public customData: any = null;
public itemId: number = null;
public itemId: (number | null) = null;
public media: MediaInfo;
public playbackDuration: number = null;
public playbackDuration: (number | null) = null;
public preloadTime: number = 0;
public startTime: number = 0;

View File

@@ -8,8 +8,8 @@ import { RepeatMode } from "../enums";
export default class QueueLoadRequest {
public customData: any = null;
public repeatMode: string = RepeatMode.OFF;
public requestId: number = null;
public sessionId: string = null;
public requestId: (number | null) = null;
public sessionId: (string | null) = null;
public startIndex: number = 0;
public type: string = "QUEUE_LOAD";

View File

@@ -2,8 +2,8 @@
export default class QueueRemoveItemsRequest {
public customData: any = null;
public requestId: number = null;
public sessionId: string = null;
public requestId: (number | null) = null;
public sessionId: (string | null) = null;
public type: string = "QUEUE_REMOVE";
constructor (

View File

@@ -2,9 +2,9 @@
export default class QueueReorderItemsRequest {
public customData: any = null;
public insertBefore: number = null;
public requestId: number = null;
public sessionId: string = null;
public insertBefore: (number | null) = null;
public requestId: (number | null) = null;
public sessionId: (string | null) = null;
public type: string = "QUEUE_REORDER";
constructor (

View File

@@ -2,8 +2,8 @@
export default class QueueSetPropertiesRequest {
public customData: any = null;
public repeatMode: string = null;
public requestId: number = null;
public sessionId: string = null;
public repeatMode: (string | null) = null;
public requestId: (number | null) = null;
public sessionId: (string | null) = null;
public type: string = "QUEUE_UPDATE";
}

View File

@@ -5,8 +5,8 @@ import QueueItem from "./QueueItem";
export default class QueueUpdateItemsRequest {
public customData: any = null;
public requestId: number = null;
public sessionId: string = null;
public requestId: (number | null) = null;
public sessionId: (string | null) = null;
public type: string = "QUEUE_UPDATE";
constructor (

View File

@@ -1,7 +1,7 @@
"use strict";
export default class SeekRequest {
public currentTime: number = null;
public currentTime: (number | null) = null;
public customData: any = null;
public resumeState: string = null;
public resumeState: (string | null) = null;
}

View File

@@ -1,16 +1,16 @@
"use strict";
export default class TextTrackStyle {
public backgroundColor: string = null;
public backgroundColor: (string | null) = null;
public customData: any = null;
public edgeColor: string = null;
public edgeType: string = null;
public fontFamily: string = null;
public fontGenericFamily: string = null;
public fontScale: number = null;
public fontStyle: string = null;
public foregroundColor: string = null;
public windowColor: string = null;
public windowRoundedCornerRadius: number = null;
public windowType: string = null;
public edgeColor: (string | null) = null;
public edgeType: (string | null) = null;
public fontFamily: (string | null) = null;
public fontGenericFamily: (string | null) = null;
public fontScale: (number | null) = null;
public fontStyle: (string | null) = null;
public foregroundColor: (string | null) = null;
public windowColor: (string | null) = null;
public windowRoundedCornerRadius: (number | null) = null;
public windowType: (string | null) = null;
}

View File

@@ -2,11 +2,11 @@
export default class Track {
public customData: any = null;
public language: string = null;
public name: string = null;
public subtype: string = null;
public trackContentId: string = null;
public trackContentType: string = null;
public language: (string | null) = null;
public name: (string | null) = null;
public subtype: (string | null) = null;
public trackContentId: (string | null) = null;
public trackContentType: (string | null) = null;
constructor (
public trackId: number

View File

@@ -6,16 +6,16 @@ import { MetadataType } from "../enums";
export default class TvShowMediaMetadata {
public episode: number = undefined;
public episodeNumber: number = undefined;
public episodeTitle: string = undefined;
public images: Image[] = undefined;
public episode: (number | undefined) = undefined;
public episodeNumber: (number | undefined) = undefined;
public episodeTitle: (string | undefined) = undefined;
public images: (Image[] | undefined) = undefined;
public metadataType: number = MetadataType.TV_SHOW;
public originalAirdate: string = undefined;
public releaseYear: number = undefined;
public season: number = undefined;
public seasonNumber: number = undefined;
public seriesTitle: string = undefined;
public title: string = undefined;
public originalAirdate: (string | undefined) = undefined;
public releaseYear: (number | undefined) = undefined;
public season: (number | undefined) = undefined;
public seasonNumber: (number | undefined) = undefined;
public seriesTitle: (string | undefined) = undefined;
public title: (string | undefined) = undefined;
public type: number = MetadataType.TV_SHOW;
}