Auto eslint fix

This commit is contained in:
James Barnsley
2019-09-05 15:36:11 +12:00
parent 4513a0d109
commit e4d53a2d35
126 changed files with 23283 additions and 23573 deletions

View File

@ -1,101 +1,102 @@
import * as helpers from '../../helpers'
var spotifyActions = require('../../services/spotify/actions')
var mopidyActions = require('../../services/mopidy/actions')
import * as helpers from '../../helpers';
export function getBroadcasts(){
return (dispatch, getState) => {
var config = {
method: 'GET',
timeout: 15000
}
const spotifyActions = require('../../services/spotify/actions');
const mopidyActions = require('../../services/mopidy/actions');
// Fetch the "iris_broadcasts.json" file from Gist (or "_test" for test mode)
if (getState().ui.test_mode){
config.url = 'https://gist.githubusercontent.com/jaedb/cb3a5ee6909632abb2e0fe66d4c8c311/raw'
} else {
config.url = 'https://gist.githubusercontent.com/jaedb/b677dccf80daf3ccb2ef12e96e495677/raw'
}
export function getBroadcasts() {
return (dispatch, getState) => {
const config = {
method: 'GET',
timeout: 15000,
};
$.ajax(config).then(
response => {
dispatch({
type: 'BROADCASTS_LOADED',
broadcasts: JSON.parse(response)
})
},
(xhr, status, error) => {
dispatch(
handleException(
'Could not fetch broadcasts from GitHub',
{
config: config,
xhr: xhr,
status: status,
error: error
},
null,
false
)
);
}
)
// Fetch the "iris_broadcasts.json" file from Gist (or "_test" for test mode)
if (getState().ui.test_mode) {
config.url = 'https://gist.githubusercontent.com/jaedb/cb3a5ee6909632abb2e0fe66d4c8c311/raw';
} else {
config.url = 'https://gist.githubusercontent.com/jaedb/b677dccf80daf3ccb2ef12e96e495677/raw';
}
$.ajax(config).then(
(response) => {
dispatch({
type: 'BROADCASTS_LOADED',
broadcasts: JSON.parse(response),
});
},
(xhr, status, error) => {
dispatch(
handleException(
'Could not fetch broadcasts from GitHub',
{
config,
xhr,
status,
error,
},
null,
false,
),
);
},
);
};
}
export function startSearch(search_type, query, only_mopidy = false){
return {
type: 'SEARCH_STARTED',
search_type: search_type,
query: query,
only_mopidy: only_mopidy
}
export function startSearch(search_type, query, only_mopidy = false) {
return {
type: 'SEARCH_STARTED',
search_type,
query,
only_mopidy,
};
}
export function handleException(message, data = {}, description = null, show_notification = true){
if (!message && data.message){
message = data.message;
} else if (!message && data.error.message){
message = data.error.message;
}
if (!description && data.description){
description = data.description;
} else if (!description && data.error && data.error.description){
description = data.error.description;
}
return {
type: 'HANDLE_EXCEPTION',
message: message,
description: description,
data: data,
show_notification: show_notification
}
export function handleException(message, data = {}, description = null, show_notification = true) {
if (!message && data.message) {
message = data.message;
} else if (!message && data.error.message) {
message = data.error.message;
}
if (!description && data.description) {
description = data.description;
} else if (!description && data.error && data.error.description) {
description = data.error.description;
}
return {
type: 'HANDLE_EXCEPTION',
message,
description,
data,
show_notification,
};
}
export function debugResponse(response){
return {
type: 'DEBUG',
response: response
}
export function debugResponse(response) {
return {
type: 'DEBUG',
response,
};
}
export function set(data){
return {
type: 'CORE_SET',
data: data
}
export function set(data) {
return {
type: 'CORE_SET',
data,
};
}
export function clearCurrentTrack(){
return {
type: 'CLEAR_CURRENT_TRACK'
}
export function clearCurrentTrack() {
return {
type: 'CLEAR_CURRENT_TRACK',
};
}
export function cachebustHttpStream(){
return {
type: 'CACHEBUST_HTTP_STREAM'
}
export function cachebustHttpStream() {
return {
type: 'CACHEBUST_HTTP_STREAM',
};
}
/**
@ -104,54 +105,54 @@ export function cachebustHttpStream(){
* Calling this through the common core enables us to detect whether we've already
* got the record in the state or persistent storage. Failing that, we pass off to the
* relevant service to load the record - all from one neat package.
**/
* */
export function loadTrack(uri, force_reload = false){
return {
type: 'LOAD_TRACK',
uri: uri,
force_reload: force_reload
}
export function loadTrack(uri, force_reload = false) {
return {
type: 'LOAD_TRACK',
uri,
force_reload,
};
}
export function loadAlbum(uri, force_reload = false){
return {
type: 'LOAD_ALBUM',
uri: uri,
force_reload: force_reload
}
export function loadAlbum(uri, force_reload = false) {
return {
type: 'LOAD_ALBUM',
uri,
force_reload,
};
}
export function loadArtist(uri, force_reload = false){
return {
type: 'LOAD_ARTIST',
uri: uri,
force_reload: force_reload
}
export function loadArtist(uri, force_reload = false) {
return {
type: 'LOAD_ARTIST',
uri,
force_reload,
};
}
export function loadPlaylist(uri, force_reload = false){
return {
type: 'LOAD_PLAYLIST',
uri: uri,
force_reload: force_reload
}
export function loadPlaylist(uri, force_reload = false) {
return {
type: 'LOAD_PLAYLIST',
uri,
force_reload,
};
}
export function loadUser(uri, force_reload = false){
return {
type: 'LOAD_USER',
uri: uri,
force_reload: force_reload
}
export function loadUser(uri, force_reload = false) {
return {
type: 'LOAD_USER',
uri,
force_reload,
};
}
export function loadUserPlaylists(uri, force_reload = false){
return {
type: 'LOAD_USER_PLAYLISTS',
uri: uri,
force_reload: force_reload
}
export function loadUserPlaylists(uri, force_reload = false) {
return {
type: 'LOAD_USER_PLAYLISTS',
uri,
force_reload,
};
}
@ -159,225 +160,218 @@ export function loadUserPlaylists(uri, force_reload = false){
* Record loaders
*
* We've got a loaded record, now we just need to plug it in to our state and stores.
**/
* */
export function trackLoaded(track){
return tracksLoaded([track]);
export function trackLoaded(track) {
return tracksLoaded([track]);
}
export function tracksLoaded(tracks){
return {
type: 'TRACKS_LOADED',
tracks: tracks
}
export function tracksLoaded(tracks) {
return {
type: 'TRACKS_LOADED',
tracks,
};
}
export function artistLoaded(artist){
return artistsLoaded([artist]);
export function artistLoaded(artist) {
return artistsLoaded([artist]);
}
export function artistsLoaded(artists){
return {
type: 'ARTISTS_LOADED',
artists: artists
}
export function artistsLoaded(artists) {
return {
type: 'ARTISTS_LOADED',
artists,
};
}
export function albumLoaded(album){
return albumsLoaded([album]);
export function albumLoaded(album) {
return albumsLoaded([album]);
}
export function albumsLoaded(albums){
return {
type: 'ALBUMS_LOADED',
albums: albums
}
export function albumsLoaded(albums) {
return {
type: 'ALBUMS_LOADED',
albums,
};
}
export function playlistLoaded(playlist){
return playlistsLoaded([playlist]);
export function playlistLoaded(playlist) {
return playlistsLoaded([playlist]);
}
export function playlistsLoaded(playlists){
return {
type: 'PLAYLISTS_LOADED',
playlists: playlists
}
export function playlistsLoaded(playlists) {
return {
type: 'PLAYLISTS_LOADED',
playlists,
};
}
export function userLoaded(user){
return usersLoaded([user]);
export function userLoaded(user) {
return usersLoaded([user]);
}
export function usersLoaded(users){
return {
type: 'USERS_LOADED',
users: users
}
export function usersLoaded(users) {
return {
type: 'USERS_LOADED',
users,
};
}
export function userPlaylistsLoaded(uri, playlists, more = null, total = null){
return {
type: 'USER_PLAYLISTS_LOADED',
uri: uri,
playlists: playlists,
more: more,
total: total
}
export function userPlaylistsLoaded(uri, playlists, more = null, total = null) {
return {
type: 'USER_PLAYLISTS_LOADED',
uri,
playlists,
more,
total,
};
}
export function loadedMore(parent_type, parent_key, records_type, records_data){
return {
type: 'LOADED_MORE',
parent_type: parent_type,
parent_key: parent_key,
records_type: records_type,
records_data: records_data
}
export function loadedMore(parent_type, parent_key, records_type, records_data) {
return {
type: 'LOADED_MORE',
parent_type,
parent_key,
records_type,
records_data,
};
}
export function removeFromIndex(index_name, key, new_key = null){
return {
type: 'REMOVE_FROM_INDEX',
index_name: index_name,
key: key,
new_key: new_key
}
export function removeFromIndex(index_name, key, new_key = null) {
return {
type: 'REMOVE_FROM_INDEX',
index_name,
key,
new_key,
};
}
/**
* Playlist manipulation
**/
* */
export function reorderPlaylistTracks(uri, indexes, insert_before, snapshot_id = false){
var range = helpers.createRange(indexes);
switch(helpers.uriSource(uri)){
export function reorderPlaylistTracks(uri, indexes, insert_before, snapshot_id = false) {
const range = helpers.createRange(indexes);
switch (helpers.uriSource(uri)) {
case 'spotify':
return {
type: 'SPOTIFY_REORDER_PLAYLIST_TRACKS',
key: uri,
range_start: range.start,
range_length: range.length,
insert_before,
snapshot_id,
};
case 'spotify':
return {
type: 'SPOTIFY_REORDER_PLAYLIST_TRACKS',
key: uri,
range_start: range.start,
range_length: range.length,
insert_before: insert_before,
snapshot_id: snapshot_id
}
case 'm3u':
return {
type: 'MOPIDY_REORDER_PLAYLIST_TRACKS',
key: uri,
range_start: range.start,
range_length: range.length,
insert_before: insert_before
}
}
case 'm3u':
return {
type: 'MOPIDY_REORDER_PLAYLIST_TRACKS',
key: uri,
range_start: range.start,
range_length: range.length,
insert_before,
};
}
}
export function savePlaylist(uri, name, description = '', is_public = false, is_collaborative = false, image = null){
switch (helpers.uriSource(uri)){
export function savePlaylist(uri, name, description = '', is_public = false, is_collaborative = false, image = null) {
switch (helpers.uriSource(uri)) {
case 'spotify':
return {
type: 'SPOTIFY_SAVE_PLAYLIST',
key: uri,
name,
description: (description == '' ? null : description),
image,
is_public,
is_collaborative,
};
case 'spotify':
return {
type: 'SPOTIFY_SAVE_PLAYLIST',
key: uri,
name: name,
description: (description == '' ? null : description),
image: image,
is_public: is_public,
is_collaborative: is_collaborative
}
case 'm3u':
return {
type: 'MOPIDY_SAVE_PLAYLIST',
key: uri,
name: name
}
}
return false
case 'm3u':
return {
type: 'MOPIDY_SAVE_PLAYLIST',
key: uri,
name,
};
}
return false;
}
export function createPlaylist(scheme, name, description = '', is_public = false, is_collaborative = false){
switch (scheme){
export function createPlaylist(scheme, name, description = '', is_public = false, is_collaborative = false) {
switch (scheme) {
case 'spotify':
if (description == '') {
description = null;
}
return spotifyActions.createPlaylist(name, description, is_public, is_collaborative);
case 'spotify':
if (description == ''){
description = null
}
return spotifyActions.createPlaylist(name, description, is_public, is_collaborative )
default:
return mopidyActions.createPlaylist(name, scheme)
}
return false
default:
return mopidyActions.createPlaylist(name, scheme);
}
return false;
}
export function deletePlaylist(uri){
switch (helpers.uriSource(uri)){
export function deletePlaylist(uri) {
switch (helpers.uriSource(uri)) {
case 'spotify':
return spotifyActions.following(uri, 'DELETE');
case 'spotify':
return spotifyActions.following(uri, 'DELETE')
default:
return mopidyActions.deletePlaylist(uri)
}
return false
default:
return mopidyActions.deletePlaylist(uri);
}
return false;
}
export function removeTracksFromPlaylist(uri, tracks_indexes){
switch(helpers.uriSource(uri )){
export function removeTracksFromPlaylist(uri, tracks_indexes) {
switch (helpers.uriSource(uri)) {
case 'spotify':
return {
type: 'SPOTIFY_REMOVE_PLAYLIST_TRACKS',
key: uri,
tracks_indexes,
};
case 'spotify':
return {
type: 'SPOTIFY_REMOVE_PLAYLIST_TRACKS',
key: uri,
tracks_indexes: tracks_indexes
}
case 'm3u':
return {
type: 'MOPIDY_REMOVE_PLAYLIST_TRACKS',
key: uri,
tracks_indexes: tracks_indexes
}
}
case 'm3u':
return {
type: 'MOPIDY_REMOVE_PLAYLIST_TRACKS',
key: uri,
tracks_indexes,
};
}
}
export function addTracksToPlaylist(uri, tracks_uris){
switch(helpers.uriSource(uri )){
export function addTracksToPlaylist(uri, tracks_uris) {
switch (helpers.uriSource(uri)) {
case 'spotify':
return {
type: 'SPOTIFY_ADD_PLAYLIST_TRACKS',
key: uri,
tracks_uris,
};
case 'spotify':
return {
type: 'SPOTIFY_ADD_PLAYLIST_TRACKS',
key: uri,
tracks_uris: tracks_uris
}
case 'm3u':
return {
type: 'MOPIDY_ADD_PLAYLIST_TRACKS',
key: uri,
tracks_uris: tracks_uris
}
}
case 'm3u':
return {
type: 'MOPIDY_ADD_PLAYLIST_TRACKS',
key: uri,
tracks_uris,
};
}
}
/**
* Asset libraries
**/
* */
export function getLibraryPlaylists(){
return {
type: 'GET_LIBRARY_PLAYLISTS'
}
export function getLibraryPlaylists() {
return {
type: 'GET_LIBRARY_PLAYLISTS',
};
}
export function getLibraryAlbums(){
return {
type: 'GET_LIBRARY_ALBUMS'
}
export function getLibraryAlbums() {
return {
type: 'GET_LIBRARY_ALBUMS',
};
}
export function getLibraryArtists(){
return {
type: 'GET_LIBRARY_ARTISTS'
}
export function getLibraryArtists() {
return {
type: 'GET_LIBRARY_ARTISTS',
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,306 +1,291 @@
import * as helpers from '../../helpers'
import * as helpers from '../../helpers';
export default function reducer(core = {}, action){
switch (action.type){
export default function reducer(core = {}, action) {
switch (action.type) {
case 'CORE_SET':
return { ...core, ...action.data };
case 'CORE_SET':
return Object.assign({}, core, action.data)
case 'CACHEBUST_HTTP_STREAM':
return { ...core, http_streaming_cachebuster: new Date().getTime() };
case 'CACHEBUST_HTTP_STREAM':
return Object.assign({}, core, {http_streaming_cachebuster: new Date().getTime()})
/**
/**
* Current track and tracklist
**/
* */
case 'CURRENT_TRACK_LOADED':
return Object.assign({}, core, {
current_track: action.track,
current_track_uri: action.uri
});
case 'CURRENT_TRACK_LOADED':
return {
...core,
current_track: action.track,
current_track_uri: action.uri,
};
case 'CLEAR_CURRENT_TRACK':
return Object.assign({}, core, {
current_track: null,
current_track_uri: null
});
case 'CLEAR_CURRENT_TRACK':
return {
...core,
current_track: null,
current_track_uri: null,
};
case 'NEXT_TRACK_LOADED':
return Object.assign({}, core, {
next_track_uri: action.uri
});
case 'NEXT_TRACK_LOADED':
return { ...core, next_track_uri: action.uri };
case 'QUEUE_LOADED':
return Object.assign({}, core, {
queue: action.tracks
});
case 'QUEUE_LOADED':
return { ...core, queue: action.tracks };
case 'PUSHER_QUEUE_METADATA':
case 'PUSHER_QUEUE_METADATA_CHANGED':
var tracklist = Object.assign([], core.current_tracklist)
for(var i = 0; i < tracklist.length; i++){
case 'PUSHER_QUEUE_METADATA':
case 'PUSHER_QUEUE_METADATA_CHANGED':
var tracklist = Object.assign([], core.current_tracklist);
for (let i = 0; i < tracklist.length; i++) {
// load our metadata (if we have any for that tlid)
if (action.queue_metadata[`tlid_${tracklist[i].tlid}`] !== undefined) {
tracklist[i] = {
// load our metadata (if we have any for that tlid)
if (action.queue_metadata['tlid_'+tracklist[i].tlid] !== undefined){
tracklist[i] = Object.assign(
{},
tracklist[i],
action.queue_metadata['tlid_'+tracklist[i].tlid],
)
}
}
return Object.assign({}, core, { current_tracklist: tracklist, queue_metadata: action.queue_metadata });
...tracklist[i],
...action.queue_metadata[`tlid_${tracklist[i].tlid}`],
};
}
}
return { ...core, current_tracklist: tracklist, queue_metadata: action.queue_metadata };
case 'PUSHER_RADIO_LOADED':
case 'PUSHER_RADIO_STARTED':
case 'PUSHER_RADIO_CHANGED':
case 'PUSHER_RADIO_STOPPED':
return Object.assign({}, core, { seeds_resolved: false }, { radio: action.radio })
case 'PUSHER_RADIO_LOADED':
case 'PUSHER_RADIO_STARTED':
case 'PUSHER_RADIO_CHANGED':
case 'PUSHER_RADIO_STOPPED':
return { ...core, seeds_resolved: false, radio: action.radio };
case 'RADIO_SEEDS_RESOLVED':
var radio = Object.assign({}, core.radio, { resolved_seeds: action.resolved_seeds })
return Object.assign({}, core, { radio: radio })
case 'RADIO_SEEDS_RESOLVED':
var radio = { ...core.radio, resolved_seeds: action.resolved_seeds };
return { ...core, radio };
/**
/**
* Index updates
* These actions are only ever called by middleware after we've digested one more many assets
* and appended to their relevant index.
**/
* */
case 'TRACKS_LOADED':
var tracks = Object.assign({}, core.tracks);
for (var track of action.tracks){
tracks[track.uri] = track;
}
return Object.assign({}, core, { tracks: tracks });
case 'TRACKS_LOADED':
var tracks = { ...core.tracks };
for (const track of action.tracks) {
tracks[track.uri] = track;
}
return { ...core, tracks };
case 'ALBUMS_LOADED':
var albums = Object.assign({}, core.albums);
for (var album of action.albums){
albums[album.uri] = album;
}
return Object.assign({}, core, { albums: albums });
case 'ALBUMS_LOADED':
var albums = { ...core.albums };
for (const album of action.albums) {
albums[album.uri] = album;
}
return { ...core, albums };
case 'ARTISTS_LOADED':
var artists = Object.assign({}, core.artists);
for (var artist of action.artists){
artists[artist.uri] = artist;
}
return Object.assign({}, core, { artists: artists });
case 'ARTISTS_LOADED':
var artists = { ...core.artists };
for (var artist of action.artists) {
artists[artist.uri] = artist;
}
return { ...core, artists };
case 'PLAYLISTS_LOADED':
var playlists = Object.assign({}, core.playlists);
for (var playlist of action.playlists){
playlists[playlist.uri] = playlist;
}
return Object.assign({}, core, { playlists: playlists });
case 'PLAYLISTS_LOADED':
var playlists = { ...core.playlists };
for (var playlist of action.playlists) {
playlists[playlist.uri] = playlist;
}
return { ...core, playlists };
case 'USERS_LOADED':
var users = Object.assign({}, core.users);
for (var user of action.users){
users[user.uri] = user;
}
return Object.assign({}, core, { users: users });
case 'USERS_LOADED':
var users = { ...core.users };
for (var user of action.users) {
users[user.uri] = user;
}
return { ...core, users };
case 'ARTIST_ALBUMS_LOADED':
var artists = Object.assign({}, core.artists)
var albums_uris = [];
if (artists[action.artist_uri].albums_uris){
albums_uris = artists[action.artist_uri].albums_uris;
}
case 'ARTIST_ALBUMS_LOADED':
var artists = { ...core.artists };
var albums_uris = [];
if (artists[action.artist_uri].albums_uris) {
albums_uris = artists[action.artist_uri].albums_uris;
}
var artist = Object.assign(
{},
artists[action.artist_uri],
{
albums_uris: [...albums_uris, ...action.albums_uris],
albums_more: action.more,
albums_total: action.total
}
)
artists[action.artist_uri] = artist
return Object.assign({}, core, { artists: artists });
var artist = {
...artists[action.artist_uri],
albums_uris: [...albums_uris, ...action.albums_uris],
albums_more: action.more,
albums_total: action.total,
};
artists[action.artist_uri] = artist;
return { ...core, artists };
case 'USER_PLAYLISTS_LOADED':
var users = Object.assign({}, core.users)
var existing_playlists_uris = [];
if (users[action.uri] && users[action.uri].playlists_uris){
case 'USER_PLAYLISTS_LOADED':
var users = { ...core.users };
var existing_playlists_uris = [];
if (users[action.uri] && users[action.uri].playlists_uris) {
existing_playlists_uris = users[action.uri].playlists_uris;
}
}
var playlists_uris = [...existing_playlists_uris, ...helpers.arrayOf('uri',action.playlists)]
var playlists_uris = [...existing_playlists_uris, ...helpers.arrayOf('uri', action.playlists)];
var user = Object.assign(
{},
users[action.uri],
{
playlists_uris: playlists_uris,
playlists_more: action.more,
playlists_total: action.total
}
)
users[action.uri] = user;
return Object.assign({}, core, { users: users });
var user = {
...users[action.uri],
playlists_uris,
playlists_more: action.more,
playlists_total: action.total,
};
users[action.uri] = user;
return { ...core, users };
/**
/**
* Remove an item from an index
**/
* */
case 'REMOVE_FROM_INDEX':
var index = Object.assign({}, core[action.index_name]);
case 'REMOVE_FROM_INDEX':
var index = { ...core[action.index_name] };
// We have a new key to redirect to
if (action.new_key){
// We have a new key to redirect to
if (action.new_key) {
index[action.key] = {
moved_to: action.new_key
}
moved_to: action.new_key,
};
// No redirection, so just a clean delete
} else {
// No redirection, so just a clean delete
} else {
delete index[action.key];
}
}
var updated_core = {};
updated_core[action.index_name] = index;
var updated_core = {};
updated_core[action.index_name] = index;
return Object.assign({}, core, updated_core);
return { ...core, ...updated_core };
/**
/**
* Playlists
**/
* */
case 'PLAYLIST_TRACKS':
var playlists = Object.assign({}, core.playlists)
var playlist = Object.assign({}, playlists[action.key], { tracks_uris: action.tracks_uris })
case 'PLAYLIST_TRACKS':
var playlists = { ...core.playlists };
var playlist = { ...playlists[action.key], tracks_uris: action.tracks_uris };
playlists[action.key] = playlist
return Object.assign({}, core, { playlists: playlists });
playlists[action.key] = playlist;
return { ...core, playlists };
case 'LIBRARY_PLAYLISTS_LOADED':
if (core.library_playlists){
var library_playlists = [...core.library_playlists, ...action.uris]
} else {
var library_playlists = action.uris
}
case 'LIBRARY_PLAYLISTS_LOADED':
if (core.library_playlists) {
var library_playlists = [...core.library_playlists, ...action.uris];
} else {
var library_playlists = action.uris;
}
library_playlists = helpers.removeDuplicates(library_playlists)
library_playlists = helpers.removeDuplicates(library_playlists);
return Object.assign({}, core, {
library_playlists: library_playlists,
library_playlists_started: true
});
return {
...core,
library_playlists,
library_playlists_started: true,
};
/**
/**
* Genres
**/
* */
case 'SPOTIFY_GENRES_LOADED':
return Object.assign({}, core, {genres: action.genres})
case 'SPOTIFY_GENRES_LOADED':
return { ...core, genres: action.genres };
/**
/**
* Search results
**/
* */
case 'SEARCH_STARTED':
return Object.assign({}, core, {
search_results: {
artists_uris: [],
albums_uris: [],
playlists_uris: [],
tracks: [],
}
});
case 'SEARCH_STARTED':
return {
...core,
search_results: {
artists_uris: [],
albums_uris: [],
playlists_uris: [],
tracks: [],
},
};
case 'SEARCH_RESULTS_LOADED':
case 'SEARCH_RESULTS_LOADED':
// artists
if (core.search_results && core.search_results.artists_uris){
var artists_uris = core.search_results.artists_uris
} else {
var artists_uris = []
}
if (action.artists_uris) artists_uris = [...artists_uris, ...action.artists_uris]
// artists
if (core.search_results && core.search_results.artists_uris) {
var { artists_uris } = core.search_results;
} else {
var artists_uris = [];
}
if (action.artists_uris) artists_uris = [...artists_uris, ...action.artists_uris];
// more tracks
if (typeof(action.artists_more) !== 'undefined') var artists_more = action.artists_more
else if (core.search_results && core.search_results.artists_more) var artists_more = core.search_results.artists_more
else var artists_more = null
// more tracks
if (typeof (action.artists_more) !== 'undefined') var { artists_more } = action;
else if (core.search_results && core.search_results.artists_more) var { artists_more } = core.search_results;
else var artists_more = null;
// albums
if (core.search_results && core.search_results.albums_uris){
var albums_uris = core.search_results.albums_uris
} else {
var albums_uris = []
}
if (action.albums_uris) albums_uris = [...albums_uris, ...action.albums_uris]
// albums
if (core.search_results && core.search_results.albums_uris) {
var { albums_uris } = core.search_results;
} else {
var albums_uris = [];
}
if (action.albums_uris) albums_uris = [...albums_uris, ...action.albums_uris];
// more tracks
if (typeof(action.albums_more) !== 'undefined') var albums_more = action.albums_more
else if (core.search_results && core.search_results.albums_more) var albums_more = core.search_results.albums_more
else var albums_more = null
// more tracks
if (typeof (action.albums_more) !== 'undefined') var { albums_more } = action;
else if (core.search_results && core.search_results.albums_more) var { albums_more } = core.search_results;
else var albums_more = null;
// playlists
if (core.search_results && core.search_results.playlists_uris){
var playlists_uris = core.search_results.playlists_uris
} else {
var playlists_uris = []
}
if (action.playlists_uris) playlists_uris = [...playlists_uris, ...action.playlists_uris]
// playlists
if (core.search_results && core.search_results.playlists_uris) {
var { playlists_uris } = core.search_results;
} else {
var playlists_uris = [];
}
if (action.playlists_uris) playlists_uris = [...playlists_uris, ...action.playlists_uris];
// more tracks
if (typeof(action.playlists_more) !== 'undefined') var playlists_more = action.playlists_more
else if (core.search_results && core.search_results.playlists_more) var playlists_more = core.search_results.playlists_more
else var playlists_more = null
// more tracks
if (typeof (action.playlists_more) !== 'undefined') var { playlists_more } = action;
else if (core.search_results && core.search_results.playlists_more) var { playlists_more } = core.search_results;
else var playlists_more = null;
// tracks
if (core.search_results && core.search_results.tracks){
var tracks = core.search_results.tracks
} else {
var tracks = []
}
if (action.tracks) tracks = [...tracks, ...helpers.formatTracks(action.tracks)]
// tracks
if (core.search_results && core.search_results.tracks) {
var { tracks } = core.search_results;
} else {
var tracks = [];
}
if (action.tracks) tracks = [...tracks, ...helpers.formatTracks(action.tracks)];
// more tracks
if (typeof(action.tracks_more) !== 'undefined') var tracks_more = action.tracks_more
else if (core.search_results && core.search_results.tracks_more) var tracks_more = core.search_results.tracks_more
else var tracks_more = null
// more tracks
if (typeof (action.tracks_more) !== 'undefined') var { tracks_more } = action;
else if (core.search_results && core.search_results.tracks_more) var { tracks_more } = core.search_results;
else var tracks_more = null;
return Object.assign({}, core, {
search_results: {
artists_more: artists_more,
artists_uris: helpers.removeDuplicates(artists_uris),
albums_more: albums_more,
albums_uris: helpers.removeDuplicates(albums_uris),
playlists_more: playlists_more,
playlists_uris: helpers.removeDuplicates(playlists_uris),
tracks: tracks,
tracks_more: tracks_more
}
});
return {
...core,
search_results: {
artists_more,
artists_uris: helpers.removeDuplicates(artists_uris),
albums_more,
albums_uris: helpers.removeDuplicates(albums_uris),
playlists_more,
playlists_uris: helpers.removeDuplicates(playlists_uris),
tracks,
tracks_more,
},
};
default:
return core
}
default:
return core;
}
}