Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const table = document.querySelector("table.std_table");
  2. const rows = ( table => {
  3.     const rows = [...table.rows];
  4.     rows.shift();
  5.     return rows;
  6. })(table);
  7.  
  8. const romanToArabic = (numeral) => {
  9.  
  10.     const lowerCaseNumeral = numeral.toLowerCase();
  11.    
  12.     switch(lowerCaseNumeral) {
  13.         case "ix": return 9;
  14.         case "viii": return 8;
  15.         case "vii": return 7;
  16.         case "vi": return 6;
  17.         case "v": return 5;
  18.         case "iv": return 4;
  19.         case "iii": return 3;
  20.         case "ii": return 2;
  21.         case "i": return 1;
  22.         default: throw new Error("WRONG NUMERAL AUGUSTUS!!!");
  23.     }
  24. }
  25.  
  26. const mapData = {
  27.     name(row) {
  28.         return row[0].querySelector("em").innerText;
  29.     },
  30.  
  31.     maxLevel(row) {
  32.         return romanToArabic(row[1].innerText);
  33.     },
  34.  
  35.     id(row) {
  36.         return row[3].innerText;
  37.     }
  38. }
  39.  
  40. const getPartialJson = (name, maxLevel, id) => {
  41.     return `
  42.             "${name}": {
  43.                 "maxLevel": ${maxLevel},
  44.                 "id": ${id}
  45.             }`;
  46. }
  47.  
  48. const getFinalJson = (jsonEnch) => {
  49.     return `
  50.         "enchantments": {
  51.             ${jsonEnch}
  52.         }
  53.     `;
  54. }
  55.  
  56. let partialJson = "";
  57. let finalJson = "";
  58.  
  59.  
  60. rows.forEach( (element, index, array) => {
  61.  
  62.     const columns = [...element.cells];
  63.  
  64.     partialJson += getPartialJson(
  65.         mapData.name(columns),
  66.         mapData.maxLevel(columns),
  67.         mapData.id(columns)
  68.     );
  69.  
  70.     if(index < array.length - 1) {
  71.         partialJson += `,`;
  72.     }
  73.    
  74. });
  75.  
  76. finalJson = getFinalJson(partialJson);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement