Warning: session_start(): open(/var/lib/php/sessions/sess_uqe5545t7op6rlh7mr88rofft9, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
concept Emoji {
S unicode;
S description;
S keywords; // with plus
S posNeg; // positive/negative?
}
cmodule EmojisCRUD > DynCRUD {
start {
dbIndexing(Emoji, 'unicode);
dm_registerAs('emojisCRUD);
}
// API
Emoji addEmoji(S unicode) {
Emoji e = uniq_sync(Emoji, +unicode);
if (empty(e.keywords))
cset(e, keywords := joinWithSpacedPlus(simpleUnicodeEmojiList().get(unicode)));
ret e;
}
S getPosNeg(S unicode) {
ret getString posNeg(conceptWhere(Emoji, +unicode));
}
S getKeywords(S unicode) {
ret getString keywords(conceptWhere(Emoji, +unicode));
}
void setPosNeg(S unicode, S posNeg) {
cset(addEmoji(unicode), +posNeg);
}
LPair emojisWithPosNeg() {
ret map(func(Emoji e) -> PairS { pair(e.unicode, e.posNeg) },
[list(Emoji) | nempty(posNeg)]);
}
}