AnasSarkiz/ble-pedometer

This code defines and configures various electronic hardware components such as surface-mount resistors, crystals, diodes, transistors, connectors, and switches with their physical footprints, schematic symbols, and 3D CAD models for PCB assembly.

Version
1.0.7
License
unset
Stars
0

lib/resolve-assembly-part.ts

import type { SourceComponentBase } from "circuit-json"
import { assemblyParts } from "../assembly-parts"

export async function resolveAssemblyPart({ source_component }: { source_component: SourceComponentBase }) {
  const part = assemblyParts.find(part => part.mpn === source_component.manufacturer_part_number)
  if (!part || source_component.supplier_part_numbers?.jlcpcb?.[0] !== part.jlcpcb) {
    throw new Error(`Unverified MPN/supplier pairing: ${source_component.name}`)
  }
  return { footprint: part.footprint }
}