Files
crr-tools/migration/python_domain_adapter.mjs
T
jfmcarreira 561b6a2da9
App checks / changes (push) Canceled after 0s
App checks / tournament (push) Canceled after 0s
App checks / shifts (push) Canceled after 0s
feat: monorepo migration phase 3
2026-10-07 11:38:43 +01:00

20 lines
1.0 KiB
JavaScript

import { spawnSync } from 'node:child_process';
function call(name, args) {
const result = spawnSync(process.env.TOURNAMENT_PYTHON, [process.env.TOURNAMENT_BRIDGE], {
input: JSON.stringify({ name, args }), encoding: 'utf8', env: process.env,
});
if (result.status !== 0) throw new Error(result.stderr || 'Python bridge failed');
const value = JSON.parse(result.stdout);
if (value.error) throw new RangeError(value.error);
return value.result;
}
export const generateRoundRobinSchedule = (...args) => call('calendar', args);
export const calculateClassification = (...args) => call('classification', args);
export const calculateBracket = (...args) => call('bracket', args);
export const downstreamMatches = (...args) => call('downstream', args);
export const standardBracketSeedOrder = (...args) => call('seed-order', args);
export const buildGroupQualificationPreview = (...args) => call('group-qualification', args);
export const buildOverallQualificationPreview = (...args) => call('overall-qualification', args);