UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

36 lines (35 loc) 1.82 kB
"use strict"; // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.getCustomEmojiIdsSortedByName = exports.getCustomEmojisByName = exports.getCustomEmojisAsMap = exports.getCustomEmojis = exports.getCustomEmojisEnabled = void 0; const create_selector_1 = require("mattermost-redux/selectors/create_selector"); const general_1 = require("mattermost-redux/selectors/entities/general"); const helpers_1 = require("mattermost-redux/utils/helpers"); const getCustomEmojisEnabled = (state) => { return (0, general_1.getConfig)(state)?.EnableCustomEmoji === 'true'; }; exports.getCustomEmojisEnabled = getCustomEmojisEnabled; exports.getCustomEmojis = (0, create_selector_1.createSelector)('getCustomEmojis', exports.getCustomEmojisEnabled, (state) => state.entities.emojis.customEmoji, (customEmojiEnabled, customEmoji) => { if (!customEmojiEnabled) { return {}; } return customEmoji; }); exports.getCustomEmojisAsMap = (0, create_selector_1.createSelector)('getCustomEmojisAsMap', exports.getCustomEmojis, (emojis) => { const map = new Map(); Object.keys(emojis).forEach((key) => { map.set(key, emojis[key]); }); return map; }); exports.getCustomEmojisByName = (0, create_selector_1.createSelector)('getCustomEmojisByName', exports.getCustomEmojis, (emojis) => { const map = new Map(); Object.keys(emojis).forEach((key) => { map.set(emojis[key].name, emojis[key]); }); return map; }); exports.getCustomEmojiIdsSortedByName = (0, helpers_1.createIdsSelector)('getCustomEmojiIdsSortedByName', exports.getCustomEmojis, (emojis) => { return Object.keys(emojis).sort((a, b) => emojis[a].name.localeCompare(emojis[b].name)); });