index.js 1019 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import components from './components'
  2. function normalize (item, type) {
  3. return item ? String(item).replace(/\s+/g, ' ').trim() : null
  4. }
  5. /** Class representing a player */
  6. class MatchClass {
  7. /**
  8. * Create a player
  9. * A player data item in the Swisstennis PlayerList.xlsx file has the following columns
  10. * Ort | Datum | Zeit | Konkurrenz | Spieler 1 | Spieler 1 Klassierung | Spieler 2 | Spieler 2 Klassierung
  11. */
  12. constructor (data) {
  13. this.Ort = normalize(data[0])
  14. this.Datum = data[1]
  15. this.Konkurrenz = normalize(data[3])
  16. this.Spieler1 = normalize(data[4])
  17. this.Spieler1Klassierung = normalize(data[5])
  18. this.Spieler2 = normalize(data[6])
  19. this.Spieler2Klassierung = normalize(data[7])
  20. this.Resultat = data[8] ? normalize(data[8]) : null
  21. }
  22. isDoubles () {
  23. return this.Konkurrenz.match(/DM.*|[MW]D.*/)
  24. }
  25. }
  26. const state = {
  27. matches: [],
  28. filtered: [],
  29. places: [],
  30. dates: [],
  31. categories: [],
  32. filters: {}
  33. }
  34. export default { MatchClass, components, state }