also serialize to text and method to tell us if we need html for model
parent
2fbe73e658
commit
3abdf6b100
|
@ -1,14 +0,0 @@
|
|||
export function htmlSerialize(model) {
|
||||
return model.parts.reduce((html, part) => {
|
||||
switch (part.type) {
|
||||
case "newline":
|
||||
return html + "<br />";
|
||||
case "plain":
|
||||
case "pill-candidate":
|
||||
return html + part.text;
|
||||
case "room-pill":
|
||||
case "user-pill":
|
||||
return html + `<a href="https://matrix.to/#/${part.resourceId}">${part.text}</a>`;
|
||||
}
|
||||
}, "");
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
export function htmlSerialize(model) {
|
||||
return model.parts.reduce((html, part) => {
|
||||
switch (part.type) {
|
||||
case "newline":
|
||||
return html + "<br />";
|
||||
case "plain":
|
||||
case "pill-candidate":
|
||||
return html + part.text;
|
||||
case "room-pill":
|
||||
case "user-pill":
|
||||
return html + `<a href="https://matrix.to/#/${part.resourceId}">${part.text}</a>`;
|
||||
}
|
||||
}, "");
|
||||
}
|
||||
|
||||
export function textSerialize(model) {
|
||||
return model.parts.reduce((text, part) => {
|
||||
switch (part.type) {
|
||||
case "newline":
|
||||
return text + "\n";
|
||||
case "plain":
|
||||
case "pill-candidate":
|
||||
return text + part.text;
|
||||
case "room-pill":
|
||||
case "user-pill":
|
||||
return text + `${part.resourceId}`;
|
||||
}
|
||||
}, "");
|
||||
}
|
||||
|
||||
export function requiresHtml(model) {
|
||||
return model.parts.some(part => {
|
||||
switch (part.type) {
|
||||
case "newline":
|
||||
case "plain":
|
||||
case "pill-candidate":
|
||||
return false;
|
||||
case "room-pill":
|
||||
case "user-pill":
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
Loading…
Reference in New Issue