-
Notifications
You must be signed in to change notification settings - Fork 6
/
snippets.js
33 lines (25 loc) · 912 Bytes
/
snippets.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
const gemoji = require('gemoji');
const uuidv4 = require('uuid/v4');
const otherSnippets = require('./otherSnippetsAndEmojis.js');
module.exports = function () {
let snippets = [];
Object.keys(gemoji.name).forEach((emojiName) => {
let emoji = gemoji.name[emojiName];
let uuid = uuidv4();
// Build JSON used by Alfred
let snippetContent = {
alfredsnippet: {
snippet: emoji.emoji,
uid: uuid,
name: `${emoji.emoji} :${emoji.name}:`,
keyword: `:${emoji.name}:`
}
};
snippets.push(snippetContent);
});
otherSnippets.forEach(snippet => snippets.push(snippet));
// Remove Duplicate Snippets
return snippets.filter((obj, pos, arr) => {
return arr.map(mapObj => mapObj.alfredsnippet.snippet).indexOf(obj.alfredsnippet.snippet) === pos;
})
}