tscircuit/autorouting-dataset-01
This code manages the hardware and electronic components for circuit design and PCB layout, defining components like resistors, capacitors, transistors, connectors, and footprints, and providing tools for component placement, PCB topology, and electrical connections.
- Version
- 1.0.102
- License
- unset
- Stars
- 4
scripts/run-benchmark/loadScenarioList.ts
import { readdir, readFile } from "node:fs/promises"
import path from "node:path"
import type { Scenario } from "types/run-benchmark/Scenario"
import type { SimpleRouteJson } from "types/run-benchmark/SimpleRouteJson"
const loadScenarioList = async (inputs: {
datasetDirectory: string
scenarioCountLimit: number | null
}): Promise<Scenario[]> => {
const { datasetDirectory, scenarioCountLimit } = inputs
const datasetFileList = (await readdir(datasetDirectory))
.filter((fileName) => fileName.endsWith(".simple-route.json"))
.sort()
const limitedFileList =
scenarioCountLimit === null
? datasetFileList
: datasetFileList.slice(0, scenarioCountLimit)
if (limitedFileList.length === 0) {
return []
}
const scenarioList: Scenario[] = []
for (const fileName of limitedFileList) {
const scenarioName = fileName.replace(".simple-route.json", "")
const simpleRouteJsonPath = path.join(datasetDirectory, fileName)
const simpleRouteJsonText = await readFile(simpleRouteJsonPath, "utf8")
const simpleRouteJson = JSON.parse(simpleRouteJsonText) as SimpleRouteJson
scenarioList.push({ scenarioName, simpleRouteJsonPath, simpleRouteJson })
}
return scenarioList
}
export { loadScenarioList }