resolve multi player names
							parent
							
								
									7797397764
								
							
						
					
					
						commit
						d10fc8e49a
					
				| 
						 | 
					@ -11,7 +11,7 @@ const VehicleClasses = Object.freeze({
 | 
				
			||||||
  UNKNOWN: 'Unbekannt',
 | 
					  UNKNOWN: 'Unbekannt',
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const playerNameRegex = /^(.*?)\s\(/;
 | 
					const playerNameRegex = /(^|,\s)(.*?)\s\(/g;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const vehicleNameEndRegex = /\s\(\w+:/;
 | 
					const vehicleNameEndRegex = /\s\(\w+:/;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -279,18 +279,27 @@ const getBudgetEntry = (budg, warId, warDate) => {
 | 
				
			||||||
const getPlayerAndFractionFromString = (inputString) => {
 | 
					const getPlayerAndFractionFromString = (inputString) => {
 | 
				
			||||||
  const playerNameRegexMatch = playerNameRegex.exec(inputString);
 | 
					  const playerNameRegexMatch = playerNameRegex.exec(inputString);
 | 
				
			||||||
  const sideMatch = sideRegex.exec(inputString);
 | 
					  const sideMatch = sideRegex.exec(inputString);
 | 
				
			||||||
  // const magazineMatch = magazineRegex.exec(inputString);
 | 
					 | 
				
			||||||
  // const vehicleMatch = vehicleRegex.exec(inputString);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // SINGLE PLAYER NAME
 | 
				
			||||||
  let name;
 | 
					  let name;
 | 
				
			||||||
  if (playerNameRegexMatch && playerNameRegexMatch.length >= 2) {
 | 
					  if (playerNameRegexMatch && playerNameRegexMatch.length >= 2) {
 | 
				
			||||||
    // NAME
 | 
					    // NAME
 | 
				
			||||||
    name = playerNameRegexMatch[1];
 | 
					    name = playerNameRegexMatch[2].trim();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  // ADDITIONAL PLAYER NAMES
 | 
				
			||||||
 | 
					  let additionalPlayerMatch;
 | 
				
			||||||
 | 
					  while ((additionalPlayerMatch = playerNameRegex.exec(inputString)) !== null) {
 | 
				
			||||||
 | 
					    const addPlayer = additionalPlayerMatch[0].replace(/^,\s/, '').replace(/\s\($/, '').trim();
 | 
				
			||||||
 | 
					    if (name instanceof Array) {
 | 
				
			||||||
 | 
					      name.push(addPlayer)
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      name = [name, addPlayer];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // PLAYER FRACTION
 | 
				
			||||||
  let side;
 | 
					  let side;
 | 
				
			||||||
  if (sideMatch && sideMatch.length >= 3) {
 | 
					  if (sideMatch && sideMatch.length >= 3) {
 | 
				
			||||||
    // SIDE
 | 
					 | 
				
			||||||
    side = sideMatch[2];
 | 
					    side = sideMatch[2];
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    const inputArray = inputString.split(WHITESPACE);
 | 
					    const inputArray = inputString.split(WHITESPACE);
 | 
				
			||||||
| 
						 | 
					@ -299,6 +308,9 @@ const getPlayerAndFractionFromString = (inputString) => {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // const magazineMatch = magazineRegex.exec(inputString);
 | 
				
			||||||
 | 
					  // const vehicleMatch = vehicleRegex.exec(inputString);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // if (magazineMatch && magazineMatch.length >= 3) {
 | 
					  // if (magazineMatch && magazineMatch.length >= 3) {
 | 
				
			||||||
  // MAGAZINE
 | 
					  // MAGAZINE
 | 
				
			||||||
  // console.log(magazineMatch[2])
 | 
					  // console.log(magazineMatch[2])
 | 
				
			||||||
| 
						 | 
					@ -320,9 +332,11 @@ const getPlayerAndFractionFromString = (inputString) => {
 | 
				
			||||||
      undefined;
 | 
					      undefined;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  console.log(name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // do not return player for 'Error: No unit'
 | 
					  // do not return player for 'Error: No unit'
 | 
				
			||||||
  if (name && name !== 'Error: No unit') {
 | 
					  if (name && name !== 'Error: No unit') {
 | 
				
			||||||
    return {name: name.trim(), fraction: fraction};
 | 
					    return {name: name, fraction: fraction};
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue