Skip to content

Commit

Permalink
feat(project): add chunk collection util
Browse files Browse the repository at this point in the history
  • Loading branch information
RCVZ committed May 6, 2021
1 parent c28a288 commit c2513f5
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions src/utils/collection.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
import type { Playlist } from 'types/playlist';

const getCategoriesFromPlaylist = (playlist: Playlist) =>
playlist.reduce((categories: string[], item) => categories.includes(item.genre) ? categories : categories.concat(item.genre), [])

playlist.reduce(
(categories: string[], item) =>
categories.includes(item.genre)
? categories
: categories.concat(item.genre),
[],
);

const filterPlaylistCategory = (playlist: Playlist, filter: string) => {
if (!filter) return playlist
if (!filter) return playlist;

return playlist.filter(({ genre }) => genre === filter)
return playlist.filter(({ genre }) => genre === filter);
};

}
const chunk = <T>(input: T[], size: number) => {
return input?.reduce((arr: T[][], item, idx: number) => {
return idx % size === 0
? [...arr, [item]]
: [...arr.slice(0, -1), [...arr.slice(-1)[0], item]];
}, []);
};

export { getCategoriesFromPlaylist, filterPlaylistCategory }
export { getCategoriesFromPlaylist, filterPlaylistCategory, chunk };

0 comments on commit c2513f5

Please sign in to comment.