AnasSarkiz/usb-c-pd-brushed-motor

USB-C PD-powered motor controller with protected input, selectable 5/9/12 V buck supply, MCU qualification, PWM H-bridge drive, overvoltage sensing, regenerative energy-dump resistors, and safety interlocks.

Version
0.0.1-a48-cloud-pipeline9-unrouted-c41d79a-305b1e7a
License
unset
Stars
0

scripts/audit-coordinate-serialization.ts

import { readFile, writeFile } from "node:fs/promises"
import { pcb_component, any_circuit_element } from "circuit-json"
import { z } from "zod"
const raw = z
  .array(z.unknown())
  .parse(
    JSON.parse(
      await readFile(
        "dist/tests/coordinate-serialization-probe/circuit.json",
        "utf8",
      ),
    ),
  )
const failures = []
for (const [index, element] of raw.entries()) {
  const header = z.object({ type: z.string() }).parse(element)
  const parsed =
    header.type === "pcb_component"
      ? pcb_component.safeParse(element)
      : any_circuit_element.safeParse(element)
  if (!parsed.success)
    failures.push({ index, element, issues: parsed.error.issues })
}
const report = {
  revision: "A9",
  source: "tests/coordinate-serialization-probe.circuit.tsx",
  inputCoordinates: { pcbX: "2mm", pcbY: "-2mm" },
  status: failures.length ? "blocked: generated schema failure" : "passed",
  failures,
}
await writeFile(
  "evidence/coordinate-serialization-A9.json",
  JSON.stringify(report, null, 2) + "\n",
)
console.log(JSON.stringify(report, null, 2))
if (failures.length) process.exitCode = 1