UNPKG

gitmojo

Version:

Commit messages enhanced with emojis

28 lines (22 loc) 843 B
const path = require('path'); const fse = require('fs-extra'); const { CWD, GITMOJO_FILE } = require('./_constants'); function reduceAliasesToEmojis(emojiName) { return function reduce(acc, alias) { return { ...acc, [alias]: emojiName }; }; } function reduceTagsToEmojiName(acc, { alias, emojiName, tag }) { const obj = { [tag]: emojiName, [emojiName]: emojiName }; const next = (alias || []).reduce(reduceAliasesToEmojis(emojiName), obj); return { ...acc, ...next }; } function getCurrentProjectEmojis() { const emojisfile = path.join(CWD, GITMOJO_FILE); const emojisFileExists = fse.pathExistsSync(emojisfile); if (!emojisFileExists) return null; const emojis = fse.readJsonSync(emojisfile); const reduced = emojis.reduce(reduceTagsToEmojiName, {}); return reduced; } module.exports = getCurrentProjectEmojis;