@tscircuit/props 0.0.437 → 0.0.438
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/index.d.ts +1156 -7
- package/dist/index.js +204 -172
- package/dist/index.js.map +1 -1
- package/lib/components/currentsource.ts +58 -0
- package/lib/components/group.ts +4 -0
- package/lib/index.ts +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -585,6 +585,7 @@ var autorouterConfig = z30.object({
|
|
|
585
585
|
"auto",
|
|
586
586
|
"auto_local",
|
|
587
587
|
"auto_cloud",
|
|
588
|
+
"tscircuit_beta",
|
|
588
589
|
"freerouting",
|
|
589
590
|
"laser_prefab",
|
|
590
591
|
"sequential-trace",
|
|
@@ -599,6 +600,7 @@ var autorouterPreset = z30.union([
|
|
|
599
600
|
z30.literal("auto"),
|
|
600
601
|
z30.literal("auto_local"),
|
|
601
602
|
z30.literal("auto_cloud"),
|
|
603
|
+
z30.literal("tscircuit_beta"),
|
|
602
604
|
z30.literal("freerouting"),
|
|
603
605
|
z30.literal("laser_prefab"),
|
|
604
606
|
// Prefabricated PCB with laser copper ablation
|
|
@@ -1988,58 +1990,85 @@ var voltageSourceProps = commonComponentProps.extend({
|
|
|
1988
1990
|
var voltageSourcePins = lrPolarPins;
|
|
1989
1991
|
expectTypesMatch(true);
|
|
1990
1992
|
|
|
1991
|
-
// lib/components/
|
|
1993
|
+
// lib/components/currentsource.ts
|
|
1994
|
+
import { frequency as frequency5, rotation as rotation5, current } from "circuit-json";
|
|
1992
1995
|
import { z as z87 } from "zod";
|
|
1996
|
+
var currentSourcePinLabels = ["pin1", "pin2", "pos", "neg"];
|
|
1997
|
+
var percentage2 = z87.union([z87.string(), z87.number()]).transform((val) => {
|
|
1998
|
+
if (typeof val === "string") {
|
|
1999
|
+
if (val.endsWith("%")) {
|
|
2000
|
+
return parseFloat(val.slice(0, -1)) / 100;
|
|
2001
|
+
}
|
|
2002
|
+
return parseFloat(val);
|
|
2003
|
+
}
|
|
2004
|
+
return val;
|
|
2005
|
+
}).pipe(
|
|
2006
|
+
z87.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
2007
|
+
);
|
|
2008
|
+
var currentSourceProps = commonComponentProps.extend({
|
|
2009
|
+
current: current.optional(),
|
|
2010
|
+
frequency: frequency5.optional(),
|
|
2011
|
+
peakToPeakCurrent: current.optional(),
|
|
2012
|
+
waveShape: z87.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
2013
|
+
phase: rotation5.optional(),
|
|
2014
|
+
dutyCycle: percentage2.optional(),
|
|
2015
|
+
connections: createConnectionsProp(currentSourcePinLabels).optional()
|
|
2016
|
+
});
|
|
2017
|
+
var currentSourcePins = lrPolarPins;
|
|
2018
|
+
expectTypesMatch(true);
|
|
2019
|
+
|
|
2020
|
+
// lib/components/voltageprobe.ts
|
|
2021
|
+
import { z as z88 } from "zod";
|
|
1993
2022
|
var voltageProbeProps = commonComponentProps.omit({ name: true }).extend({
|
|
1994
|
-
name:
|
|
1995
|
-
connectsTo:
|
|
1996
|
-
referenceTo:
|
|
1997
|
-
color:
|
|
2023
|
+
name: z88.string().optional(),
|
|
2024
|
+
connectsTo: z88.string(),
|
|
2025
|
+
referenceTo: z88.string().optional(),
|
|
2026
|
+
color: z88.string().optional()
|
|
1998
2027
|
});
|
|
1999
2028
|
expectTypesMatch(true);
|
|
2000
2029
|
|
|
2001
2030
|
// lib/components/schematic-arc.ts
|
|
2002
|
-
import { distance as distance25, point as point5, rotation as
|
|
2003
|
-
import { z as
|
|
2004
|
-
var schematicArcProps =
|
|
2031
|
+
import { distance as distance25, point as point5, rotation as rotation6 } from "circuit-json";
|
|
2032
|
+
import { z as z89 } from "zod";
|
|
2033
|
+
var schematicArcProps = z89.object({
|
|
2005
2034
|
center: point5,
|
|
2006
2035
|
radius: distance25,
|
|
2007
|
-
startAngleDegrees:
|
|
2008
|
-
endAngleDegrees:
|
|
2009
|
-
direction:
|
|
2036
|
+
startAngleDegrees: rotation6,
|
|
2037
|
+
endAngleDegrees: rotation6,
|
|
2038
|
+
direction: z89.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
2010
2039
|
strokeWidth: distance25.optional(),
|
|
2011
|
-
color:
|
|
2012
|
-
isDashed:
|
|
2040
|
+
color: z89.string().optional(),
|
|
2041
|
+
isDashed: z89.boolean().optional().default(false)
|
|
2013
2042
|
});
|
|
2014
2043
|
expectTypesMatch(true);
|
|
2015
2044
|
|
|
2016
2045
|
// lib/components/toolingrail.ts
|
|
2017
|
-
import { z as
|
|
2018
|
-
var toolingrailProps =
|
|
2019
|
-
children:
|
|
2046
|
+
import { z as z90 } from "zod";
|
|
2047
|
+
var toolingrailProps = z90.object({
|
|
2048
|
+
children: z90.any().optional()
|
|
2020
2049
|
});
|
|
2021
2050
|
expectTypesMatch(true);
|
|
2022
2051
|
|
|
2023
2052
|
// lib/components/schematic-box.ts
|
|
2024
2053
|
import { distance as distance26 } from "circuit-json";
|
|
2025
|
-
import { z as
|
|
2026
|
-
var schematicBoxProps =
|
|
2054
|
+
import { z as z91 } from "zod";
|
|
2055
|
+
var schematicBoxProps = z91.object({
|
|
2027
2056
|
schX: distance26.optional(),
|
|
2028
2057
|
schY: distance26.optional(),
|
|
2029
2058
|
width: distance26.optional(),
|
|
2030
2059
|
height: distance26.optional(),
|
|
2031
|
-
overlay:
|
|
2060
|
+
overlay: z91.array(z91.string()).optional(),
|
|
2032
2061
|
padding: distance26.optional(),
|
|
2033
2062
|
paddingLeft: distance26.optional(),
|
|
2034
2063
|
paddingRight: distance26.optional(),
|
|
2035
2064
|
paddingTop: distance26.optional(),
|
|
2036
2065
|
paddingBottom: distance26.optional(),
|
|
2037
|
-
title:
|
|
2066
|
+
title: z91.string().optional(),
|
|
2038
2067
|
titleAlignment: ninePointAnchor.default("top_left"),
|
|
2039
|
-
titleColor:
|
|
2068
|
+
titleColor: z91.string().optional(),
|
|
2040
2069
|
titleFontSize: distance26.optional(),
|
|
2041
|
-
titleInside:
|
|
2042
|
-
strokeStyle:
|
|
2070
|
+
titleInside: z91.boolean().default(false),
|
|
2071
|
+
strokeStyle: z91.enum(["solid", "dashed"]).default("solid")
|
|
2043
2072
|
}).refine(
|
|
2044
2073
|
(elm) => elm.width !== void 0 && elm.height !== void 0 || Array.isArray(elm.overlay) && elm.overlay.length > 0,
|
|
2045
2074
|
{
|
|
@@ -2055,59 +2084,59 @@ expectTypesMatch(true);
|
|
|
2055
2084
|
|
|
2056
2085
|
// lib/components/schematic-circle.ts
|
|
2057
2086
|
import { distance as distance27, point as point6 } from "circuit-json";
|
|
2058
|
-
import { z as
|
|
2059
|
-
var schematicCircleProps =
|
|
2087
|
+
import { z as z92 } from "zod";
|
|
2088
|
+
var schematicCircleProps = z92.object({
|
|
2060
2089
|
center: point6,
|
|
2061
2090
|
radius: distance27,
|
|
2062
2091
|
strokeWidth: distance27.optional(),
|
|
2063
|
-
color:
|
|
2064
|
-
isFilled:
|
|
2065
|
-
fillColor:
|
|
2066
|
-
isDashed:
|
|
2092
|
+
color: z92.string().optional(),
|
|
2093
|
+
isFilled: z92.boolean().optional().default(false),
|
|
2094
|
+
fillColor: z92.string().optional(),
|
|
2095
|
+
isDashed: z92.boolean().optional().default(false)
|
|
2067
2096
|
});
|
|
2068
2097
|
expectTypesMatch(
|
|
2069
2098
|
true
|
|
2070
2099
|
);
|
|
2071
2100
|
|
|
2072
2101
|
// lib/components/schematic-rect.ts
|
|
2073
|
-
import { distance as distance28, rotation as
|
|
2074
|
-
import { z as
|
|
2075
|
-
var schematicRectProps =
|
|
2102
|
+
import { distance as distance28, rotation as rotation7 } from "circuit-json";
|
|
2103
|
+
import { z as z93 } from "zod";
|
|
2104
|
+
var schematicRectProps = z93.object({
|
|
2076
2105
|
schX: distance28.optional(),
|
|
2077
2106
|
schY: distance28.optional(),
|
|
2078
2107
|
width: distance28,
|
|
2079
2108
|
height: distance28,
|
|
2080
|
-
rotation:
|
|
2109
|
+
rotation: rotation7.default(0),
|
|
2081
2110
|
strokeWidth: distance28.optional(),
|
|
2082
|
-
color:
|
|
2083
|
-
isFilled:
|
|
2084
|
-
fillColor:
|
|
2085
|
-
isDashed:
|
|
2111
|
+
color: z93.string().optional(),
|
|
2112
|
+
isFilled: z93.boolean().optional().default(false),
|
|
2113
|
+
fillColor: z93.string().optional(),
|
|
2114
|
+
isDashed: z93.boolean().optional().default(false),
|
|
2086
2115
|
cornerRadius: distance28.optional()
|
|
2087
2116
|
});
|
|
2088
2117
|
expectTypesMatch(true);
|
|
2089
2118
|
|
|
2090
2119
|
// lib/components/schematic-line.ts
|
|
2091
2120
|
import { distance as distance29 } from "circuit-json";
|
|
2092
|
-
import { z as
|
|
2093
|
-
var schematicLineProps =
|
|
2121
|
+
import { z as z94 } from "zod";
|
|
2122
|
+
var schematicLineProps = z94.object({
|
|
2094
2123
|
x1: distance29,
|
|
2095
2124
|
y1: distance29,
|
|
2096
2125
|
x2: distance29,
|
|
2097
2126
|
y2: distance29,
|
|
2098
2127
|
strokeWidth: distance29.optional(),
|
|
2099
|
-
color:
|
|
2100
|
-
isDashed:
|
|
2128
|
+
color: z94.string().optional(),
|
|
2129
|
+
isDashed: z94.boolean().optional().default(false)
|
|
2101
2130
|
});
|
|
2102
2131
|
expectTypesMatch(true);
|
|
2103
2132
|
|
|
2104
2133
|
// lib/components/schematic-text.ts
|
|
2105
|
-
import { distance as distance30, rotation as
|
|
2106
|
-
import { z as
|
|
2134
|
+
import { distance as distance30, rotation as rotation8 } from "circuit-json";
|
|
2135
|
+
import { z as z96 } from "zod";
|
|
2107
2136
|
|
|
2108
2137
|
// lib/common/fivePointAnchor.ts
|
|
2109
|
-
import { z as
|
|
2110
|
-
var fivePointAnchor =
|
|
2138
|
+
import { z as z95 } from "zod";
|
|
2139
|
+
var fivePointAnchor = z95.enum([
|
|
2111
2140
|
"center",
|
|
2112
2141
|
"left",
|
|
2113
2142
|
"right",
|
|
@@ -2116,34 +2145,34 @@ var fivePointAnchor = z94.enum([
|
|
|
2116
2145
|
]);
|
|
2117
2146
|
|
|
2118
2147
|
// lib/components/schematic-text.ts
|
|
2119
|
-
var schematicTextProps =
|
|
2148
|
+
var schematicTextProps = z96.object({
|
|
2120
2149
|
schX: distance30.optional(),
|
|
2121
2150
|
schY: distance30.optional(),
|
|
2122
|
-
text:
|
|
2123
|
-
fontSize:
|
|
2124
|
-
anchor:
|
|
2125
|
-
color:
|
|
2126
|
-
schRotation:
|
|
2151
|
+
text: z96.string(),
|
|
2152
|
+
fontSize: z96.number().default(1),
|
|
2153
|
+
anchor: z96.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
2154
|
+
color: z96.string().default("#000000"),
|
|
2155
|
+
schRotation: rotation8.default(0)
|
|
2127
2156
|
});
|
|
2128
2157
|
expectTypesMatch(true);
|
|
2129
2158
|
|
|
2130
2159
|
// lib/components/schematic-path.ts
|
|
2131
2160
|
import { point as point8 } from "circuit-json";
|
|
2132
|
-
import { z as
|
|
2133
|
-
var schematicPathProps =
|
|
2134
|
-
points:
|
|
2135
|
-
isFilled:
|
|
2136
|
-
fillColor:
|
|
2161
|
+
import { z as z97 } from "zod";
|
|
2162
|
+
var schematicPathProps = z97.object({
|
|
2163
|
+
points: z97.array(point8),
|
|
2164
|
+
isFilled: z97.boolean().optional().default(false),
|
|
2165
|
+
fillColor: z97.enum(["red", "blue"]).optional()
|
|
2137
2166
|
});
|
|
2138
2167
|
expectTypesMatch(true);
|
|
2139
2168
|
|
|
2140
2169
|
// lib/components/schematic-table.ts
|
|
2141
2170
|
import { distance as distance31 } from "circuit-json";
|
|
2142
|
-
import { z as
|
|
2143
|
-
var schematicTableProps =
|
|
2171
|
+
import { z as z98 } from "zod";
|
|
2172
|
+
var schematicTableProps = z98.object({
|
|
2144
2173
|
schX: distance31.optional(),
|
|
2145
2174
|
schY: distance31.optional(),
|
|
2146
|
-
children:
|
|
2175
|
+
children: z98.any().optional(),
|
|
2147
2176
|
cellPadding: distance31.optional(),
|
|
2148
2177
|
borderWidth: distance31.optional(),
|
|
2149
2178
|
anchor: ninePointAnchor.optional(),
|
|
@@ -2153,64 +2182,64 @@ expectTypesMatch(true);
|
|
|
2153
2182
|
|
|
2154
2183
|
// lib/components/schematic-row.ts
|
|
2155
2184
|
import { distance as distance32 } from "circuit-json";
|
|
2156
|
-
import { z as
|
|
2157
|
-
var schematicRowProps =
|
|
2158
|
-
children:
|
|
2185
|
+
import { z as z99 } from "zod";
|
|
2186
|
+
var schematicRowProps = z99.object({
|
|
2187
|
+
children: z99.any().optional(),
|
|
2159
2188
|
height: distance32.optional()
|
|
2160
2189
|
});
|
|
2161
2190
|
expectTypesMatch(true);
|
|
2162
2191
|
|
|
2163
2192
|
// lib/components/schematic-cell.ts
|
|
2164
2193
|
import { distance as distance33 } from "circuit-json";
|
|
2165
|
-
import { z as
|
|
2166
|
-
var schematicCellProps =
|
|
2167
|
-
children:
|
|
2168
|
-
horizontalAlign:
|
|
2169
|
-
verticalAlign:
|
|
2194
|
+
import { z as z100 } from "zod";
|
|
2195
|
+
var schematicCellProps = z100.object({
|
|
2196
|
+
children: z100.string().optional(),
|
|
2197
|
+
horizontalAlign: z100.enum(["left", "center", "right"]).optional(),
|
|
2198
|
+
verticalAlign: z100.enum(["top", "middle", "bottom"]).optional(),
|
|
2170
2199
|
fontSize: distance33.optional(),
|
|
2171
|
-
rowSpan:
|
|
2172
|
-
colSpan:
|
|
2200
|
+
rowSpan: z100.number().optional(),
|
|
2201
|
+
colSpan: z100.number().optional(),
|
|
2173
2202
|
width: distance33.optional(),
|
|
2174
|
-
text:
|
|
2203
|
+
text: z100.string().optional()
|
|
2175
2204
|
});
|
|
2176
2205
|
expectTypesMatch(true);
|
|
2177
2206
|
|
|
2178
2207
|
// lib/components/copper-text.ts
|
|
2179
2208
|
import { layer_ref as layer_ref8, length as length7 } from "circuit-json";
|
|
2180
|
-
import { z as
|
|
2209
|
+
import { z as z101 } from "zod";
|
|
2181
2210
|
var copperTextProps = pcbLayoutProps.extend({
|
|
2182
|
-
text:
|
|
2211
|
+
text: z101.string(),
|
|
2183
2212
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
2184
|
-
font:
|
|
2213
|
+
font: z101.enum(["tscircuit2024"]).optional(),
|
|
2185
2214
|
fontSize: length7.optional(),
|
|
2186
|
-
layers:
|
|
2187
|
-
knockout:
|
|
2188
|
-
mirrored:
|
|
2215
|
+
layers: z101.array(layer_ref8).optional(),
|
|
2216
|
+
knockout: z101.boolean().optional(),
|
|
2217
|
+
mirrored: z101.boolean().optional()
|
|
2189
2218
|
});
|
|
2190
2219
|
|
|
2191
2220
|
// lib/components/silkscreen-text.ts
|
|
2192
2221
|
import { layer_ref as layer_ref9, length as length8 } from "circuit-json";
|
|
2193
|
-
import { z as
|
|
2222
|
+
import { z as z102 } from "zod";
|
|
2194
2223
|
var silkscreenTextProps = pcbLayoutProps.extend({
|
|
2195
|
-
text:
|
|
2224
|
+
text: z102.string(),
|
|
2196
2225
|
anchorAlignment: ninePointAnchor.default("center"),
|
|
2197
|
-
font:
|
|
2226
|
+
font: z102.enum(["tscircuit2024"]).optional(),
|
|
2198
2227
|
fontSize: length8.optional(),
|
|
2199
2228
|
/**
|
|
2200
2229
|
* If true, text will knock out underlying silkscreen
|
|
2201
2230
|
*/
|
|
2202
|
-
isKnockout:
|
|
2231
|
+
isKnockout: z102.boolean().optional(),
|
|
2203
2232
|
knockoutPadding: length8.optional(),
|
|
2204
2233
|
knockoutPaddingLeft: length8.optional(),
|
|
2205
2234
|
knockoutPaddingRight: length8.optional(),
|
|
2206
2235
|
knockoutPaddingTop: length8.optional(),
|
|
2207
2236
|
knockoutPaddingBottom: length8.optional(),
|
|
2208
|
-
layers:
|
|
2237
|
+
layers: z102.array(layer_ref9).optional()
|
|
2209
2238
|
});
|
|
2210
2239
|
|
|
2211
2240
|
// lib/components/silkscreen-path.ts
|
|
2212
2241
|
import { length as length9, route_hint_point as route_hint_point5 } from "circuit-json";
|
|
2213
|
-
import { z as
|
|
2242
|
+
import { z as z103 } from "zod";
|
|
2214
2243
|
var silkscreenPathProps = pcbLayoutProps.omit({
|
|
2215
2244
|
pcbLeftEdgeX: true,
|
|
2216
2245
|
pcbRightEdgeX: true,
|
|
@@ -2222,7 +2251,7 @@ var silkscreenPathProps = pcbLayoutProps.omit({
|
|
|
2222
2251
|
pcbOffsetY: true,
|
|
2223
2252
|
pcbRotation: true
|
|
2224
2253
|
}).extend({
|
|
2225
|
-
route:
|
|
2254
|
+
route: z103.array(route_hint_point5),
|
|
2226
2255
|
strokeWidth: length9.optional()
|
|
2227
2256
|
});
|
|
2228
2257
|
|
|
@@ -2244,10 +2273,10 @@ var silkscreenLineProps = pcbLayoutProps.omit({
|
|
|
2244
2273
|
|
|
2245
2274
|
// lib/components/silkscreen-rect.ts
|
|
2246
2275
|
import { distance as distance35 } from "circuit-json";
|
|
2247
|
-
import { z as
|
|
2276
|
+
import { z as z104 } from "zod";
|
|
2248
2277
|
var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
2249
|
-
filled:
|
|
2250
|
-
stroke:
|
|
2278
|
+
filled: z104.boolean().default(true).optional(),
|
|
2279
|
+
stroke: z104.enum(["dashed", "solid", "none"]).optional(),
|
|
2251
2280
|
strokeWidth: distance35.optional(),
|
|
2252
2281
|
width: distance35,
|
|
2253
2282
|
height: distance35,
|
|
@@ -2256,66 +2285,66 @@ var silkscreenRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
|
2256
2285
|
|
|
2257
2286
|
// lib/components/silkscreen-circle.ts
|
|
2258
2287
|
import { distance as distance36 } from "circuit-json";
|
|
2259
|
-
import { z as
|
|
2288
|
+
import { z as z105 } from "zod";
|
|
2260
2289
|
var silkscreenCircleProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
2261
|
-
isFilled:
|
|
2262
|
-
isOutline:
|
|
2290
|
+
isFilled: z105.boolean().optional(),
|
|
2291
|
+
isOutline: z105.boolean().optional(),
|
|
2263
2292
|
strokeWidth: distance36.optional(),
|
|
2264
2293
|
radius: distance36
|
|
2265
2294
|
});
|
|
2266
2295
|
|
|
2267
2296
|
// lib/components/trace-hint.ts
|
|
2268
2297
|
import { distance as distance37, layer_ref as layer_ref10, route_hint_point as route_hint_point6 } from "circuit-json";
|
|
2269
|
-
import { z as
|
|
2270
|
-
var routeHintPointProps =
|
|
2298
|
+
import { z as z106 } from "zod";
|
|
2299
|
+
var routeHintPointProps = z106.object({
|
|
2271
2300
|
x: distance37,
|
|
2272
2301
|
y: distance37,
|
|
2273
|
-
via:
|
|
2302
|
+
via: z106.boolean().optional(),
|
|
2274
2303
|
toLayer: layer_ref10.optional()
|
|
2275
2304
|
});
|
|
2276
|
-
var traceHintProps =
|
|
2277
|
-
for:
|
|
2305
|
+
var traceHintProps = z106.object({
|
|
2306
|
+
for: z106.string().optional().describe(
|
|
2278
2307
|
"Selector for the port you're targeting, not required if you're inside a trace"
|
|
2279
2308
|
),
|
|
2280
|
-
order:
|
|
2309
|
+
order: z106.number().optional(),
|
|
2281
2310
|
offset: route_hint_point6.or(routeHintPointProps).optional(),
|
|
2282
|
-
offsets:
|
|
2283
|
-
traceWidth:
|
|
2311
|
+
offsets: z106.array(route_hint_point6).or(z106.array(routeHintPointProps)).optional(),
|
|
2312
|
+
traceWidth: z106.number().optional()
|
|
2284
2313
|
});
|
|
2285
2314
|
|
|
2286
2315
|
// lib/components/port.ts
|
|
2287
|
-
import { z as
|
|
2316
|
+
import { z as z107 } from "zod";
|
|
2288
2317
|
var portProps = commonLayoutProps.extend({
|
|
2289
|
-
name:
|
|
2290
|
-
pinNumber:
|
|
2291
|
-
aliases:
|
|
2318
|
+
name: z107.string(),
|
|
2319
|
+
pinNumber: z107.number().optional(),
|
|
2320
|
+
aliases: z107.array(z107.string()).optional(),
|
|
2292
2321
|
direction,
|
|
2293
|
-
connectsTo:
|
|
2322
|
+
connectsTo: z107.string().or(z107.array(z107.string())).optional()
|
|
2294
2323
|
});
|
|
2295
2324
|
|
|
2296
2325
|
// lib/components/pcb-note-text.ts
|
|
2297
2326
|
import { length as length10 } from "circuit-json";
|
|
2298
|
-
import { z as
|
|
2327
|
+
import { z as z108 } from "zod";
|
|
2299
2328
|
var pcbNoteTextProps = pcbLayoutProps.extend({
|
|
2300
|
-
text:
|
|
2301
|
-
anchorAlignment:
|
|
2302
|
-
font:
|
|
2329
|
+
text: z108.string(),
|
|
2330
|
+
anchorAlignment: z108.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2331
|
+
font: z108.enum(["tscircuit2024"]).optional(),
|
|
2303
2332
|
fontSize: length10.optional(),
|
|
2304
|
-
color:
|
|
2333
|
+
color: z108.string().optional()
|
|
2305
2334
|
});
|
|
2306
2335
|
expectTypesMatch(true);
|
|
2307
2336
|
|
|
2308
2337
|
// lib/components/pcb-note-rect.ts
|
|
2309
2338
|
import { distance as distance38 } from "circuit-json";
|
|
2310
|
-
import { z as
|
|
2339
|
+
import { z as z109 } from "zod";
|
|
2311
2340
|
var pcbNoteRectProps = pcbLayoutProps.omit({ pcbRotation: true }).extend({
|
|
2312
2341
|
width: distance38,
|
|
2313
2342
|
height: distance38,
|
|
2314
2343
|
strokeWidth: distance38.optional(),
|
|
2315
|
-
isFilled:
|
|
2316
|
-
hasStroke:
|
|
2317
|
-
isStrokeDashed:
|
|
2318
|
-
color:
|
|
2344
|
+
isFilled: z109.boolean().optional(),
|
|
2345
|
+
hasStroke: z109.boolean().optional(),
|
|
2346
|
+
isStrokeDashed: z109.boolean().optional(),
|
|
2347
|
+
color: z109.string().optional(),
|
|
2319
2348
|
cornerRadius: distance38.optional()
|
|
2320
2349
|
});
|
|
2321
2350
|
expectTypesMatch(true);
|
|
@@ -2325,7 +2354,7 @@ import {
|
|
|
2325
2354
|
length as length11,
|
|
2326
2355
|
route_hint_point as route_hint_point7
|
|
2327
2356
|
} from "circuit-json";
|
|
2328
|
-
import { z as
|
|
2357
|
+
import { z as z110 } from "zod";
|
|
2329
2358
|
var pcbNotePathProps = pcbLayoutProps.omit({
|
|
2330
2359
|
pcbLeftEdgeX: true,
|
|
2331
2360
|
pcbRightEdgeX: true,
|
|
@@ -2337,15 +2366,15 @@ var pcbNotePathProps = pcbLayoutProps.omit({
|
|
|
2337
2366
|
pcbOffsetY: true,
|
|
2338
2367
|
pcbRotation: true
|
|
2339
2368
|
}).extend({
|
|
2340
|
-
route:
|
|
2369
|
+
route: z110.array(route_hint_point7),
|
|
2341
2370
|
strokeWidth: length11.optional(),
|
|
2342
|
-
color:
|
|
2371
|
+
color: z110.string().optional()
|
|
2343
2372
|
});
|
|
2344
2373
|
expectTypesMatch(true);
|
|
2345
2374
|
|
|
2346
2375
|
// lib/components/pcb-note-line.ts
|
|
2347
2376
|
import { distance as distance39 } from "circuit-json";
|
|
2348
|
-
import { z as
|
|
2377
|
+
import { z as z111 } from "zod";
|
|
2349
2378
|
var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
2350
2379
|
pcbLeftEdgeX: true,
|
|
2351
2380
|
pcbRightEdgeX: true,
|
|
@@ -2362,15 +2391,15 @@ var pcbNoteLineProps = pcbLayoutProps.omit({
|
|
|
2362
2391
|
x2: distance39,
|
|
2363
2392
|
y2: distance39,
|
|
2364
2393
|
strokeWidth: distance39.optional(),
|
|
2365
|
-
color:
|
|
2366
|
-
isDashed:
|
|
2394
|
+
color: z111.string().optional(),
|
|
2395
|
+
isDashed: z111.boolean().optional()
|
|
2367
2396
|
});
|
|
2368
2397
|
expectTypesMatch(true);
|
|
2369
2398
|
|
|
2370
2399
|
// lib/components/pcb-note-dimension.ts
|
|
2371
2400
|
import { distance as distance40, length as length12 } from "circuit-json";
|
|
2372
|
-
import { z as
|
|
2373
|
-
var dimensionTarget2 =
|
|
2401
|
+
import { z as z112 } from "zod";
|
|
2402
|
+
var dimensionTarget2 = z112.union([z112.string(), point]);
|
|
2374
2403
|
var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
2375
2404
|
pcbLeftEdgeX: true,
|
|
2376
2405
|
pcbRightEdgeX: true,
|
|
@@ -2384,93 +2413,93 @@ var pcbNoteDimensionProps = pcbLayoutProps.omit({
|
|
|
2384
2413
|
}).extend({
|
|
2385
2414
|
from: dimensionTarget2,
|
|
2386
2415
|
to: dimensionTarget2,
|
|
2387
|
-
text:
|
|
2416
|
+
text: z112.string().optional(),
|
|
2388
2417
|
offset: distance40.optional(),
|
|
2389
|
-
font:
|
|
2418
|
+
font: z112.enum(["tscircuit2024"]).optional(),
|
|
2390
2419
|
fontSize: length12.optional(),
|
|
2391
|
-
color:
|
|
2420
|
+
color: z112.string().optional(),
|
|
2392
2421
|
arrowSize: distance40.optional(),
|
|
2393
|
-
units:
|
|
2394
|
-
outerEdgeToEdge:
|
|
2395
|
-
centerToCenter:
|
|
2396
|
-
innerEdgeToEdge:
|
|
2422
|
+
units: z112.enum(["in", "mm"]).optional(),
|
|
2423
|
+
outerEdgeToEdge: z112.literal(true).optional(),
|
|
2424
|
+
centerToCenter: z112.literal(true).optional(),
|
|
2425
|
+
innerEdgeToEdge: z112.literal(true).optional()
|
|
2397
2426
|
});
|
|
2398
2427
|
expectTypesMatch(
|
|
2399
2428
|
true
|
|
2400
2429
|
);
|
|
2401
2430
|
|
|
2402
2431
|
// lib/platformConfig.ts
|
|
2403
|
-
import { z as
|
|
2404
|
-
var unvalidatedCircuitJson =
|
|
2405
|
-
var footprintLibraryResult =
|
|
2406
|
-
footprintCircuitJson:
|
|
2432
|
+
import { z as z113 } from "zod";
|
|
2433
|
+
var unvalidatedCircuitJson = z113.array(z113.any()).describe("Circuit JSON");
|
|
2434
|
+
var footprintLibraryResult = z113.object({
|
|
2435
|
+
footprintCircuitJson: z113.array(z113.any()),
|
|
2407
2436
|
cadModel: cadModelProp.optional()
|
|
2408
2437
|
});
|
|
2409
|
-
var pathToCircuitJsonFn =
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
).returns(
|
|
2438
|
+
var pathToCircuitJsonFn = z113.function().args(z113.string()).returns(z113.promise(footprintLibraryResult)).or(
|
|
2439
|
+
z113.function().args(
|
|
2440
|
+
z113.string(),
|
|
2441
|
+
z113.object({ resolvedPcbStyle: pcbStyle.optional() }).optional()
|
|
2442
|
+
).returns(z113.promise(footprintLibraryResult))
|
|
2414
2443
|
).describe("A function that takes a path and returns Circuit JSON");
|
|
2415
|
-
var footprintFileParserEntry =
|
|
2416
|
-
loadFromUrl:
|
|
2444
|
+
var footprintFileParserEntry = z113.object({
|
|
2445
|
+
loadFromUrl: z113.function().args(z113.string()).returns(z113.promise(footprintLibraryResult)).describe(
|
|
2417
2446
|
"A function that takes a footprint file URL and returns Circuit JSON"
|
|
2418
2447
|
)
|
|
2419
2448
|
});
|
|
2420
|
-
var spiceEngineSimulationResult =
|
|
2421
|
-
engineVersionString:
|
|
2449
|
+
var spiceEngineSimulationResult = z113.object({
|
|
2450
|
+
engineVersionString: z113.string().optional(),
|
|
2422
2451
|
simulationResultCircuitJson: unvalidatedCircuitJson
|
|
2423
2452
|
});
|
|
2424
|
-
var spiceEngineZod =
|
|
2425
|
-
simulate:
|
|
2453
|
+
var spiceEngineZod = z113.object({
|
|
2454
|
+
simulate: z113.function().args(z113.string()).returns(z113.promise(spiceEngineSimulationResult)).describe(
|
|
2426
2455
|
"A function that takes a SPICE string and returns a simulation result"
|
|
2427
2456
|
)
|
|
2428
2457
|
});
|
|
2429
|
-
var defaultSpiceEngine =
|
|
2458
|
+
var defaultSpiceEngine = z113.custom(
|
|
2430
2459
|
(value) => typeof value === "string"
|
|
2431
2460
|
);
|
|
2432
|
-
var autorouterInstance =
|
|
2433
|
-
run:
|
|
2434
|
-
getOutputSimpleRouteJson:
|
|
2461
|
+
var autorouterInstance = z113.object({
|
|
2462
|
+
run: z113.function().args().returns(z113.promise(z113.unknown())).describe("Run the autorouter"),
|
|
2463
|
+
getOutputSimpleRouteJson: z113.function().args().returns(z113.promise(z113.any())).describe("Get the resulting SimpleRouteJson")
|
|
2435
2464
|
});
|
|
2436
|
-
var autorouterDefinition =
|
|
2437
|
-
createAutorouter:
|
|
2465
|
+
var autorouterDefinition = z113.object({
|
|
2466
|
+
createAutorouter: z113.function().args(z113.any(), z113.any().optional()).returns(z113.union([autorouterInstance, z113.promise(autorouterInstance)])).describe("Create an autorouter instance")
|
|
2438
2467
|
});
|
|
2439
|
-
var platformConfig =
|
|
2468
|
+
var platformConfig = z113.object({
|
|
2440
2469
|
partsEngine: partsEngine.optional(),
|
|
2441
2470
|
autorouter: autorouterProp.optional(),
|
|
2442
|
-
autorouterMap:
|
|
2443
|
-
registryApiUrl:
|
|
2444
|
-
cloudAutorouterUrl:
|
|
2445
|
-
projectName:
|
|
2446
|
-
projectBaseUrl:
|
|
2447
|
-
version:
|
|
2448
|
-
url:
|
|
2449
|
-
printBoardInformationToSilkscreen:
|
|
2450
|
-
includeBoardFiles:
|
|
2471
|
+
autorouterMap: z113.record(z113.string(), autorouterDefinition).optional(),
|
|
2472
|
+
registryApiUrl: z113.string().optional(),
|
|
2473
|
+
cloudAutorouterUrl: z113.string().optional(),
|
|
2474
|
+
projectName: z113.string().optional(),
|
|
2475
|
+
projectBaseUrl: z113.string().optional(),
|
|
2476
|
+
version: z113.string().optional(),
|
|
2477
|
+
url: z113.string().optional(),
|
|
2478
|
+
printBoardInformationToSilkscreen: z113.boolean().optional(),
|
|
2479
|
+
includeBoardFiles: z113.array(z113.string()).describe(
|
|
2451
2480
|
'The board files to automatically build with "tsci build", defaults to ["**/*.circuit.tsx"]. Can be an array of files or globs'
|
|
2452
2481
|
).optional(),
|
|
2453
|
-
snapshotsDir:
|
|
2482
|
+
snapshotsDir: z113.string().describe(
|
|
2454
2483
|
'The directory where snapshots are stored for "tsci snapshot", defaults to "tests/__snapshots__"'
|
|
2455
2484
|
).optional(),
|
|
2456
2485
|
defaultSpiceEngine: defaultSpiceEngine.optional(),
|
|
2457
|
-
localCacheEngine:
|
|
2458
|
-
pcbDisabled:
|
|
2459
|
-
schematicDisabled:
|
|
2460
|
-
partsEngineDisabled:
|
|
2461
|
-
spiceEngineMap:
|
|
2462
|
-
footprintLibraryMap:
|
|
2463
|
-
|
|
2464
|
-
|
|
2486
|
+
localCacheEngine: z113.any().optional(),
|
|
2487
|
+
pcbDisabled: z113.boolean().optional(),
|
|
2488
|
+
schematicDisabled: z113.boolean().optional(),
|
|
2489
|
+
partsEngineDisabled: z113.boolean().optional(),
|
|
2490
|
+
spiceEngineMap: z113.record(z113.string(), spiceEngineZod).optional(),
|
|
2491
|
+
footprintLibraryMap: z113.record(
|
|
2492
|
+
z113.string(),
|
|
2493
|
+
z113.union([
|
|
2465
2494
|
pathToCircuitJsonFn,
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2495
|
+
z113.record(
|
|
2496
|
+
z113.string(),
|
|
2497
|
+
z113.union([unvalidatedCircuitJson, pathToCircuitJsonFn])
|
|
2469
2498
|
)
|
|
2470
2499
|
])
|
|
2471
2500
|
).optional(),
|
|
2472
|
-
footprintFileParserMap:
|
|
2473
|
-
resolveProjectStaticFileImportUrl:
|
|
2501
|
+
footprintFileParserMap: z113.record(z113.string(), footprintFileParserEntry).optional(),
|
|
2502
|
+
resolveProjectStaticFileImportUrl: z113.function().args(z113.string()).returns(z113.promise(z113.string())).describe(
|
|
2474
2503
|
"A function that returns a string URL for static files for the project"
|
|
2475
2504
|
).optional()
|
|
2476
2505
|
});
|
|
@@ -2535,6 +2564,9 @@ export {
|
|
|
2535
2564
|
courtyardRectProps,
|
|
2536
2565
|
crystalPins,
|
|
2537
2566
|
crystalProps,
|
|
2567
|
+
currentSourcePinLabels,
|
|
2568
|
+
currentSourcePins,
|
|
2569
|
+
currentSourceProps,
|
|
2538
2570
|
cutoutProps,
|
|
2539
2571
|
diodePins,
|
|
2540
2572
|
diodeProps,
|