rushabhcodes/fidget-counter
A tscircuit package created by rushabhcodes.
- Version
- 1.0.31
- License
- unset
- Stars
- 0
validation/passive-substitutions.mjs
// Explicit sourcing substitutions only. Every value, pad, layer, pose, pin
// attribute and CAD origin remains subject to the existing strict comparison.
import assert from 'node:assert/strict'
export const substitutions = [
{refs:['C1','C2','C11','C12'],oldPart:'GRM1555C1H120JA01D',oldId:'C76948',part:'0402CG120J500NT',id:'C1547',model:'A_0402CG120J500NT'},
{refs:['C10'],oldPart:'CL10B105KA8NNWC',oldId:'C730442',part:'CL10B105KA8NNNC',id:'C29936',model:'CL10B105KA8NNNC'},
{refs:['L2'],oldPart:'LQG15HS6N8G02D',oldId:'C521064',part:'LQG15HS6N8J02D',id:'C77110',model:'LQG15HS6N8J02D'},
]
export function substituteRecords(prior){
const expected=structuredClone(prior)
for(const s of substitutions)for(const ref of s.refs){
const r=expected.find(r=>r.source.name===ref);assert(r,ref)
assert.equal(r.source.manufacturer_part_number,s.oldPart)
assert.deepEqual(r.source.supplier_part_numbers.jlcpcb,[s.oldId])
r.source.manufacturer_part_number=s.part;r.source.supplier_part_numbers.jlcpcb=[s.id]
assert.equal(r.cad.length,1)
for(const [key,ext] of [['model_obj_url','obj'],['model_step_url','step']]){
assert.equal(r.cad[0][key],`./imports/${s.oldPart}/${s.oldPart}.${ext}`)
r.cad[0][key]=`./imports/${s.model}/${s.model}.${ext}`
}
}
return expected
}