@typecad/typecad
Version:
🤖programmatically 💥create 🛰️hardware
46 lines (45 loc) • 1.34 kB
TypeScript
import { Component } from "./component";
import { Pin } from "./pin";
import { UUID } from "node:crypto";
export type BomField = 'Reference' | 'Value' | 'Datasheet' | 'Footprint' | 'MPN' | 'Description' | 'Voltage' | 'Wattage';
export interface ISchematicOptions {
net_prefix: string;
bom_fields: BomField[];
bom_separator: string;
}
export declare class Schematic {
#private;
Components: Component[];
Sheetname: string;
uuid: UUID;
private sxexp_components;
private sxexp_nets;
private code_counter;
Nodes: {
name: string;
code: number;
nodes: Pin[];
owner: Component | null;
}[];
merged_nets: {
old_name: string;
merged_to_number: number;
}[];
private _chained_name;
get option(): ISchematicOptions;
private _storeNetParams;
bom(output_folder?: string): false | undefined;
constructor(Sheetname: string);
add(...components: Component[]): void;
dnc(...pins: Pin[]): void;
named(name: string): this;
net(...pins: Pin[]): void;
private make_sexp_net;
create(...component: Component[]): false | undefined;
erc(): void;
error(error: string): void;
warn(warning: string): void;
private getComponentIcon;
private formatComponentDisplay;
private displayGroupHierarchy;
}