define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var currentId=0;function addUniquePlaylistItemId(item){item.PlaylistItemId||(item.PlaylistItemId="playlistItem"+currentId,currentId++)}function PlayQueueManager(){this._playlist=[],this._repeatMode="RepeatNone"}PlayQueueManager.prototype.getPlaylistResult=function(options){options&&(startIndex=options.StartIndex,limit=options.Limit);var startIndex,limit,options=this._playlist,total=options.length,options=options.slice(startIndex||0);return limit&&options.length>limit&&(options.length=limit),{Items:options,TotalRecordCount:total}},PlayQueueManager.prototype.getPlaylist=function(){return this._playlist.slice(0)},PlayQueueManager.prototype.setPlaylist=function(items){for(var i=0,length=(items=items.slice(0)).length;i=playlist.length)throw new Error("newIndex out of bounds");return from=oldIndex,playlist.splice(newIndex,0,playlist.splice(from,1)[0]),this._playlist=playlist,this.refreshPlaylistIndex(),{result:"moved",playlistItemId:playlistItemId,oldIndex:oldIndex,newIndex:newIndex}},PlayQueueManager.prototype.reset=function(){this._playlist=[],this._currentPlaylistItemId=null,this._currentPlaylistIndex=-1,this._repeatMode="RepeatNone"},PlayQueueManager.prototype.setRepeatMode=function(value){this._repeatMode=value},PlayQueueManager.prototype.getRepeatMode=function(){return this._repeatMode},PlayQueueManager.prototype.getNextItemInfo=function(){var newIndex,playlist=this.getPlaylist(),playlistLength=playlist.length;switch(this.getRepeatMode()){case"RepeatOne":newIndex=this.getCurrentPlaylistIndex();break;case"RepeatAll":playlistLength<=(newIndex=this.getCurrentPlaylistIndex()+1)&&(newIndex=0);break;default:newIndex=this.getCurrentPlaylistIndex()+1}return!(newIndex<0||playlistLength<=newIndex)&&(playlist=playlist[newIndex])?{item:playlist,index:newIndex}:null},_exports.default=PlayQueueManager});