export default class AudioTrack { constructor(track, userToken) { this.index = track.index || 0 this.startOffset = track.startOffset || 0 // Total time of all previous tracks this.duration = track.duration || 0 this.title = track.title || '' this.contentUrl = track.contentUrl || null this.mimeType = track.mimeType this.metadata = track.metadata || {} this.userToken = userToken } get fullContentUrl() { if (!this.contentUrl || this.contentUrl.startsWith('http')) return this.contentUrl if (process.env.NODE_ENV === 'development') { return `${process.env.serverUrl}${this.contentUrl}?token=${this.userToken}` } return `${window.location.origin}${this.contentUrl}?token=${this.userToken}` } get relativeContentUrl() { if (!this.contentUrl || this.contentUrl.startsWith('http')) return this.contentUrl if (process.env.NODE_ENV === 'development') { return `${process.env.serverUrl}${this.contentUrl}?token=${this.userToken}` } return this.contentUrl + `?token=${this.userToken}` } }