@tscircuit/parts-engine 0.0.17 → 0.0.19
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/dist/index.d.ts +132 -17
- package/dist/index.js +121 -17
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,32 @@
|
|
|
1
|
-
import { PartsEngine } from '@tscircuit/props';
|
|
2
1
|
import * as zod from 'zod';
|
|
2
|
+
import { PartsEngine } from '@tscircuit/props';
|
|
3
3
|
|
|
4
|
-
type PlatformFetch = typeof fetch
|
|
4
|
+
type PlatformFetch = (input: Parameters<typeof fetch>[0], init?: Parameters<typeof fetch>[1]) => ReturnType<typeof fetch>;
|
|
5
5
|
type FetchPartCircuitJsonParams = {
|
|
6
6
|
supplierPartNumber?: string;
|
|
7
7
|
manufacturerPartNumber?: string;
|
|
8
8
|
platformFetch?: PlatformFetch;
|
|
9
9
|
};
|
|
10
|
-
type
|
|
10
|
+
type EasyEdaProxyConfig = {
|
|
11
|
+
proxyEndpointUrl: string;
|
|
12
|
+
headers?: Record<string, string>;
|
|
13
|
+
};
|
|
14
|
+
type JlcPcbPartsEngineOptions = {
|
|
11
15
|
platformFetch?: PlatformFetch;
|
|
16
|
+
easyEdaProxyConfig?: EasyEdaProxyConfig;
|
|
12
17
|
};
|
|
13
18
|
|
|
14
|
-
declare class
|
|
15
|
-
private readonly
|
|
16
|
-
|
|
19
|
+
declare class JlcPcbPartsEngine implements PartsEngine {
|
|
20
|
+
private readonly defaultPlatformFetch;
|
|
21
|
+
private readonly easyEdaProxyConfig;
|
|
22
|
+
constructor({ platformFetch: defaultPlatformFetch, easyEdaProxyConfig, }?: JlcPcbPartsEngineOptions);
|
|
23
|
+
private getEasyEdaPlatformFetch;
|
|
17
24
|
findPart({ sourceComponent, footprinterString, }: Parameters<PartsEngine["findPart"]>[0]): Promise<{
|
|
18
25
|
jlcpcb: string[];
|
|
19
26
|
} | {
|
|
20
27
|
jlcpcb?: undefined;
|
|
21
28
|
}>;
|
|
22
|
-
fetchPartCircuitJson({ supplierPartNumber, manufacturerPartNumber, platformFetch:
|
|
29
|
+
fetchPartCircuitJson({ supplierPartNumber, manufacturerPartNumber, platformFetch: platformFetchOverride, }: Parameters<NonNullable<PartsEngine["fetchPartCircuitJson"]>>[0]): Promise<({
|
|
23
30
|
type: "source_trace";
|
|
24
31
|
source_trace_id: string;
|
|
25
32
|
connected_source_port_ids: string[];
|
|
@@ -243,6 +250,7 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
243
250
|
display_name?: string | undefined;
|
|
244
251
|
are_pins_interchangeable?: boolean | undefined;
|
|
245
252
|
internally_connected_source_port_ids?: string[][] | undefined;
|
|
253
|
+
display_inductance?: string | undefined;
|
|
246
254
|
max_current_rating?: number | undefined;
|
|
247
255
|
} | {
|
|
248
256
|
type: "source_component";
|
|
@@ -550,6 +558,14 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
550
558
|
warning_type: "source_pin_missing_trace_warning";
|
|
551
559
|
source_pin_missing_trace_warning_id: string;
|
|
552
560
|
subcircuit_id?: string | undefined;
|
|
561
|
+
} | {
|
|
562
|
+
message: string;
|
|
563
|
+
type: "source_missing_manufacturer_part_number_warning";
|
|
564
|
+
source_component_id: string;
|
|
565
|
+
warning_type: "source_missing_manufacturer_part_number_warning";
|
|
566
|
+
standard: string;
|
|
567
|
+
source_missing_manufacturer_part_number_warning_id: string;
|
|
568
|
+
subcircuit_id?: string | undefined;
|
|
553
569
|
} | {
|
|
554
570
|
message: string;
|
|
555
571
|
type: "source_i2c_misconfigured_error";
|
|
@@ -695,6 +711,7 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
695
711
|
display_name?: string | undefined;
|
|
696
712
|
are_pins_interchangeable?: boolean | undefined;
|
|
697
713
|
internally_connected_source_port_ids?: string[][] | undefined;
|
|
714
|
+
display_inductance?: string | undefined;
|
|
698
715
|
max_current_rating?: number | undefined;
|
|
699
716
|
} | {
|
|
700
717
|
type: "source_component";
|
|
@@ -896,6 +913,14 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
896
913
|
warning_type: "source_pin_missing_trace_warning";
|
|
897
914
|
source_pin_missing_trace_warning_id: string;
|
|
898
915
|
subcircuit_id?: string | undefined;
|
|
916
|
+
} | {
|
|
917
|
+
message: string;
|
|
918
|
+
type: "source_missing_manufacturer_part_number_warning";
|
|
919
|
+
source_component_id: string;
|
|
920
|
+
warning_type: "source_missing_manufacturer_part_number_warning";
|
|
921
|
+
standard: string;
|
|
922
|
+
source_missing_manufacturer_part_number_warning_id: string;
|
|
923
|
+
subcircuit_id?: string | undefined;
|
|
899
924
|
} | {
|
|
900
925
|
message: string;
|
|
901
926
|
type: "source_no_power_pin_defined_warning";
|
|
@@ -983,6 +1008,7 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
983
1008
|
x: number;
|
|
984
1009
|
y: number;
|
|
985
1010
|
} | undefined;
|
|
1011
|
+
insertion_direction?: "from_above" | "from_left" | "from_right" | "from_front" | "from_back" | undefined;
|
|
986
1012
|
metadata?: {
|
|
987
1013
|
kicad_footprint?: {
|
|
988
1014
|
layer?: string | undefined;
|
|
@@ -1230,8 +1256,8 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
1230
1256
|
type: "pcb_manual_edit_conflict_warning";
|
|
1231
1257
|
pcb_component_id: string;
|
|
1232
1258
|
source_component_id: string;
|
|
1233
|
-
pcb_manual_edit_conflict_warning_id: string;
|
|
1234
1259
|
warning_type: "pcb_manual_edit_conflict_warning";
|
|
1260
|
+
pcb_manual_edit_conflict_warning_id: string;
|
|
1235
1261
|
subcircuit_id?: string | undefined;
|
|
1236
1262
|
pcb_group_id?: string | undefined;
|
|
1237
1263
|
} | {
|
|
@@ -1245,6 +1271,19 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
1245
1271
|
source_component_id?: string | undefined;
|
|
1246
1272
|
subcircuit_id?: string | undefined;
|
|
1247
1273
|
pcb_board_id?: string | undefined;
|
|
1274
|
+
} | {
|
|
1275
|
+
message: string;
|
|
1276
|
+
type: "supplier_footprint_mismatch_warning";
|
|
1277
|
+
source_component_id: string;
|
|
1278
|
+
warning_type: "supplier_footprint_mismatch_warning";
|
|
1279
|
+
supplier_footprint_mismatch_warning_id: string;
|
|
1280
|
+
footprint_copper_intersection_over_union: number;
|
|
1281
|
+
pcb_component_id?: string | undefined;
|
|
1282
|
+
subcircuit_id?: string | undefined;
|
|
1283
|
+
pcb_group_id?: string | undefined;
|
|
1284
|
+
supplier_name?: "jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc" | undefined;
|
|
1285
|
+
supplier_part_number?: string | undefined;
|
|
1286
|
+
supplier_footprint_url?: string | undefined;
|
|
1248
1287
|
} | {
|
|
1249
1288
|
x: number;
|
|
1250
1289
|
y: number;
|
|
@@ -1467,6 +1506,20 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
1467
1506
|
should_round_corners?: boolean | undefined;
|
|
1468
1507
|
trace_length?: number | undefined;
|
|
1469
1508
|
highlight_color?: string | undefined;
|
|
1509
|
+
} | {
|
|
1510
|
+
message: string;
|
|
1511
|
+
type: "pcb_trace_warning";
|
|
1512
|
+
source_trace_id: string;
|
|
1513
|
+
pcb_trace_id: string;
|
|
1514
|
+
pcb_trace_warning_id: string;
|
|
1515
|
+
warning_type: "pcb_trace_warning";
|
|
1516
|
+
pcb_component_ids: string[];
|
|
1517
|
+
pcb_port_ids: string[];
|
|
1518
|
+
center?: {
|
|
1519
|
+
x: number;
|
|
1520
|
+
y: number;
|
|
1521
|
+
} | undefined;
|
|
1522
|
+
subcircuit_id?: string | undefined;
|
|
1470
1523
|
} | {
|
|
1471
1524
|
x: number;
|
|
1472
1525
|
y: number;
|
|
@@ -1673,6 +1726,14 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
1673
1726
|
material: "fr4" | "fr1";
|
|
1674
1727
|
width?: number | undefined;
|
|
1675
1728
|
height?: number | undefined;
|
|
1729
|
+
min_trace_width?: number | undefined;
|
|
1730
|
+
min_board_edge_clearance?: number | undefined;
|
|
1731
|
+
min_via_hole_edge_to_via_hole_edge_clearance?: number | undefined;
|
|
1732
|
+
min_plated_hole_drill_edge_to_drill_edge_clearance?: number | undefined;
|
|
1733
|
+
min_trace_to_pad_edge_clearance?: number | undefined;
|
|
1734
|
+
min_pad_edge_to_pad_edge_clearance?: number | undefined;
|
|
1735
|
+
min_via_hole_diameter?: number | undefined;
|
|
1736
|
+
min_via_pad_diameter?: number | undefined;
|
|
1676
1737
|
shape?: "rect" | "polygon" | undefined;
|
|
1677
1738
|
display_offset_x?: string | undefined;
|
|
1678
1739
|
display_offset_y?: string | undefined;
|
|
@@ -1888,10 +1949,10 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
1888
1949
|
type: "pcb_trace_error";
|
|
1889
1950
|
source_trace_id: string;
|
|
1890
1951
|
pcb_trace_id: string;
|
|
1891
|
-
error_type: "pcb_trace_error";
|
|
1892
|
-
pcb_trace_error_id: string;
|
|
1893
1952
|
pcb_component_ids: string[];
|
|
1894
1953
|
pcb_port_ids: string[];
|
|
1954
|
+
error_type: "pcb_trace_error";
|
|
1955
|
+
pcb_trace_error_id: string;
|
|
1895
1956
|
center?: {
|
|
1896
1957
|
x: number;
|
|
1897
1958
|
y: number;
|
|
@@ -1902,9 +1963,9 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
1902
1963
|
message: string;
|
|
1903
1964
|
type: "pcb_trace_missing_error";
|
|
1904
1965
|
source_trace_id: string;
|
|
1905
|
-
error_type: "pcb_trace_missing_error";
|
|
1906
1966
|
pcb_component_ids: string[];
|
|
1907
1967
|
pcb_port_ids: string[];
|
|
1968
|
+
error_type: "pcb_trace_missing_error";
|
|
1908
1969
|
pcb_trace_missing_error_id: string;
|
|
1909
1970
|
center?: {
|
|
1910
1971
|
x: number;
|
|
@@ -1931,17 +1992,17 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
1931
1992
|
} | {
|
|
1932
1993
|
message: string;
|
|
1933
1994
|
type: "pcb_port_not_matched_error";
|
|
1934
|
-
error_type: "pcb_port_not_matched_error";
|
|
1935
1995
|
pcb_component_ids: string[];
|
|
1996
|
+
error_type: "pcb_port_not_matched_error";
|
|
1936
1997
|
pcb_error_id: string;
|
|
1937
1998
|
subcircuit_id?: string | undefined;
|
|
1938
1999
|
is_fatal?: boolean | undefined;
|
|
1939
2000
|
} | {
|
|
1940
2001
|
message: string;
|
|
1941
2002
|
type: "pcb_port_not_connected_error";
|
|
1942
|
-
error_type: "pcb_port_not_connected_error";
|
|
1943
2003
|
pcb_component_ids: string[];
|
|
1944
2004
|
pcb_port_ids: string[];
|
|
2005
|
+
error_type: "pcb_port_not_connected_error";
|
|
1945
2006
|
pcb_port_not_connected_error_id: string;
|
|
1946
2007
|
subcircuit_id?: string | undefined;
|
|
1947
2008
|
is_fatal?: boolean | undefined;
|
|
@@ -1959,6 +2020,50 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
1959
2020
|
x?: number | undefined;
|
|
1960
2021
|
y?: number | undefined;
|
|
1961
2022
|
} | undefined;
|
|
2023
|
+
} | {
|
|
2024
|
+
message: string;
|
|
2025
|
+
type: "pcb_via_trace_clearance_error";
|
|
2026
|
+
pcb_trace_id: string;
|
|
2027
|
+
error_type: "pcb_via_trace_clearance_error";
|
|
2028
|
+
pcb_via_id: string;
|
|
2029
|
+
pcb_via_trace_clearance_error_id: string;
|
|
2030
|
+
center?: {
|
|
2031
|
+
x?: number | undefined;
|
|
2032
|
+
y?: number | undefined;
|
|
2033
|
+
} | undefined;
|
|
2034
|
+
subcircuit_id?: string | undefined;
|
|
2035
|
+
is_fatal?: boolean | undefined;
|
|
2036
|
+
minimum_clearance?: number | undefined;
|
|
2037
|
+
actual_clearance?: number | undefined;
|
|
2038
|
+
} | {
|
|
2039
|
+
message: string;
|
|
2040
|
+
type: "pcb_pad_pad_clearance_error";
|
|
2041
|
+
error_type: "pcb_pad_pad_clearance_error";
|
|
2042
|
+
pcb_pad_pad_clearance_error_id: string;
|
|
2043
|
+
pcb_pad_ids: string[];
|
|
2044
|
+
center?: {
|
|
2045
|
+
x?: number | undefined;
|
|
2046
|
+
y?: number | undefined;
|
|
2047
|
+
} | undefined;
|
|
2048
|
+
subcircuit_id?: string | undefined;
|
|
2049
|
+
is_fatal?: boolean | undefined;
|
|
2050
|
+
minimum_clearance?: number | undefined;
|
|
2051
|
+
actual_clearance?: number | undefined;
|
|
2052
|
+
} | {
|
|
2053
|
+
message: string;
|
|
2054
|
+
type: "pcb_pad_trace_clearance_error";
|
|
2055
|
+
pcb_trace_id: string;
|
|
2056
|
+
error_type: "pcb_pad_trace_clearance_error";
|
|
2057
|
+
pcb_pad_trace_clearance_error_id: string;
|
|
2058
|
+
pcb_pad_id: string;
|
|
2059
|
+
center?: {
|
|
2060
|
+
x?: number | undefined;
|
|
2061
|
+
y?: number | undefined;
|
|
2062
|
+
} | undefined;
|
|
2063
|
+
subcircuit_id?: string | undefined;
|
|
2064
|
+
is_fatal?: boolean | undefined;
|
|
2065
|
+
minimum_clearance?: number | undefined;
|
|
2066
|
+
actual_clearance?: number | undefined;
|
|
1962
2067
|
} | {
|
|
1963
2068
|
type: "pcb_fabrication_note_path";
|
|
1964
2069
|
layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
@@ -2036,6 +2141,7 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
2036
2141
|
} | {
|
|
2037
2142
|
type: "pcb_note_text";
|
|
2038
2143
|
font: "tscircuit2024";
|
|
2144
|
+
layer: "top" | "bottom";
|
|
2039
2145
|
anchor_position: {
|
|
2040
2146
|
x: number;
|
|
2041
2147
|
y: number;
|
|
@@ -2049,10 +2155,12 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
2049
2155
|
pcb_group_id?: string | undefined;
|
|
2050
2156
|
text?: string | undefined;
|
|
2051
2157
|
color?: string | undefined;
|
|
2158
|
+
is_mirrored_from_top_view?: boolean | undefined;
|
|
2052
2159
|
} | {
|
|
2053
2160
|
type: "pcb_note_rect";
|
|
2054
2161
|
width: number;
|
|
2055
2162
|
height: number;
|
|
2163
|
+
layer: "top" | "bottom";
|
|
2056
2164
|
center: {
|
|
2057
2165
|
x: number;
|
|
2058
2166
|
y: number;
|
|
@@ -2071,6 +2179,7 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
2071
2179
|
color?: string | undefined;
|
|
2072
2180
|
} | {
|
|
2073
2181
|
type: "pcb_note_path";
|
|
2182
|
+
layer: "top" | "bottom";
|
|
2074
2183
|
route: {
|
|
2075
2184
|
x: number;
|
|
2076
2185
|
y: number;
|
|
@@ -2085,6 +2194,7 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
2085
2194
|
color?: string | undefined;
|
|
2086
2195
|
} | {
|
|
2087
2196
|
type: "pcb_note_line";
|
|
2197
|
+
layer: "top" | "bottom";
|
|
2088
2198
|
stroke_width: number;
|
|
2089
2199
|
x1: number;
|
|
2090
2200
|
y1: number;
|
|
@@ -2101,6 +2211,7 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
2101
2211
|
} | {
|
|
2102
2212
|
type: "pcb_note_dimension";
|
|
2103
2213
|
font: "tscircuit2024";
|
|
2214
|
+
layer: "top" | "bottom";
|
|
2104
2215
|
font_size: number;
|
|
2105
2216
|
from: {
|
|
2106
2217
|
x: number;
|
|
@@ -2144,8 +2255,8 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
2144
2255
|
} | {
|
|
2145
2256
|
message: string;
|
|
2146
2257
|
type: "pcb_courtyard_overlap_error";
|
|
2147
|
-
error_type: "pcb_courtyard_overlap_error";
|
|
2148
2258
|
pcb_component_ids: [string, string];
|
|
2259
|
+
error_type: "pcb_courtyard_overlap_error";
|
|
2149
2260
|
pcb_error_id: string;
|
|
2150
2261
|
is_fatal?: boolean | undefined;
|
|
2151
2262
|
} | {
|
|
@@ -4256,7 +4367,11 @@ declare class JlcPartsEngine implements PartsEngine {
|
|
|
4256
4367
|
|
|
4257
4368
|
declare const cache: Map<string, any>;
|
|
4258
4369
|
|
|
4259
|
-
declare const
|
|
4260
|
-
|
|
4370
|
+
declare const getFetchWithEasyEdaProxy: ({ platformFetch: upstreamFetch, easyEdaProxyConfig, }: {
|
|
4371
|
+
platformFetch: PlatformFetch;
|
|
4372
|
+
easyEdaProxyConfig: EasyEdaProxyConfig;
|
|
4373
|
+
}) => PlatformFetch;
|
|
4374
|
+
|
|
4375
|
+
declare const jlcPartsEngine: JlcPcbPartsEngine;
|
|
4261
4376
|
|
|
4262
|
-
export { type
|
|
4377
|
+
export { type EasyEdaProxyConfig, type FetchPartCircuitJsonParams, JlcPcbPartsEngine, type JlcPcbPartsEngineOptions, type PlatformFetch, cache, getFetchWithEasyEdaProxy, jlcPartsEngine };
|
package/dist/index.js
CHANGED
|
@@ -10432,6 +10432,91 @@ var getJlcpcbPackageName = (footprint) => {
|
|
|
10432
10432
|
return getJlcPackageFromFootprinterString(footprint);
|
|
10433
10433
|
};
|
|
10434
10434
|
|
|
10435
|
+
// lib/jlc-parts-engine/getFetchWithEasyEdaProxy.ts
|
|
10436
|
+
var EASYEDA_API_ORIGIN = "https://easyeda.com";
|
|
10437
|
+
var METHODS_WITHOUT_BODY = /* @__PURE__ */ new Set(["GET", "HEAD"]);
|
|
10438
|
+
var getRequestUrl = (requestInput) => {
|
|
10439
|
+
if (typeof requestInput === "string") return requestInput;
|
|
10440
|
+
if (requestInput instanceof URL) return requestInput.toString();
|
|
10441
|
+
return requestInput.url;
|
|
10442
|
+
};
|
|
10443
|
+
var createMergedTargetRequest = (requestInput, requestInit) => {
|
|
10444
|
+
if (requestInput instanceof URL) {
|
|
10445
|
+
return new Request(requestInput.toString(), requestInit);
|
|
10446
|
+
}
|
|
10447
|
+
if (typeof requestInput === "string") {
|
|
10448
|
+
return new Request(requestInput, requestInit);
|
|
10449
|
+
}
|
|
10450
|
+
return new Request(requestInput, requestInit);
|
|
10451
|
+
};
|
|
10452
|
+
var isEasyEdaApiRequestUrl = (requestUrl) => requestUrl.startsWith(`${EASYEDA_API_ORIGIN}/api/`);
|
|
10453
|
+
var getFetchWithEasyEdaProxy = ({
|
|
10454
|
+
platformFetch: upstreamFetch,
|
|
10455
|
+
easyEdaProxyConfig
|
|
10456
|
+
}) => {
|
|
10457
|
+
return async (requestInput, requestInit) => {
|
|
10458
|
+
const targetRequestUrl = getRequestUrl(requestInput);
|
|
10459
|
+
if (!isEasyEdaApiRequestUrl(targetRequestUrl)) {
|
|
10460
|
+
return upstreamFetch(requestInput, requestInit);
|
|
10461
|
+
}
|
|
10462
|
+
const mergedTargetRequest = createMergedTargetRequest(
|
|
10463
|
+
requestInput,
|
|
10464
|
+
requestInit
|
|
10465
|
+
);
|
|
10466
|
+
const targetRequestHeaders = new Headers(mergedTargetRequest.headers);
|
|
10467
|
+
const proxyRequestHeaders = new Headers(targetRequestHeaders);
|
|
10468
|
+
proxyRequestHeaders.delete("origin");
|
|
10469
|
+
proxyRequestHeaders.delete("authority");
|
|
10470
|
+
proxyRequestHeaders.delete("host");
|
|
10471
|
+
proxyRequestHeaders.delete("referer");
|
|
10472
|
+
proxyRequestHeaders.delete("user-agent");
|
|
10473
|
+
proxyRequestHeaders.delete("cookie");
|
|
10474
|
+
proxyRequestHeaders.set("X-Target-Url", targetRequestUrl);
|
|
10475
|
+
proxyRequestHeaders.set(
|
|
10476
|
+
"X-Sender-Origin",
|
|
10477
|
+
targetRequestHeaders.get("origin") ?? ""
|
|
10478
|
+
);
|
|
10479
|
+
proxyRequestHeaders.set(
|
|
10480
|
+
"X-Sender-Host",
|
|
10481
|
+
targetRequestHeaders.get("host") ?? EASYEDA_API_ORIGIN
|
|
10482
|
+
);
|
|
10483
|
+
proxyRequestHeaders.set(
|
|
10484
|
+
"X-Sender-Referer",
|
|
10485
|
+
targetRequestHeaders.get("referer") ?? ""
|
|
10486
|
+
);
|
|
10487
|
+
proxyRequestHeaders.set(
|
|
10488
|
+
"X-Sender-User-Agent",
|
|
10489
|
+
targetRequestHeaders.get("user-agent") ?? ""
|
|
10490
|
+
);
|
|
10491
|
+
proxyRequestHeaders.set(
|
|
10492
|
+
"X-Sender-Cookie",
|
|
10493
|
+
targetRequestHeaders.get("cookie") ?? ""
|
|
10494
|
+
);
|
|
10495
|
+
proxyRequestHeaders.set(
|
|
10496
|
+
"authority",
|
|
10497
|
+
targetRequestHeaders.get("authority") ?? targetRequestHeaders.get("host") ?? ""
|
|
10498
|
+
);
|
|
10499
|
+
proxyRequestHeaders.set(
|
|
10500
|
+
"content-type",
|
|
10501
|
+
targetRequestHeaders.get("content-type") ?? ""
|
|
10502
|
+
);
|
|
10503
|
+
for (const [name, value] of Object.entries(
|
|
10504
|
+
easyEdaProxyConfig.headers ?? {}
|
|
10505
|
+
)) {
|
|
10506
|
+
proxyRequestHeaders.set(name, value);
|
|
10507
|
+
}
|
|
10508
|
+
const proxyRequestBody = METHODS_WITHOUT_BODY.has(
|
|
10509
|
+
mergedTargetRequest.method
|
|
10510
|
+
) ? void 0 : await mergedTargetRequest.clone().arrayBuffer();
|
|
10511
|
+
return upstreamFetch(easyEdaProxyConfig.proxyEndpointUrl, {
|
|
10512
|
+
method: mergedTargetRequest.method,
|
|
10513
|
+
headers: proxyRequestHeaders,
|
|
10514
|
+
body: proxyRequestBody,
|
|
10515
|
+
signal: requestInit?.signal
|
|
10516
|
+
});
|
|
10517
|
+
};
|
|
10518
|
+
};
|
|
10519
|
+
|
|
10435
10520
|
// lib/jlc-parts-engine/jlc-parts-cache.ts
|
|
10436
10521
|
var cache = /* @__PURE__ */ new Map();
|
|
10437
10522
|
var getJlcPartsCached = async (name, params) => {
|
|
@@ -10457,10 +10542,25 @@ var withBasicPartPreference = (parts) => {
|
|
|
10457
10542
|
};
|
|
10458
10543
|
|
|
10459
10544
|
// lib/jlc-parts-engine/JlcPartsEngine.ts
|
|
10460
|
-
var
|
|
10461
|
-
|
|
10462
|
-
|
|
10463
|
-
|
|
10545
|
+
var JlcPcbPartsEngine = class {
|
|
10546
|
+
defaultPlatformFetch;
|
|
10547
|
+
easyEdaProxyConfig;
|
|
10548
|
+
constructor({
|
|
10549
|
+
platformFetch: defaultPlatformFetch,
|
|
10550
|
+
easyEdaProxyConfig
|
|
10551
|
+
} = {}) {
|
|
10552
|
+
this.defaultPlatformFetch = defaultPlatformFetch;
|
|
10553
|
+
this.easyEdaProxyConfig = easyEdaProxyConfig;
|
|
10554
|
+
}
|
|
10555
|
+
getEasyEdaPlatformFetch(platformFetchOverride) {
|
|
10556
|
+
const resolvedPlatformFetch = platformFetchOverride ?? this.defaultPlatformFetch ?? globalThis.fetch;
|
|
10557
|
+
if (!this.easyEdaProxyConfig) {
|
|
10558
|
+
return resolvedPlatformFetch;
|
|
10559
|
+
}
|
|
10560
|
+
return getFetchWithEasyEdaProxy({
|
|
10561
|
+
platformFetch: resolvedPlatformFetch,
|
|
10562
|
+
easyEdaProxyConfig: this.easyEdaProxyConfig
|
|
10563
|
+
});
|
|
10464
10564
|
}
|
|
10465
10565
|
async findPart({
|
|
10466
10566
|
sourceComponent,
|
|
@@ -10613,32 +10713,36 @@ var JlcPartsEngine = class {
|
|
|
10613
10713
|
async fetchPartCircuitJson({
|
|
10614
10714
|
supplierPartNumber,
|
|
10615
10715
|
manufacturerPartNumber,
|
|
10616
|
-
platformFetch:
|
|
10716
|
+
platformFetch: platformFetchOverride
|
|
10617
10717
|
}) {
|
|
10618
|
-
const
|
|
10619
|
-
|
|
10620
|
-
|
|
10718
|
+
const easyEdaPlatformFetch = this.getEasyEdaPlatformFetch(
|
|
10719
|
+
platformFetchOverride
|
|
10720
|
+
);
|
|
10721
|
+
let resolvedSupplierPartNumber = supplierPartNumber;
|
|
10722
|
+
if (!resolvedSupplierPartNumber && manufacturerPartNumber) {
|
|
10621
10723
|
const { components } = await getJlcPartsCached("components", {
|
|
10622
10724
|
search: manufacturerPartNumber
|
|
10623
10725
|
});
|
|
10624
|
-
|
|
10726
|
+
resolvedSupplierPartNumber = components?.[0] ? `C${components[0].lcsc}` : void 0;
|
|
10625
10727
|
}
|
|
10626
|
-
if (!
|
|
10627
|
-
const rawEasyEdaJson = await fetchEasyEDAComponent(
|
|
10628
|
-
|
|
10629
|
-
|
|
10728
|
+
if (!resolvedSupplierPartNumber) return void 0;
|
|
10729
|
+
const rawEasyEdaJson = await fetchEasyEDAComponent(
|
|
10730
|
+
resolvedSupplierPartNumber,
|
|
10731
|
+
{
|
|
10732
|
+
fetch: easyEdaPlatformFetch
|
|
10733
|
+
}
|
|
10734
|
+
);
|
|
10630
10735
|
const parsed = EasyEdaJsonSchema.parse(rawEasyEdaJson);
|
|
10631
10736
|
return convertEasyEdaJsonToCircuitJson(parsed);
|
|
10632
10737
|
}
|
|
10633
10738
|
};
|
|
10634
10739
|
|
|
10635
10740
|
// lib/jlc-parts-engine/index.ts
|
|
10636
|
-
var
|
|
10637
|
-
var jlcPartsEngine = new JlcPartsEngine();
|
|
10741
|
+
var jlcPartsEngine = new JlcPcbPartsEngine();
|
|
10638
10742
|
export {
|
|
10639
|
-
|
|
10743
|
+
JlcPcbPartsEngine,
|
|
10640
10744
|
cache,
|
|
10641
|
-
|
|
10745
|
+
getFetchWithEasyEdaProxy,
|
|
10642
10746
|
jlcPartsEngine
|
|
10643
10747
|
};
|
|
10644
10748
|
//# sourceMappingURL=index.js.map
|