Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
632 changes: 632 additions & 0 deletions tests/assets/C22375751.raweasy.json

Large diffs are not rendered by default.

238 changes: 238 additions & 0 deletions tests/assets/C2879853.raweasy.json

Large diffs are not rendered by default.

365 changes: 365 additions & 0 deletions tests/assets/C2913197.raweasy.json

Large diffs are not rendered by default.

283 changes: 283 additions & 0 deletions tests/assets/C5360621.raweasy.json

Large diffs are not rendered by default.

281 changes: 281 additions & 0 deletions tests/assets/C544843.raweasy.json

Large diffs are not rendered by default.

238 changes: 238 additions & 0 deletions tests/assets/C9900014805.raweasy.json

Large diffs are not rendered by default.

268 changes: 268 additions & 0 deletions tests/convert-to-ts/C22375751-to-ts.test.ts

Large diffs are not rendered by default.

74 changes: 74 additions & 0 deletions tests/convert-to-ts/C2879853-to-ts.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import { it, expect } from "bun:test"
import chipRawEasy from "../assets/C2879853.raweasy.json"
import { convertBetterEasyToTsx } from "lib/websafe/convert-to-typescript-component"
import { EasyEdaJsonSchema } from "lib/schemas/easy-eda-json-schema"

it("should convert C2879853 into typescript file", async () => {
const betterEasy = EasyEdaJsonSchema.parse(chipRawEasy)
const result = await convertBetterEasyToTsx({
betterEasy,
})

expect(result).not.toContain("milmm")
expect(result).not.toContain("NaNmm")

expect(result).toMatchInlineSnapshot(`
"import type { ChipProps } from "@tscircuit/props"

const pinLabels = {
pin1: ["DATA"],
pin2: ["SELECT"],
pin3: ["GROUND"],
pin4: ["CLOCK"],
pin5: ["VDD"]
} as const

const pinAttributes = {
pin5: {requiresPower: true}
} as const

export const SPH0641LU4H_1 = (props: ChipProps<typeof pinLabels>) => {
return (
<chip
pinLabels={pinLabels}
pinAttributes={pinAttributes}
supplierPartNumbers={{
"jlcpcb": [
"C2879853"
]
}}
manufacturerPartNumber="SPH0641LU4H-1"
footprint={<footprint>
<hole pcbX="0mm" pcbY="-0.7661021mm" diameter="0.5000244mm" />
<smtpad portHints={["pin5"]} pcbX="0.837946mm" pcbY="1.3078079mm" width="0.729996mm" height="0.5299964mm" shape="rect" />
<smtpad portHints={["pin4"]} pcbX="0.837946mm" pcbY="0.4858639mm" width="0.729996mm" height="0.5299964mm" shape="rect" />
<smtpad portHints={["pin2"]} pcbX="-0.837946mm" pcbY="0.4858639mm" width="0.729996mm" height="0.5299964mm" shape="rect" />
<smtpad portHints={["pin1"]} pcbX="-0.837946mm" pcbY="1.3078079mm" width="0.729996mm" height="0.5299964mm" shape="rect" />
<smtpad portHints={["pin3"]} points={[{x: "0.806704mm", y: "-0.6652641mm"}, {x: "0.806704mm", y: "-0.6651117mm"}, {x: "0.800608mm", y: "-0.6246241mm"}, {x: "0.79248mm", y: "-0.5844921mm"}, {x: "0.7823454mm", y: "-0.5447919mm"}, {x: "0.7702296mm", y: "-0.5057013mm"}, {x: "0.756158mm", y: "-0.4672457mm"}, {x: "0.740156mm", y: "-0.4295267mm"}, {x: "0.7222744mm", y: "-0.3926967mm"}, {x: "0.702564mm", y: "-0.3568065mm"}, {x: "0.6810756mm", y: "-0.3219323mm"}, {x: "0.65786mm", y: "-0.2882011mm"}, {x: "0.632968mm", y: "-0.2556891mm"}, {x: "0.6064758mm", y: "-0.2244725mm"}, {x: "0.5784342mm", y: "-0.1946275mm"}, {x: "0.5489194mm", y: "-0.1662303mm"}, {x: "0.518033mm", y: "-0.1393571mm"}, {x: "0.4858258mm", y: "-0.1140841mm"}, {x: "0.452374mm", y: "-0.0904621mm"}, {x: "0.4177792mm", y: "-0.0685419mm"}, {x: "0.3821176mm", y: "-0.0483997mm"}, {x: "0.3454908mm", y: "-0.0300863mm"}, {x: "0.3080004mm", y: "-0.0136271mm"}, {x: "0.2697226mm", y: "0.0009017mm"}, {x: "0.230759mm", y: "0.0135001mm"}, {x: "0.1911858mm", y: "0.0241173mm"}, {x: "0.1511554mm", y: "0.0327279mm"}, {x: "0.110744mm", y: "0.0393065mm"}, {x: "0.110744mm", y: "-0.2624963mm"}, {x: "0.1125474mm", y: "-0.2687193mm"}, {x: "0.110998mm", y: "-0.2750185mm"}, {x: "0.1435354mm", y: "-0.2840609mm"}, {x: "0.1754124mm", y: "-0.2952369mm"}, {x: "0.2064766mm", y: "-0.3084703mm"}, {x: "0.236601mm", y: "-0.3237357mm"}, {x: "0.2656586mm", y: "-0.3409569mm"}, {x: "0.2935224mm", y: "-0.3600323mm"}, {x: "0.3200654mm", y: "-0.3809111mm"}, {x: "0.3451606mm", y: "-0.4034917mm"}, {x: "0.3687318mm", y: "-0.4276725mm"}, {x: "0.390652mm", y: "-0.4533773mm"}, {x: "0.410845mm", y: "-0.4804537mm"}, {x: "0.4292092mm", y: "-0.5088001mm"}, {x: "0.445643mm", y: "-0.5382895mm"}, {x: "0.460121mm", y: "-0.5687949mm"}, {x: "0.4725416mm", y: "-0.6001893mm"}, {x: "0.4828794mm", y: "-0.6323457mm"}, {x: "0.4910836mm", y: "-0.6651117mm"}]} shape="polygon" />
<smtpad portHints={["pin3"]} points={[{x: "0.1008126mm", y: "-1.5728061mm"}, {x: "0.100965mm", y: "-1.5728061mm"}, {x: "0.1414526mm", y: "-1.5667101mm"}, {x: "0.1815846mm", y: "-1.5585821mm"}, {x: "0.2212848mm", y: "-1.5484475mm"}, {x: "0.2603754mm", y: "-1.5363317mm"}, {x: "0.298831mm", y: "-1.5222601mm"}, {x: "0.33655mm", y: "-1.5062581mm"}, {x: "0.37338mm", y: "-1.4883765mm"}, {x: "0.4092702mm", y: "-1.4686661mm"}, {x: "0.4441444mm", y: "-1.4471777mm"}, {x: "0.4778756mm", y: "-1.4239621mm"}, {x: "0.5103876mm", y: "-1.3990701mm"}, {x: "0.5416042mm", y: "-1.3725779mm"}, {x: "0.5714492mm", y: "-1.3445363mm"}, {x: "0.5998464mm", y: "-1.3150215mm"}, {x: "0.6267196mm", y: "-1.2841351mm"}, {x: "0.6519926mm", y: "-1.2519279mm"}, {x: "0.6756146mm", y: "-1.2184761mm"}, {x: "0.6975348mm", y: "-1.1838813mm"}, {x: "0.717677mm", y: "-1.1482197mm"}, {x: "0.7359904mm", y: "-1.1115929mm"}, {x: "0.7524496mm", y: "-1.0741025mm"}, {x: "0.7669784mm", y: "-1.0358247mm"}, {x: "0.7795768mm", y: "-0.9968611mm"}, {x: "0.790194mm", y: "-0.9572879mm"}, {x: "0.7988046mm", y: "-0.9172575mm"}, {x: "0.8053832mm", y: "-0.8768461mm"}, {x: "0.5035804mm", y: "-0.8768461mm"}, {x: "0.4973574mm", y: "-0.8786495mm"}, {x: "0.4910582mm", y: "-0.8771001mm"}, {x: "0.4820158mm", y: "-0.9096375mm"}, {x: "0.4708398mm", y: "-0.9415145mm"}, {x: "0.4576064mm", y: "-0.9725787mm"}, {x: "0.442341mm", y: "-1.0027031mm"}, {x: "0.4251198mm", y: "-1.0317607mm"}, {x: "0.4060444mm", y: "-1.0596245mm"}, {x: "0.3851656mm", y: "-1.0861675mm"}, {x: "0.362585mm", y: "-1.1112627mm"}, {x: "0.3384042mm", y: "-1.1348339mm"}, {x: "0.3126994mm", y: "-1.1567541mm"}, {x: "0.285623mm", y: "-1.1769471mm"}, {x: "0.2572766mm", y: "-1.1953113mm"}, {x: "0.2277872mm", y: "-1.2117451mm"}, {x: "0.1972818mm", y: "-1.2262231mm"}, {x: "0.1658874mm", y: "-1.2386437mm"}, {x: "0.133731mm", y: "-1.2489815mm"}, {x: "0.100965mm", y: "-1.2571857mm"}]} shape="polygon" />
<smtpad portHints={["pin3"]} points={[{x: "-0.806704mm", y: "-0.8669147mm"}, {x: "-0.806704mm", y: "-0.8670163mm"}, {x: "-0.800608mm", y: "-0.9075039mm"}, {x: "-0.79248mm", y: "-0.9476613mm"}, {x: "-0.7823708mm", y: "-0.9873361mm"}, {x: "-0.7702296mm", y: "-1.0264521mm"}, {x: "-0.756158mm", y: "-1.0649077mm"}, {x: "-0.740156mm", y: "-1.1026013mm"}, {x: "-0.7222998mm", y: "-1.1394313mm"}, {x: "-0.7025894mm", y: "-1.1753469mm"}, {x: "-0.681101mm", y: "-1.2101957mm"}, {x: "-0.65786mm", y: "-1.2439269mm"}, {x: "-0.632968mm", y: "-1.2764389mm"}, {x: "-0.6064758mm", y: "-1.3076555mm"}, {x: "-0.5784342mm", y: "-1.3375259mm"}, {x: "-0.5489448mm", y: "-1.3659231mm"}, {x: "-0.518033mm", y: "-1.3927963mm"}, {x: "-0.4858258mm", y: "-1.4180693mm"}, {x: "-0.452374mm", y: "-1.4416913mm"}, {x: "-0.4177792mm", y: "-1.4636115mm"}, {x: "-0.3821176mm", y: "-1.4837537mm"}, {x: "-0.3454908mm", y: "-1.5020671mm"}, {x: "-0.3080004mm", y: "-1.5185263mm"}, {x: "-0.2697226mm", y: "-1.5330551mm"}, {x: "-0.230759mm", y: "-1.5456535mm"}, {x: "-0.1912112mm", y: "-1.5562707mm"}, {x: "-0.1511554mm", y: "-1.5648813mm"}, {x: "-0.110744mm", y: "-1.5714599mm"}, {x: "-0.110744mm", y: "-1.2696571mm"}, {x: "-0.1125474mm", y: "-1.2634087mm"}, {x: "-0.110998mm", y: "-1.2571095mm"}, {x: "-0.1435354mm", y: "-1.2480671mm"}, {x: "-0.1754124mm", y: "-1.2368911mm"}, {x: "-0.2064766mm", y: "-1.2236577mm"}, {x: "-0.236601mm", y: "-1.2083923mm"}, {x: "-0.2656586mm", y: "-1.1911711mm"}, {x: "-0.2935224mm", y: "-1.1720957mm"}, {x: "-0.3200654mm", y: "-1.1512169mm"}, {x: "-0.3451606mm", y: "-1.1286363mm"}, {x: "-0.3687318mm", y: "-1.1044555mm"}, {x: "-0.390652mm", y: "-1.0787507mm"}, {x: "-0.410845mm", y: "-1.0516743mm"}, {x: "-0.4292092mm", y: "-1.0233279mm"}, {x: "-0.445643mm", y: "-0.9938385mm"}, {x: "-0.460121mm", y: "-0.9633331mm"}, {x: "-0.4725416mm", y: "-0.9319387mm"}, {x: "-0.4828794mm", y: "-0.8997823mm"}, {x: "-0.4910836mm", y: "-0.8670163mm"}]} shape="polygon" />
<smtpad portHints={["pin3"]} points={[{x: "-0.100838mm", y: "0.0406019mm"}, {x: "-0.1009904mm", y: "0.0406019mm"}, {x: "-0.1415034mm", y: "0.0345059mm"}, {x: "-0.1816354mm", y: "0.0263779mm"}, {x: "-0.2213102mm", y: "0.0162433mm"}, {x: "-0.2604262mm", y: "0.0041275mm"}, {x: "-0.2988818mm", y: "-0.0099441mm"}, {x: "-0.3365754mm", y: "-0.0259461mm"}, {x: "-0.3734054mm", y: "-0.0438277mm"}, {x: "-0.4092956mm", y: "-0.0635381mm"}, {x: "-0.4441698mm", y: "-0.0850265mm"}, {x: "-0.477901mm", y: "-0.1082421mm"}, {x: "-0.510413mm", y: "-0.1331341mm"}, {x: "-0.5416296mm", y: "-0.1596263mm"}, {x: "-0.5714746mm", y: "-0.1876679mm"}, {x: "-0.5998718mm", y: "-0.2171827mm"}, {x: "-0.626745mm", y: "-0.2480691mm"}, {x: "-0.652018mm", y: "-0.2802763mm"}, {x: "-0.6756654mm", y: "-0.3137281mm"}, {x: "-0.6975602mm", y: "-0.3483229mm"}, {x: "-0.7177024mm", y: "-0.3839845mm"}, {x: "-0.7360158mm", y: "-0.4206113mm"}, {x: "-0.752475mm", y: "-0.4581017mm"}, {x: "-0.7670038mm", y: "-0.4963795mm"}, {x: "-0.7796022mm", y: "-0.5353431mm"}, {x: "-0.7902194mm", y: "-0.5749163mm"}, {x: "-0.79883mm", y: "-0.6149467mm"}, {x: "-0.8054086mm", y: "-0.6553581mm"}, {x: "-0.5036058mm", y: "-0.6553581mm"}, {x: "-0.4973828mm", y: "-0.6535547mm"}, {x: "-0.4910836mm", y: "-0.6551041mm"}, {x: "-0.4820412mm", y: "-0.6225667mm"}, {x: "-0.4708652mm", y: "-0.5906897mm"}, {x: "-0.4576318mm", y: "-0.5596255mm"}, {x: "-0.4423664mm", y: "-0.5295011mm"}, {x: "-0.4251706mm", y: "-0.5004435mm"}, {x: "-0.4060698mm", y: "-0.4725797mm"}, {x: "-0.385191mm", y: "-0.4460367mm"}, {x: "-0.3626104mm", y: "-0.4209415mm"}, {x: "-0.3384296mm", y: "-0.3973703mm"}, {x: "-0.3127248mm", y: "-0.3754501mm"}, {x: "-0.2856484mm", y: "-0.3552571mm"}, {x: "-0.257302mm", y: "-0.3369183mm"}, {x: "-0.2278126mm", y: "-0.3204591mm"}, {x: "-0.1973072mm", y: "-0.3059811mm"}, {x: "-0.1659128mm", y: "-0.2935605mm"}, {x: "-0.1337564mm", y: "-0.2832227mm"}, {x: "-0.1009904mm", y: "-0.2750185mm"}]} shape="polygon" />
<silkscreenpath route={[{"x":-1.3341349999999466,"y":1.6938116999998556},{"x":-1.3999209999999493,"y":1.6938116999998556},{"x":-1.3999209999999493,"y":1.333842900000036}]} />
<silkscreenpath route={[{"x":0.34180780000019695,"y":1.6938116999998556},{"x":-0.34175699999991593,"y":1.6938116999998556}]} />
<silkscreenpath route={[{"x":1.4000226000000566,"y":1.6938116999998556},{"x":1.3342874000002212,"y":1.6938116999998556}]} />
<silkscreenpath route={[{"x":-0.4348987999999281,"y":-1.806054300000028},{"x":-1.3999209999999493,"y":-1.806054300000028},{"x":-1.3999209999999493,"y":-1.4461363000001484}]} />
<silkscreenpath route={[{"x":1.4000226000000566,"y":-1.806054300000028},{"x":0.43474639999999454,"y":-1.806054300000028}]} />
<silkscreenpath route={[{"x":1.4000226000000566,"y":-0.05609590000017306},{"x":1.4000226000000566,"y":1.6938116999998556}]} />
<silkscreenpath route={[{"x":1.4000226000000566,"y":-0.05609590000017306},{"x":1.4000226000000566,"y":-1.806054300000028}]} />
<silkscreenpath route={[{"x":-1.3999209999999493,"y":1.333842900000036},{"x":-1.3999209999999493,"y":-1.4461363000001484}]} />
<silkscreencircle pcbX="-0.88011mm" pcbY="2.0139279mm" radius="0.150114mm" />
<silkscreentext text="{NAME}" pcbX="-0.013208mm" pcbY="3.1622639mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-1.6602079999998978,"y":2.412263899999971},{"x":1.6337920000001986,"y":2.412263899999971},{"x":1.6337920000001986,"y":-2.050136099999918},{"x":-1.6602079999998978,"y":-2.050136099999918},{"x":-1.6602079999998978,"y":2.412263899999971}]} />
</footprint>}
cadModel={{
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2879853.obj?uuid=587ef2d4cd9c42aca9875a2e1e64e486",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2879853.step?uuid=587ef2d4cd9c42aca9875a2e1e64e486",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0.051790600000003906, z: -0.001 },
}}
{...props}
/>
)
}"
`)
})
Loading