fix strange memory debuging issue

This commit is contained in:
Nicolas Constant 2019-06-01 14:05:03 -04:00
parent 877f142238
commit 5ed1e562e4
No known key found for this signature in database
GPG Key ID: 1E9F677FB01A5688
3 changed files with 40 additions and 11 deletions

12
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "sengi",
"version": "0.9.0",
"version": "0.9.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -3892,6 +3892,11 @@
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
},
"emojione": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/emojione/-/emojione-4.5.0.tgz",
"integrity": "sha512-Tq55Y3UgPOnayFDN+Qd6QMP0rpoH10a1nhSFN27s8gXW3qymgFIHiXys2ECYYAI134BafmI3qP9ni2rZOe9BjA=="
},
"emojis-list": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
@ -6322,11 +6327,6 @@
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
"ionicons": {
"version": "4.5.5",
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-4.5.5.tgz",
"integrity": "sha512-dIGI73XG6Fg2Ps77ry5Ywe36Pq7wUGkDkl0pBhC4uhsiyoW+oXe+pplmarXEnKEcB5fmlkRrBOxYYzZaoRiUGw=="
},
"ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",

View File

@ -15,6 +15,7 @@
"scripts": {
"ng": "ng",
"start": "ng serve",
"start-mem": "node --max_old_space_size=5048 ./node_modules/@angular/cli/bin/ng serve",
"build": "ng build --prod",
"test": "ng test",
"test-nowatch": "ng test --watch=false",
@ -45,6 +46,7 @@
"bootstrap": "^4.1.3",
"core-js": "^2.5.4",
"ionicons": "^4.4.3",
"emojione": "~4.5.0",
"rxjs": "^6.4.0",
"tslib": "^1.9.0",
"zone.js": "^0.8.29"

View File

@ -1,8 +1,9 @@
import { Emoji } from "../services/models/mastodon.interfaces";
import { EmojiOne } from "./emoji-one";
// import { EmojiOne } from "./emoji-one";
import * as EmojiOne from 'emojione';
export class EmojiConverter {
private emojiOne = new EmojiOne();
// private emojiOne = new EmojiOne();
applyEmojis(emojis: Emoji[], text: string, type: EmojiTypeEnum): string {
if (!text) return text;
@ -14,12 +15,38 @@ export class EmojiConverter {
if (emojis) {
emojis.forEach(emoji => {
text = this.replaceAll(text, `:${emoji.shortcode}:`, `<img class="${className}" src="${emoji.url}" title=":${
emoji.shortcode }:" alt=":${emoji.shortcode}:" />`)
try {
text = this.replaceAll(text, `:${emoji.shortcode}:`, `<img class="${className}" src="${emoji.url}" title=":${
emoji.shortcode}:" alt=":${emoji.shortcode}:" />`);
} catch (err) {}
});
}
text = this.emojiOne.toImage(text, className);
text = this.applyEmojiOne(className, text);
// try {
// text = this.emojiOne.toImage(text, className);
// } catch (err) {}
return text;
}
private applyEmojiOne(className: string, text: string): string{
text = EmojiOne.toImage(text);
while (text.includes('class="emojione"')) {
text = text.replace('class="emojione"', `class="emojione ${className}"`);
}
while (
text.includes("https://cdn.jsdelivr.net/emojione/assets/4.5/png/32/")
) {
text = text.replace(
"https://cdn.jsdelivr.net/emojione/assets/4.5/png/32/",
"assets/emoji/72x72/"
);
// text = text.replace('.png', '.svg');
}
return text;
}