{"version":3,"file":"7-C8r9yxLf.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/match/_id_/_homeoraway_/passes/_page.server.js","../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["import { readFile } from \"fs/promises\";\nimport \"path\";\nfunction makeMatrix(data, home_lineup, away_lineup) {\n  var playerRoles = {};\n  const playerIds = /* @__PURE__ */ new Set();\n  for (const eventId in data) {\n    const event = data[eventId];\n    if (home_lineup[event.from] == void 0)\n      playerRoles[event.from] = (home_lineup[event.from] ?? {}).role || (away_lineup[event.from] ?? {}).role;\n    playerRoles[event.to] = (home_lineup[event.to] ?? {}).role || (away_lineup[event.to] ?? {}).role;\n    playerIds.add(event.from);\n    playerIds.add(event.to);\n  }\n  const playerArray = Array.from(playerIds);\n  const matrix = Array.from(\n    { length: playerIds.size },\n    () => Array(playerIds.size).fill(0)\n  );\n  for (const eventId in data) {\n    const event = data[eventId];\n    const fromIndex = playerArray.indexOf(event.from);\n    const toIndex = playerArray.indexOf(event.to);\n    matrix[fromIndex][toIndex]++;\n  }\n  return [matrix, Array.from(playerIds), playerRoles];\n}\nfunction calculateTotals(matrix) {\n  const rowCount = matrix?.length ?? 0;\n  const colCount = matrix[0]?.length ?? 0;\n  const rowTotals = new Array(rowCount).fill(0);\n  const colTotals = new Array(colCount).fill(0);\n  for (let i = 0; i < rowCount; i++) {\n    for (let j = 0; j < colCount; j++) {\n      rowTotals[i] += matrix[i][j];\n      colTotals[j] += matrix[i][j];\n    }\n  }\n  return { rowTotals, colTotals };\n}\nconst orderRole = {\n  undefined: 99,\n  goalkeeper: 0,\n  defender: 1,\n  midfielder: 2,\n  forward: 3\n};\nfunction sortMatrix(matrix, rowTotals, colTotals, colNames, rowNames, playerRoles) {\n  const rowCount = matrix?.length ?? 0;\n  const colCount = matrix[0]?.length ?? 0;\n  const colIndices = Array.from({ length: colCount }, (_, i) => i);\n  colIndices.sort(\n    (a, b) => playerRoles[colNames[b]] == playerRoles[colNames[a]] ? colTotals[b] - colTotals[a] : orderRole[playerRoles[colNames[a]]] - orderRole[playerRoles[colNames[b]]]\n  );\n  const sortedMatrix = [];\n  for (let i = 0; i < rowCount; i++) {\n    const newRow = colIndices.map((colIndex) => matrix[i][colIndex]);\n    sortedMatrix.push(newRow);\n  }\n  const rowIndices = colIndices;\n  const finalMatrix = [];\n  for (let i = 0; i < rowCount; i++) {\n    finalMatrix.push(sortedMatrix[rowIndices[i]]);\n  }\n  return {\n    newmatrix: finalMatrix,\n    newcolNames: colNames.map((v, i, l) => colNames[colIndices[i]]),\n    newrowNames: rowNames.map((v, i, l) => rowNames[rowIndices[i]])\n  };\n}\nconst passMatrixBuild = (data, team) => {\n  const dt = makeMatrix(\n    Object.values(data.events ?? {}).filter(\n      (v, i, l) => (v.type = \"pass\") && v.fromTeam == v.toTeam && v.toTeam == team\n      // \"home\"\n    ),\n    (team == \"home\" ? data.home_lineup : data.away_lineup) ?? {},\n    (team == \"home\" ? data.away_lineup : data.home_lineup) ?? {}\n  );\n  const matrix = dt[0];\n  const colNames = Array.from(dt[1]);\n  const rowNames = Array.from(dt[1]);\n  const playerRoles = dt[2];\n  const { rowTotals, colTotals } = calculateTotals(matrix);\n  let { newmatrix, newcolNames, newrowNames } = sortMatrix(\n    matrix,\n    rowTotals,\n    colTotals,\n    colNames,\n    rowNames,\n    playerRoles\n  );\n  colNames.sort(\n    (a, b) => colTotals[colNames.indexOf(b)] - colTotals[colNames.indexOf(a)]\n  );\n  rowNames.sort(\n    (a, b) => rowTotals[rowNames.indexOf(b)] - rowTotals[rowNames.indexOf(a)]\n  );\n  return {\n    passes: newmatrix,\n    // lineup: colNames,\n    lineup: newcolNames,\n    // rowNames: rowNames,\n    rowNames: newrowNames,\n    colNames: newcolNames,\n    playerRoles\n  };\n};\nconst prerender = false;\nconst filePath = \"src/_games.json\";\nconst eventsFor = (event, playerid, events) => Object.values(events ?? {})?.filter(\n  (v, i, l) => v.type == event && (v.to == playerid || v.from == playerid || v.fromTeam == playerid)\n  // ||\n  // v.toTeam == playerid\n);\nasync function load({ fetch, params }) {\n  const homeoraway = params.homeoraway == \"home\";\n  const data = JSON.parse(await readFile(filePath, \"utf8\"))[params.id];\n  const homepasses = passMatrixBuild(data, \"home\");\n  const awaypasses = passMatrixBuild(data, \"away\");\n  const homelineup_ = JSON.parse(await readFile(filePath, \"utf8\"))[\n    // (await read(\"/\" + path.resolve(\"./\") + \"/\" + filePath).json())\n    params.id\n  ]?.home_lineup ?? // (await read(filePath).json())[params.id]?.home_lineup ??\n  await (await fetch(\n    `https://ugpl-ce55b-default-rtdb.europe-west1.firebasedatabase.app/games/${params.id || \"\"}/home_lineup.json`\n  )).json();\n  const awaylineup_ = JSON.parse(await readFile(filePath, \"utf8\"))[\n    // (await read(\"/\" + path.resolve(\"./\") + \"/\" + filePath).json())\n    params.id\n  ]?.away_lineup ?? // (await read(filePath).json())[params.id]?.away_lineup ??\n  await (await fetch(\n    `https://ugpl-ce55b-default-rtdb.europe-west1.firebasedatabase.app/games/${params.id || \"\"}/away_lineup.json`\n  )).json() ?? {};\n  const homelineup = homeoraway ? homelineup_ : awaylineup_;\n  const awaylineup = homeoraway ? awaylineup_ : homelineup_;\n  const events = JSON.parse(await readFile(filePath, \"utf8\"))[\n    // (await read(\"/\" + path.resolve(\"./\") + \"/\" + filePath).json())\n    params.id\n  ]?.events ?? // (await read(filePath).json())[params.id]?.events ??\n  await (await fetch(\n    `https://ugpl-ce55b-default-rtdb.europe-west1.firebasedatabase.app/games/${params.id || \"\"}/events.json`\n  )).json();\n  const homeplayerstats = Object.keys(\n    homelineup ?? {}\n  ).map((playerid, i, l) => {\n    return {\n      // profile\n      ...homelineup[playerid],\n      id: playerid,\n      name: homelineup[playerid]?.name,\n      passes: (\n        // ?.filter(\n        //   (v, i, l) => v.from == playerid\n        // )\n        eventsFor(\"pass\", playerid, events)?.length\n      ),\n      lostballs: eventsFor(\"lost-ball\", playerid, events)?.filter(\n        (v, i2, l2) => v.from == playerid && awaylineup[v.to]?.role != \"goalkeeper\"\n      )?.length + eventsFor(\"pass\", playerid, events)?.filter(\n        (v, i2, l2) => v.from == playerid && awaylineup[v.to] != void 0 && awaylineup[v.to]?.role != \"goalkeeper\"\n      )?.length,\n      tackles: eventsFor(\"lost-ball\", playerid, events)?.filter(\n        (v, i2, l2) => v.to == playerid\n      )?.length + eventsFor(\"pass\", playerid, events)?.filter(\n        (v, i2, l2) => v.to == playerid && awaylineup[v.from] != void 0\n      )?.length\n    };\n  });\n  return {\n    id: params.id,\n    homeplayerstats: homeplayerstats.filter((v, i, l) => v.passes > 0),\n    // passes: dt[0],\n    // lineup: Array.from(dt[1]),\n    // passes: matrix,\n    passes: homeoraway ? homepasses.passes : awaypasses.passes,\n    // lineup: colNames,\n    lineup: homeoraway ? homepasses.lineup : awaypasses.lineup,\n    // rowNames: rowNames,\n    rowNames: homeoraway ? homepasses.rowNames : awaypasses.rowNames,\n    colNames: homeoraway ? homepasses.colNames : awaypasses.colNames,\n    playerRoles: homeoraway ? homepasses.playerRoles : awaypasses.playerRoles,\n    //dt[2],\n    // passes: homepasses.passes,\n    // // lineup: colNames,\n    // lineup: homepasses.lineup,\n    // // rowNames: rowNames,\n    // rowNames: homepasses.rowNames,\n    // colNames: homepasses.colNames,\n    // playerRoles: homepasses.playerRoles, //dt[2],\n    homepasses: homeoraway ? homepasses : awaypasses,\n    awaypasses: homeoraway ? awaypasses : homeoraway\n  };\n}\nexport {\n  load,\n  prerender\n};\n","import * as server from '../entries/pages/match/_id_/_homeoraway_/passes/_page.server.js';\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/match/_id_/_homeoraway_/passes/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/match/[id]/[homeoraway]/passes/+page.server.js\";\nexport const imports = [\"_app/immutable/nodes/7.J2_5CIOa.js\",\"_app/immutable/chunks/scheduler.XyTI1WgU.js\",\"_app/immutable/chunks/index.HYtw-Ape.js\",\"_app/immutable/chunks/transform.jx0PEwp_.js\",\"_app/immutable/chunks/ribbon.OUnpp3PX.js\",\"_app/immutable/chunks/DownloadButton.g7TS8ZMi.js\"];\nexport const stylesheets = [\"_app/immutable/assets/7.8gMzPQ4B.css\",\"_app/immutable/assets/DownloadButton.kiusxNa0.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}