formatter.js 660 B

123456789101112131415161718192021222324252627
  1. const Entities = require('html-entities').AllHtmlEntities;
  2. const entities = new Entities();
  3. const formatter = class Formatter {
  4. format(result) {
  5. let name = this._decode(result.name);
  6. let coAuthors = result.coAuthors.map(this._decode);
  7. coAuthors.sort(this._alphabeticalSort);
  8. let str = `"${name}" has ${coAuthors.length} coauthors:`;
  9. for (const index in coAuthors) {
  10. str += `\n- ${coAuthors[index]}`;
  11. }
  12. return str;
  13. }
  14. _decode(elt) {
  15. return entities.decode(elt);
  16. }
  17. _alphabeticalSort(a, b) {
  18. return (a > b) ? 1 : -1;
  19. }
  20. };
  21. module.exports = formatter;