mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
29 lines (21 loc) • 985 B
text/typescript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {Preferences} from '../constants';
import {PreferencesType} from 'types/preferences';
export function getPreferenceKey(category: string, name: string): string {
return `${category}--${name}`;
}
export function getPreferencesByCategory(myPreferences: PreferencesType, category: string): Map<string, any> {
const prefix = `${category}--`;
const preferences = new Map();
Object.keys(myPreferences).forEach((key) => {
if (key.startsWith(prefix)) {
preferences.set(key.substring(prefix.length), myPreferences[key]);
}
});
return preferences;
}
export function isChannelFavorite(myPreferences: PreferencesType, channelId: string): boolean {
const preference = myPreferences[getPreferenceKey(Preferences.CATEGORY_FAVORITE_CHANNEL, channelId)];
return Boolean(preference && preference.value !== 'false');
}