circuitscript 0.3.2 → 0.4.1

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.
Files changed (147) hide show
  1. package/dist/cjs/BaseVisitor.js +394 -262
  2. package/dist/cjs/LexerDiagnosticListener.js +375 -0
  3. package/dist/cjs/{ComponentAnnotater.js → annotate/ComponentAnnotater.js} +29 -15
  4. package/dist/cjs/annotate/DefaultPostAnnotationCallback.js +126 -0
  5. package/dist/cjs/{RefdesAnnotationVisitor.js → annotate/RefdesAnnotationVisitor.js} +8 -82
  6. package/dist/cjs/annotate/utils.js +70 -0
  7. package/dist/cjs/antlr/CircuitScriptLexer.js +279 -286
  8. package/dist/cjs/antlr/CircuitScriptParser.js +1954 -3535
  9. package/dist/cjs/antlr/CircuitScriptParserVisitor.js +7 -0
  10. package/dist/cjs/cache/deserializer.js +34 -0
  11. package/dist/cjs/cache/hash.js +8 -0
  12. package/dist/cjs/cache/serializer.js +122 -0
  13. package/dist/cjs/cache/storage.js +45 -0
  14. package/dist/cjs/cache/types.js +4 -0
  15. package/dist/cjs/{environment.js → environment/environment.js} +18 -6
  16. package/dist/cjs/environment/esm-environment.js +21 -0
  17. package/dist/cjs/environment/helpers.js +8 -0
  18. package/dist/cjs/execute.js +49 -15
  19. package/dist/cjs/globals.js +9 -1
  20. package/dist/cjs/helpers.js +3 -485
  21. package/dist/cjs/importResolver.js +102 -0
  22. package/dist/cjs/index.js +12 -7
  23. package/dist/cjs/lexer.js +48 -12
  24. package/dist/cjs/main.js +14 -4
  25. package/dist/cjs/objects/ClassComponent.js +1 -1
  26. package/dist/cjs/objects/ExecutionScope.js +0 -1
  27. package/dist/cjs/objects/types.js +17 -1
  28. package/dist/cjs/parser.js +18 -4
  29. package/dist/cjs/pipeline.js +284 -0
  30. package/dist/cjs/regenerate-tests.js +4 -3
  31. package/dist/cjs/render/KiCadNetListOutputHandler.js +30 -0
  32. package/dist/cjs/render/PaperSizes.js +46 -0
  33. package/dist/cjs/{draw_symbols.js → render/draw_symbols.js} +58 -36
  34. package/dist/cjs/{export.js → render/export.js} +2 -2
  35. package/dist/cjs/{geometry.js → render/geometry.js} +5 -5
  36. package/dist/cjs/{graph.js → render/graph.js} +7 -7
  37. package/dist/cjs/{layout.js → render/layout.js} +8 -8
  38. package/dist/cjs/{render.js → render/render.js} +9 -8
  39. package/dist/cjs/rules-check/no-connect-on-connected-pin.js +1 -1
  40. package/dist/cjs/rules-check/unconnected-pins.js +1 -1
  41. package/dist/cjs/{SemanticTokenVisitor.js → semantic-tokens/SemanticTokenVisitor.js} +12 -14
  42. package/dist/cjs/semantic-tokens/getSemanticTokens.js +55 -0
  43. package/dist/cjs/sizing.js +2 -2
  44. package/dist/cjs/utils.js +2 -2
  45. package/dist/cjs/validate/SymbolValidatorResolveVisitor.js +6 -0
  46. package/dist/cjs/validate/SymbolValidatorVisitor.js +34 -39
  47. package/dist/cjs/validate/validateScript.js +54 -0
  48. package/dist/cjs/validate.js +5 -4
  49. package/dist/cjs/visitor.js +140 -204
  50. package/dist/esm/BaseVisitor.js +396 -264
  51. package/dist/esm/LexerDiagnosticListener.js +371 -0
  52. package/dist/esm/{ComponentAnnotater.js → annotate/ComponentAnnotater.js} +29 -15
  53. package/dist/esm/annotate/DefaultPostAnnotationCallback.js +122 -0
  54. package/dist/esm/{RefdesAnnotationVisitor.js → annotate/RefdesAnnotationVisitor.js} +8 -82
  55. package/dist/esm/annotate/utils.js +66 -0
  56. package/dist/esm/antlr/CircuitScriptLexer.js +279 -286
  57. package/dist/esm/antlr/CircuitScriptParser.js +1962 -3522
  58. package/dist/esm/antlr/{CircuitScriptVisitor.js → CircuitScriptParserVisitor.js} +14 -35
  59. package/dist/esm/cache/deserializer.js +30 -0
  60. package/dist/esm/cache/hash.js +4 -0
  61. package/dist/esm/cache/serializer.js +118 -0
  62. package/dist/esm/cache/storage.js +39 -0
  63. package/dist/esm/cache/types.js +1 -0
  64. package/dist/esm/{environment.js → environment/environment.js} +18 -6
  65. package/dist/esm/environment/esm-environment.js +17 -0
  66. package/dist/esm/environment/helpers.js +4 -0
  67. package/dist/esm/execute.js +49 -15
  68. package/dist/esm/globals.js +8 -0
  69. package/dist/esm/helpers.js +5 -474
  70. package/dist/esm/importResolver.js +96 -0
  71. package/dist/esm/index.js +12 -7
  72. package/dist/esm/lexer.js +51 -12
  73. package/dist/esm/main.js +13 -3
  74. package/dist/esm/objects/ClassComponent.js +1 -1
  75. package/dist/esm/objects/ExecutionScope.js +0 -1
  76. package/dist/esm/objects/types.js +21 -1
  77. package/dist/esm/parser.js +19 -5
  78. package/dist/esm/pipeline.js +276 -0
  79. package/dist/esm/regenerate-tests.js +3 -2
  80. package/dist/esm/render/KiCadNetListOutputHandler.js +20 -0
  81. package/dist/esm/render/PaperSizes.js +41 -0
  82. package/dist/esm/{draw_symbols.js → render/draw_symbols.js} +58 -36
  83. package/dist/esm/{export.js → render/export.js} +2 -2
  84. package/dist/esm/{geometry.js → render/geometry.js} +5 -5
  85. package/dist/esm/{graph.js → render/graph.js} +7 -7
  86. package/dist/esm/{layout.js → render/layout.js} +8 -8
  87. package/dist/esm/{render.js → render/render.js} +8 -7
  88. package/dist/esm/rules-check/no-connect-on-connected-pin.js +1 -1
  89. package/dist/esm/rules-check/unconnected-pins.js +1 -1
  90. package/dist/esm/{SemanticTokenVisitor.js → semantic-tokens/SemanticTokenVisitor.js} +12 -14
  91. package/dist/esm/semantic-tokens/getSemanticTokens.js +51 -0
  92. package/dist/esm/sizing.js +2 -2
  93. package/dist/esm/utils.js +2 -2
  94. package/dist/esm/validate/SymbolValidatorResolveVisitor.js +3 -0
  95. package/dist/esm/validate/SymbolValidatorVisitor.js +36 -41
  96. package/dist/esm/validate/validateScript.js +50 -0
  97. package/dist/esm/validate.js +4 -3
  98. package/dist/esm/visitor.js +142 -206
  99. package/dist/libs/std.cst +15 -19
  100. package/dist/types/BaseVisitor.d.ts +25 -18
  101. package/dist/types/BomGeneration.d.ts +1 -1
  102. package/dist/types/LexerDiagnosticListener.d.ts +85 -0
  103. package/dist/types/{ComponentAnnotater.d.ts → annotate/ComponentAnnotater.d.ts} +1 -1
  104. package/dist/types/annotate/DefaultPostAnnotationCallback.d.ts +7 -0
  105. package/dist/types/{RefdesAnnotationVisitor.d.ts → annotate/RefdesAnnotationVisitor.d.ts} +6 -8
  106. package/dist/types/annotate/utils.d.ts +6 -0
  107. package/dist/types/antlr/CircuitScriptLexer.d.ts +71 -70
  108. package/dist/types/antlr/CircuitScriptParser.d.ts +357 -515
  109. package/dist/types/antlr/{CircuitScriptVisitor.d.ts → CircuitScriptParserVisitor.d.ts} +27 -69
  110. package/dist/types/cache/deserializer.d.ts +5 -0
  111. package/dist/types/cache/hash.d.ts +1 -0
  112. package/dist/types/cache/serializer.d.ts +3 -0
  113. package/dist/types/cache/storage.d.ts +4 -0
  114. package/dist/types/cache/types.d.ts +20 -0
  115. package/dist/types/{environment.d.ts → environment/environment.d.ts} +5 -4
  116. package/dist/types/environment/esm-environment.d.ts +4 -0
  117. package/dist/types/environment/helpers.d.ts +2 -0
  118. package/dist/types/execute.d.ts +3 -2
  119. package/dist/types/globals.d.ts +1 -0
  120. package/dist/types/helpers.d.ts +31 -36
  121. package/dist/types/importResolver.d.ts +4 -0
  122. package/dist/types/index.d.ts +12 -7
  123. package/dist/types/lexer.d.ts +9 -5
  124. package/dist/types/objects/ClassComponent.d.ts +1 -1
  125. package/dist/types/objects/ExecutionScope.d.ts +1 -4
  126. package/dist/types/objects/types.d.ts +16 -2
  127. package/dist/types/parser.d.ts +9 -2
  128. package/dist/types/pipeline.d.ts +9 -0
  129. package/dist/types/render/KiCadNetListOutputHandler.d.ts +10 -0
  130. package/dist/types/render/PaperSizes.d.ts +12 -0
  131. package/dist/types/{draw_symbols.d.ts → render/draw_symbols.d.ts} +4 -4
  132. package/dist/types/{export.d.ts → render/export.d.ts} +1 -1
  133. package/dist/types/{geometry.d.ts → render/geometry.d.ts} +2 -2
  134. package/dist/types/{graph.d.ts → render/graph.d.ts} +6 -6
  135. package/dist/types/{layout.d.ts → render/layout.d.ts} +10 -10
  136. package/dist/types/{render.d.ts → render/render.d.ts} +1 -1
  137. package/dist/types/{SemanticTokenVisitor.d.ts → semantic-tokens/SemanticTokenVisitor.d.ts} +6 -6
  138. package/dist/types/semantic-tokens/getSemanticTokens.d.ts +6 -0
  139. package/dist/types/sizing.d.ts +1 -1
  140. package/dist/types/utils.d.ts +1 -1
  141. package/dist/types/validate/SymbolValidatorResolveVisitor.d.ts +3 -0
  142. package/dist/types/validate/SymbolValidatorVisitor.d.ts +8 -8
  143. package/dist/types/validate/validateScript.d.ts +3 -0
  144. package/dist/types/visitor.d.ts +8 -14
  145. package/libs/std.cst +15 -19
  146. package/package.json +3 -6
  147. package/dist/cjs/antlr/CircuitScriptVisitor.js +0 -7
@@ -3,78 +3,58 @@ import { ScriptContext } from "./CircuitScriptParser.js";
3
3
  import { ExpressionContext } from "./CircuitScriptParser.js";
4
4
  import { Flow_expressionsContext } from "./CircuitScriptParser.js";
5
5
  import { Graph_expressionsContext } from "./CircuitScriptParser.js";
6
- import { Graph_linear_expressionContext } from "./CircuitScriptParser.js";
7
6
  import { Expressions_blockContext } from "./CircuitScriptParser.js";
8
7
  import { Path_blockContext } from "./CircuitScriptParser.js";
9
- import { Property_set_expr2Context } from "./CircuitScriptParser.js";
10
- import { Assignment_expr2Context } from "./CircuitScriptParser.js";
11
8
  import { Pin_select_exprContext } from "./CircuitScriptParser.js";
12
9
  import { Component_modifier_exprContext } from "./CircuitScriptParser.js";
13
10
  import { Data_expr_with_assignmentContext } from "./CircuitScriptParser.js";
11
+ import { Assignment_exprContext } from "./CircuitScriptParser.js";
14
12
  import { Add_component_exprContext } from "./CircuitScriptParser.js";
15
13
  import { Component_select_exprContext } from "./CircuitScriptParser.js";
16
- import { Pin_select_expr2Context } from "./CircuitScriptParser.js";
17
14
  import { At_component_exprContext } from "./CircuitScriptParser.js";
18
15
  import { To_component_exprContext } from "./CircuitScriptParser.js";
19
- import { At_to_multiple_exprContext } from "./CircuitScriptParser.js";
20
- import { At_to_multiple_line_exprContext } from "./CircuitScriptParser.js";
21
- import { At_to_multiple_line_expr_to_pinContext } from "./CircuitScriptParser.js";
16
+ import { At_block_headerContext } from "./CircuitScriptParser.js";
22
17
  import { At_blockContext } from "./CircuitScriptParser.js";
23
18
  import { At_block_expressionsContext } from "./CircuitScriptParser.js";
24
- import { At_block_headerContext } from "./CircuitScriptParser.js";
25
19
  import { At_block_pin_exprContext } from "./CircuitScriptParser.js";
26
- import { At_block_pin_expression_simpleContext } from "./CircuitScriptParser.js";
27
- import { At_block_pin_expression_complexContext } from "./CircuitScriptParser.js";
28
- import { Assignment_exprContext } from "./CircuitScriptParser.js";
29
- import { Operator_assignment_exprContext } from "./CircuitScriptParser.js";
30
20
  import { Keyword_assignment_exprContext } from "./CircuitScriptParser.js";
31
21
  import { ParametersContext } from "./CircuitScriptParser.js";
32
- import { Property_set_exprContext } from "./CircuitScriptParser.js";
33
22
  import { Double_dot_property_set_exprContext } from "./CircuitScriptParser.js";
23
+ import { ValueExprContext } from "./CircuitScriptParser.js";
34
24
  import { ArrayExprContext } from "./CircuitScriptParser.js";
35
- import { ArrayIndexExprContext } from "./CircuitScriptParser.js";
36
- import { FunctionCallExprContext } from "./CircuitScriptParser.js";
37
25
  import { AdditionExprContext } from "./CircuitScriptParser.js";
38
26
  import { MultiplyExprContext } from "./CircuitScriptParser.js";
39
27
  import { LogicalOperatorExprContext } from "./CircuitScriptParser.js";
40
- import { DataExprContext } from "./CircuitScriptParser.js";
28
+ import { CreateExprContext } from "./CircuitScriptParser.js";
41
29
  import { UnaryOperatorExprContext } from "./CircuitScriptParser.js";
42
- import { ValueAtomExprContext } from "./CircuitScriptParser.js";
30
+ import { CallableExprContext } from "./CircuitScriptParser.js";
43
31
  import { BinaryOperatorExprContext } from "./CircuitScriptParser.js";
44
32
  import { RoundedBracketsExprContext } from "./CircuitScriptParser.js";
45
- import { Binary_operatorContext } from "./CircuitScriptParser.js";
46
- import { Unary_operatorContext } from "./CircuitScriptParser.js";
47
33
  import { Value_exprContext } from "./CircuitScriptParser.js";
48
34
  import { Function_def_exprContext } from "./CircuitScriptParser.js";
49
35
  import { Function_exprContext } from "./CircuitScriptParser.js";
50
36
  import { Function_args_exprContext } from "./CircuitScriptParser.js";
51
- import { Atom_exprContext } from "./CircuitScriptParser.js";
52
- import { Trailer_exprContext } from "./CircuitScriptParser.js";
53
- import { Trailer_expr2Context } from "./CircuitScriptParser.js";
54
- import { Function_call_exprContext } from "./CircuitScriptParser.js";
55
- import { Net_namespace_exprContext } from "./CircuitScriptParser.js";
56
37
  import { Function_return_exprContext } from "./CircuitScriptParser.js";
38
+ import { Net_namespace_exprContext } from "./CircuitScriptParser.js";
39
+ import { Callable_exprContext } from "./CircuitScriptParser.js";
40
+ import { TrailerContext } from "./CircuitScriptParser.js";
57
41
  import { Property_block_exprContext } from "./CircuitScriptParser.js";
58
- import { Create_component_exprContext } from "./CircuitScriptParser.js";
42
+ import { Properties_blockContext } from "./CircuitScriptParser.js";
59
43
  import { Graphic_expressions_blockContext } from "./CircuitScriptParser.js";
44
+ import { Create_exprContext } from "./CircuitScriptParser.js";
45
+ import { Create_component_exprContext } from "./CircuitScriptParser.js";
60
46
  import { Create_graphic_exprContext } from "./CircuitScriptParser.js";
61
47
  import { Create_module_exprContext } from "./CircuitScriptParser.js";
62
- import { Nested_properties_innerContext } from "./CircuitScriptParser.js";
63
- import { GraphicCommandExprContext } from "./CircuitScriptParser.js";
64
48
  import { GraphicForExprContext } from "./CircuitScriptParser.js";
49
+ import { GraphicCommandExprContext } from "./CircuitScriptParser.js";
65
50
  import { Property_exprContext } from "./CircuitScriptParser.js";
66
51
  import { Property_key_exprContext } from "./CircuitScriptParser.js";
67
52
  import { Nested_propertiesContext } from "./CircuitScriptParser.js";
68
53
  import { Single_line_propertyContext } from "./CircuitScriptParser.js";
69
- import { Wire_expr_direction_valueContext } from "./CircuitScriptParser.js";
70
- import { Wire_expr_direction_onlyContext } from "./CircuitScriptParser.js";
71
54
  import { Wire_exprContext } from "./CircuitScriptParser.js";
72
- import { Array_exprContext } from "./CircuitScriptParser.js";
73
55
  import { Point_exprContext } from "./CircuitScriptParser.js";
74
56
  import { Import_simpleContext } from "./CircuitScriptParser.js";
75
- import { Import_all_simpleContext } from "./CircuitScriptParser.js";
76
- import { Import_specificContext } from "./CircuitScriptParser.js";
77
- import { Import_annotation_exprContext } from "./CircuitScriptParser.js";
57
+ import { Import_specific_or_allContext } from "./CircuitScriptParser.js";
78
58
  import { Frame_exprContext } from "./CircuitScriptParser.js";
79
59
  import { If_exprContext } from "./CircuitScriptParser.js";
80
60
  import { If_inner_exprContext } from "./CircuitScriptParser.js";
@@ -86,86 +66,65 @@ import { Part_set_keyContext } from "./CircuitScriptParser.js";
86
66
  import { Part_match_blockContext } from "./CircuitScriptParser.js";
87
67
  import { Part_sub_exprContext } from "./CircuitScriptParser.js";
88
68
  import { Part_condition_exprContext } from "./CircuitScriptParser.js";
89
- import { Part_condition_key_only_exprContext } from "./CircuitScriptParser.js";
90
69
  import { Part_value_exprContext } from "./CircuitScriptParser.js";
91
70
  import { Annotation_comment_exprContext } from "./CircuitScriptParser.js";
92
- export declare class CircuitScriptVisitor<Result> extends AbstractParseTreeVisitor<Result> {
71
+ export declare class CircuitScriptParserVisitor<Result> extends AbstractParseTreeVisitor<Result> {
93
72
  visitScript?: (ctx: ScriptContext) => Result;
94
73
  visitExpression?: (ctx: ExpressionContext) => Result;
95
74
  visitFlow_expressions?: (ctx: Flow_expressionsContext) => Result;
96
75
  visitGraph_expressions?: (ctx: Graph_expressionsContext) => Result;
97
- visitGraph_linear_expression?: (ctx: Graph_linear_expressionContext) => Result;
98
76
  visitExpressions_block?: (ctx: Expressions_blockContext) => Result;
99
77
  visitPath_block?: (ctx: Path_blockContext) => Result;
100
- visitProperty_set_expr2?: (ctx: Property_set_expr2Context) => Result;
101
- visitAssignment_expr2?: (ctx: Assignment_expr2Context) => Result;
102
78
  visitPin_select_expr?: (ctx: Pin_select_exprContext) => Result;
103
79
  visitComponent_modifier_expr?: (ctx: Component_modifier_exprContext) => Result;
104
80
  visitData_expr_with_assignment?: (ctx: Data_expr_with_assignmentContext) => Result;
81
+ visitAssignment_expr?: (ctx: Assignment_exprContext) => Result;
105
82
  visitAdd_component_expr?: (ctx: Add_component_exprContext) => Result;
106
83
  visitComponent_select_expr?: (ctx: Component_select_exprContext) => Result;
107
- visitPin_select_expr2?: (ctx: Pin_select_expr2Context) => Result;
108
84
  visitAt_component_expr?: (ctx: At_component_exprContext) => Result;
109
85
  visitTo_component_expr?: (ctx: To_component_exprContext) => Result;
110
- visitAt_to_multiple_expr?: (ctx: At_to_multiple_exprContext) => Result;
111
- visitAt_to_multiple_line_expr?: (ctx: At_to_multiple_line_exprContext) => Result;
112
- visitAt_to_multiple_line_expr_to_pin?: (ctx: At_to_multiple_line_expr_to_pinContext) => Result;
86
+ visitAt_block_header?: (ctx: At_block_headerContext) => Result;
113
87
  visitAt_block?: (ctx: At_blockContext) => Result;
114
88
  visitAt_block_expressions?: (ctx: At_block_expressionsContext) => Result;
115
- visitAt_block_header?: (ctx: At_block_headerContext) => Result;
116
89
  visitAt_block_pin_expr?: (ctx: At_block_pin_exprContext) => Result;
117
- visitAt_block_pin_expression_simple?: (ctx: At_block_pin_expression_simpleContext) => Result;
118
- visitAt_block_pin_expression_complex?: (ctx: At_block_pin_expression_complexContext) => Result;
119
- visitAssignment_expr?: (ctx: Assignment_exprContext) => Result;
120
- visitOperator_assignment_expr?: (ctx: Operator_assignment_exprContext) => Result;
121
90
  visitKeyword_assignment_expr?: (ctx: Keyword_assignment_exprContext) => Result;
122
91
  visitParameters?: (ctx: ParametersContext) => Result;
123
- visitProperty_set_expr?: (ctx: Property_set_exprContext) => Result;
124
92
  visitDouble_dot_property_set_expr?: (ctx: Double_dot_property_set_exprContext) => Result;
93
+ visitValueExpr?: (ctx: ValueExprContext) => Result;
125
94
  visitArrayExpr?: (ctx: ArrayExprContext) => Result;
126
- visitArrayIndexExpr?: (ctx: ArrayIndexExprContext) => Result;
127
- visitFunctionCallExpr?: (ctx: FunctionCallExprContext) => Result;
128
95
  visitAdditionExpr?: (ctx: AdditionExprContext) => Result;
129
96
  visitMultiplyExpr?: (ctx: MultiplyExprContext) => Result;
130
97
  visitLogicalOperatorExpr?: (ctx: LogicalOperatorExprContext) => Result;
131
- visitDataExpr?: (ctx: DataExprContext) => Result;
98
+ visitCreateExpr?: (ctx: CreateExprContext) => Result;
132
99
  visitUnaryOperatorExpr?: (ctx: UnaryOperatorExprContext) => Result;
133
- visitValueAtomExpr?: (ctx: ValueAtomExprContext) => Result;
100
+ visitCallableExpr?: (ctx: CallableExprContext) => Result;
134
101
  visitBinaryOperatorExpr?: (ctx: BinaryOperatorExprContext) => Result;
135
102
  visitRoundedBracketsExpr?: (ctx: RoundedBracketsExprContext) => Result;
136
- visitBinary_operator?: (ctx: Binary_operatorContext) => Result;
137
- visitUnary_operator?: (ctx: Unary_operatorContext) => Result;
138
103
  visitValue_expr?: (ctx: Value_exprContext) => Result;
139
104
  visitFunction_def_expr?: (ctx: Function_def_exprContext) => Result;
140
105
  visitFunction_expr?: (ctx: Function_exprContext) => Result;
141
106
  visitFunction_args_expr?: (ctx: Function_args_exprContext) => Result;
142
- visitAtom_expr?: (ctx: Atom_exprContext) => Result;
143
- visitTrailer_expr?: (ctx: Trailer_exprContext) => Result;
144
- visitTrailer_expr2?: (ctx: Trailer_expr2Context) => Result;
145
- visitFunction_call_expr?: (ctx: Function_call_exprContext) => Result;
146
- visitNet_namespace_expr?: (ctx: Net_namespace_exprContext) => Result;
147
107
  visitFunction_return_expr?: (ctx: Function_return_exprContext) => Result;
108
+ visitNet_namespace_expr?: (ctx: Net_namespace_exprContext) => Result;
109
+ visitCallable_expr?: (ctx: Callable_exprContext) => Result;
110
+ visitTrailer?: (ctx: TrailerContext) => Result;
148
111
  visitProperty_block_expr?: (ctx: Property_block_exprContext) => Result;
149
- visitCreate_component_expr?: (ctx: Create_component_exprContext) => Result;
112
+ visitProperties_block?: (ctx: Properties_blockContext) => Result;
150
113
  visitGraphic_expressions_block?: (ctx: Graphic_expressions_blockContext) => Result;
114
+ visitCreate_expr?: (ctx: Create_exprContext) => Result;
115
+ visitCreate_component_expr?: (ctx: Create_component_exprContext) => Result;
151
116
  visitCreate_graphic_expr?: (ctx: Create_graphic_exprContext) => Result;
152
117
  visitCreate_module_expr?: (ctx: Create_module_exprContext) => Result;
153
- visitNested_properties_inner?: (ctx: Nested_properties_innerContext) => Result;
154
- visitGraphicCommandExpr?: (ctx: GraphicCommandExprContext) => Result;
155
118
  visitGraphicForExpr?: (ctx: GraphicForExprContext) => Result;
119
+ visitGraphicCommandExpr?: (ctx: GraphicCommandExprContext) => Result;
156
120
  visitProperty_expr?: (ctx: Property_exprContext) => Result;
157
121
  visitProperty_key_expr?: (ctx: Property_key_exprContext) => Result;
158
122
  visitNested_properties?: (ctx: Nested_propertiesContext) => Result;
159
123
  visitSingle_line_property?: (ctx: Single_line_propertyContext) => Result;
160
- visitWire_expr_direction_value?: (ctx: Wire_expr_direction_valueContext) => Result;
161
- visitWire_expr_direction_only?: (ctx: Wire_expr_direction_onlyContext) => Result;
162
124
  visitWire_expr?: (ctx: Wire_exprContext) => Result;
163
- visitArray_expr?: (ctx: Array_exprContext) => Result;
164
125
  visitPoint_expr?: (ctx: Point_exprContext) => Result;
165
126
  visitImport_simple?: (ctx: Import_simpleContext) => Result;
166
- visitImport_all_simple?: (ctx: Import_all_simpleContext) => Result;
167
- visitImport_specific?: (ctx: Import_specificContext) => Result;
168
- visitImport_annotation_expr?: (ctx: Import_annotation_exprContext) => Result;
127
+ visitImport_specific_or_all?: (ctx: Import_specific_or_allContext) => Result;
169
128
  visitFrame_expr?: (ctx: Frame_exprContext) => Result;
170
129
  visitIf_expr?: (ctx: If_exprContext) => Result;
171
130
  visitIf_inner_expr?: (ctx: If_inner_exprContext) => Result;
@@ -177,7 +136,6 @@ export declare class CircuitScriptVisitor<Result> extends AbstractParseTreeVisit
177
136
  visitPart_match_block?: (ctx: Part_match_blockContext) => Result;
178
137
  visitPart_sub_expr?: (ctx: Part_sub_exprContext) => Result;
179
138
  visitPart_condition_expr?: (ctx: Part_condition_exprContext) => Result;
180
- visitPart_condition_key_only_expr?: (ctx: Part_condition_key_only_exprContext) => Result;
181
139
  visitPart_value_expr?: (ctx: Part_value_exprContext) => Result;
182
140
  visitAnnotation_comment_expr?: (ctx: Annotation_comment_exprContext) => Result;
183
141
  }
@@ -0,0 +1,5 @@
1
+ import { ExecutionContext } from '../execute.js';
2
+ import { ImportedLibrary, ImportFunctionHandling } from '../objects/types.js';
3
+ import { ImportFileResult } from '../BaseVisitor.js';
4
+ import { LibraryCacheIR } from './types.js';
5
+ export declare function deserializeLibraryScope(ir: LibraryCacheIR, name: string, libraryNamespace: string, filePathUsed: string, importHandling: ImportFunctionHandling, specificImports: string[], importContext: ExecutionContext, parseAndVisit: (miniScript: string, lineOffset: number) => ImportFileResult, enterContext: () => ExecutionContext, exitContext: () => void, libraryFileHash: string): ImportedLibrary;
@@ -0,0 +1 @@
1
+ export declare function computeContentHash(fileContent: string): string;
@@ -0,0 +1,3 @@
1
+ import { ImportedLibrary } from '../objects/types.js';
2
+ import { LibraryCacheIR } from './types.js';
3
+ export declare function serializeLibraryScope(importedLib: ImportedLibrary, contentHash: string): LibraryCacheIR;
@@ -0,0 +1,4 @@
1
+ import { LibraryCacheIR } from './types.js';
2
+ export declare function getCachePath(libFilePath: string): string;
3
+ export declare function readCache(libFilePath: string, hash: string): LibraryCacheIR | null;
4
+ export declare function writeCache(libFilePath: string, hash: string, ir: LibraryCacheIR): void;
@@ -0,0 +1,20 @@
1
+ export declare const CACHE_SCHEMA_VERSION = 3;
2
+ export type SerializedExpression = [
3
+ line: number,
4
+ column: number,
5
+ sourceText: string
6
+ ];
7
+ export interface SerializedFunctionDef {
8
+ name: string;
9
+ namespace: string;
10
+ uniqueId: string;
11
+ sourceText: SerializedExpression;
12
+ }
13
+ export interface LibraryCacheIR {
14
+ schemaVersion: number;
15
+ contentHash: string;
16
+ libraryFilePath: string;
17
+ imports: SerializedExpression[];
18
+ functions: SerializedFunctionDef[];
19
+ topLevel: SerializedExpression[];
20
+ }
@@ -1,7 +1,7 @@
1
- /// <reference types="node" resolution-mode="require"/>
1
+ /// <reference types="node" />
2
2
  import { Dom } from "@svgdotjs/svg.js";
3
3
  import fs from 'fs';
4
- import { SVGWindow } from "./helpers.js";
4
+ import { SVGWindow } from "../helpers.js";
5
5
  export declare class NodeScriptEnvironment {
6
6
  existsSync(pathLike: string): boolean;
7
7
  mkdirSync(pathLike: string): void;
@@ -25,7 +25,7 @@ export declare class NodeScriptEnvironment {
25
25
  getToolsPath(): string;
26
26
  getFontsPath(): string;
27
27
  getDefaultLibsPath(): string;
28
- private prepareSVGEnvironmentInternal;
28
+ protected prepareSVGEnvironmentInternal(fontsPath: string | null): Promise<void>;
29
29
  createSVGWindow(): SVGWindow;
30
30
  textMeasurementCanvas: Dom | undefined;
31
31
  getCanvasWindow(): Dom;
@@ -36,7 +36,7 @@ export declare class NodeScriptEnvironment {
36
36
  getDirPath(filePath: string): string;
37
37
  setCurrentFile(filePath: string): string;
38
38
  getCurrentFile(): string;
39
- getRelativeToCurrentFolder(filePath: string): string;
39
+ getAbsPathRelativeToCurrentFolder(filePath: string): string;
40
40
  exists(path: fs.PathLike): Promise<boolean>;
41
41
  hashStringSHA256(value: string): string;
42
42
  dirname(filePath: string): string;
@@ -45,4 +45,5 @@ export declare class NodeScriptEnvironment {
45
45
  join(...paths: string[]): string;
46
46
  relative(from: string, to: string): string;
47
47
  createWriteStream(filePath: string): fs.WriteStream;
48
+ getCurrentDirectory(): string;
48
49
  }
@@ -0,0 +1,4 @@
1
+ import { NodeScriptEnvironment } from './environment';
2
+ export declare class ESMNodeScriptEnvironment extends NodeScriptEnvironment {
3
+ protected prepareSVGEnvironmentInternal(fontsPath: string | null): Promise<void>;
4
+ }
@@ -0,0 +1,2 @@
1
+ import { NodeScriptEnvironment } from "./environment";
2
+ export declare function getNewEnvironment(): NodeScriptEnvironment;
@@ -10,7 +10,7 @@ import { Wire } from './objects/Wire.js';
10
10
  import { Logger } from './logger.js';
11
11
  import { UnitDimension } from './helpers.js';
12
12
  import { ParserRuleContext } from 'antlr4ng';
13
- import { SymbolDrawingCommands } from './draw_symbols.js';
13
+ import { SymbolDrawingCommands } from './render/draw_symbols.js';
14
14
  export declare class ExecutionContext {
15
15
  name: string;
16
16
  namespace: string;
@@ -82,7 +82,8 @@ export declare class ExecutionContext {
82
82
  resetBreakContextFunctionCalls(): void;
83
83
  popBreakContext(): ParserRuleContext;
84
84
  getBreakContext(): ParserRuleContext;
85
- createFunction(namespace: string, functionName: string, __runFunc: CFunction, source?: ParserRuleContext, uniqueId?: string): void;
85
+ createFunction(namespace: string, functionName: string, __runFunc: CFunction, source?: ParserRuleContext, uniqueId?: string): CFunctionEntry;
86
+ createFunctionLazyLoaded(namespace: string, functionName: string, uniqueId: string): CFunctionEntry;
86
87
  hasFunction(functionName: string): boolean;
87
88
  getFunction(functionName: string): CFunctionEntry;
88
89
  resolveVariable(executionStack: ExecutionContext[], idName: string, trailers?: string[]): AnyReference;
@@ -117,3 +117,4 @@ export declare const RenderFlags: {
117
117
  export declare const SymbolValidatorContext = "_sym";
118
118
  export declare const TrailerArrayIndex = "index";
119
119
  export declare const DefaultComponentUnit = "__default";
120
+ export declare const PinTypesList: string[];
@@ -1,16 +1,12 @@
1
1
  import { BaseError } from "./utils.js";
2
- import { ParserVisitor } from "./visitor.js";
3
2
  import { ParserRuleContext } from "antlr4ng";
4
- import { SymbolValidatorVisitor } from "./validate/SymbolValidatorVisitor.js";
5
- import { CommonTokenStream, DefaultErrorStrategy, Parser } from "antlr4ng";
3
+ import { ATNSimulator, BaseErrorListener, CommonTokenStream, DefaultErrorStrategy, Parser, RecognitionException, Recognizer, Token } from "antlr4ng";
6
4
  import { CircuitScriptParser, ScriptContext } from "./antlr/CircuitScriptParser.js";
7
5
  import { CircuitScriptLexer } from "./antlr/CircuitScriptLexer.js";
8
- import { IParsedToken, SemanticTokensVisitor } from "./SemanticTokenVisitor.js";
9
6
  import { LengthUnit } from "./globals.js";
10
7
  export type SVGWindow = any;
11
8
  import { NumericValue } from "./objects/ParamDefinition.js";
12
- import { NodeScriptEnvironment } from "./environment.js";
13
- import { ClassComponent } from "./objects/ClassComponent.js";
9
+ import { NodeScriptEnvironment } from "./environment/environment.js";
14
10
  import { ImportedLibrary } from "./objects/types.js";
15
11
  export declare enum JSModuleType {
16
12
  CommonJs = "cjs",
@@ -27,6 +23,11 @@ export type ScriptOptions = {
27
23
  bomOutputPath?: string;
28
24
  updateSource?: boolean;
29
25
  saveAnnotatedCopy?: string | boolean;
26
+ lexerDiagnostics?: boolean;
27
+ lexerVerbose?: boolean;
28
+ lexerTokens?: number | boolean;
29
+ lexerMapping?: string | boolean;
30
+ lexerSummary?: boolean;
30
31
  };
31
32
  export declare function prepareFile(textData: string): {
32
33
  parser: CircuitScriptParser;
@@ -34,28 +35,36 @@ export declare function prepareFile(textData: string): {
34
35
  lexerTimeTaken: number;
35
36
  tokens: CommonTokenStream;
36
37
  };
37
- export declare function getSemanticTokens(scriptData: string, options: ScriptOptions): Promise<{
38
- visitor: SemanticTokensVisitor;
39
- parsedTokens: IParsedToken[];
40
- }>;
38
+ export declare class TokenErrorListener extends BaseErrorListener {
39
+ syntaxError<S extends Token, T extends ATNSimulator>(recognizer: Recognizer<T>, offendingSymbol: S | null, line: number, column: number, msg: string, e: RecognitionException | null): void;
40
+ }
41
41
  export declare class ParseErrorStrategy extends DefaultErrorStrategy {
42
42
  reportUnwantedToken(recognizer: Parser): void;
43
43
  }
44
- export declare function validateScript(filePath: string, scriptData: string, options: ScriptOptions): Promise<SymbolValidatorVisitor>;
45
- type RenderScriptReturn = {
44
+ export type RenderScriptReturn = {
46
45
  svgOutput: string | null;
47
46
  errors: BaseError[];
48
47
  };
49
- export declare function renderScript(scriptData: string, outputPath: string | null, options: ScriptOptions): Promise<RenderScriptReturn>;
50
- export declare function renderScriptCustom(scriptData: string, outputPath: string | null, options: ScriptOptions, parseHandlers: ParseOutputHandler[], postAnnotationCallbacks: ((options: ScriptOptions, scriptData: string, tree: ScriptContext, tokens: CommonTokenStream, componentLinks: Map<ParserRuleContext, ClassComponent>, importedLibraries: ImportedLibrary[], environment: NodeScriptEnvironment) => void)[]): Promise<RenderScriptReturn>;
51
- export declare abstract class ParseOutputHandler {
52
- beforeRender: boolean;
53
- afterRender: boolean;
54
- abstract parse(visitor: ParserVisitor, outputPath: string | null, fileExtension: string | null, extra: any | null): boolean;
55
- }
56
- export declare class KiCadNetListOutputHandler extends ParseOutputHandler {
57
- beforeRender: boolean;
58
- parse(visitor: ParserVisitor, outputPath: string | null, fileExtension: string | null): boolean;
48
+ export type ExternalLibAnnotationFile = {
49
+ name: string;
50
+ path: string;
51
+ items: Record<string, string>;
52
+ };
53
+ export type AnnotatedFile = {
54
+ isMainFile?: boolean;
55
+ tokens: CommonTokenStream;
56
+ tree: ScriptContext;
57
+ filePath: string;
58
+ scriptData: string;
59
+ libraryName?: string;
60
+ outputType: RefdesOutputType;
61
+ library?: ImportedLibrary;
62
+ referencedTokens?: [tokens: CommonTokenStream, tree: ParserRuleContext][];
63
+ };
64
+ export declare enum RefdesOutputType {
65
+ None = "none",
66
+ WithSource = "with-source",
67
+ CreateExternalFile = "create-external-file"
59
68
  }
60
69
  export declare function detectJSModuleType(): JSModuleType;
61
70
  export declare class UnitDimension {
@@ -68,17 +77,3 @@ export declare class UnitDimension {
68
77
  static px(value: number): UnitDimension;
69
78
  }
70
79
  export declare function milsToMM(value: NumericValue | number): NumericValue;
71
- export declare function pxToMM(value: number): number;
72
- export declare const PaperGridReferences: {
73
- [key: string]: [rows: number, columns: number];
74
- };
75
- export declare function isSupportedPaperSize(type: string): boolean;
76
- export declare function getPaperSize(type: string, margin?: number): {
77
- width: number;
78
- height: number;
79
- widthMM: number;
80
- heightMM: number;
81
- originalWidthMM: number;
82
- originalHeightMM: number;
83
- };
84
- export {};
@@ -0,0 +1,4 @@
1
+ import { NodeScriptEnvironment } from './environment/environment.js';
2
+ export declare function extractImportNames(fileData: string): string[];
3
+ export declare function resolveAllImportFilepaths(rootFilePath: string | null, scriptData: string | null, environment: NodeScriptEnvironment): Promise<string[]>;
4
+ export declare function loadImportsIntoMemoryStore(filepaths: string[], environment: NodeScriptEnvironment): Promise<Map<string, string>>;
@@ -1,14 +1,17 @@
1
- export * from './draw_symbols.js';
1
+ export * from './render/draw_symbols.js';
2
2
  export * from './execute.js';
3
- export * from './export.js';
4
- export * from './geometry.js';
3
+ export * from './render/export.js';
4
+ export * from './render/geometry.js';
5
+ export * from './pipeline.js';
5
6
  export * from './globals.js';
6
7
  export * from './helpers.js';
7
- export * from './layout.js';
8
+ export * from './render/layout.js';
9
+ export * from './render/render.js';
10
+ export * from './render/KiCadNetListOutputHandler.js';
8
11
  export * from './lexer.js';
12
+ export * from './LexerDiagnosticListener.js';
9
13
  export * from './logger.js';
10
14
  export * from './parser.js';
11
- export * from './render.js';
12
15
  export * from './utils.js';
13
16
  export * from './visitor.js';
14
17
  export * from './sizing.js';
@@ -17,5 +20,7 @@ export * from './builtinMethods.js';
17
20
  export * from './validate/SymbolTable.js';
18
21
  export * from './validate/SymbolValidatorResolveVisitor.js';
19
22
  export * from './validate/SymbolValidatorVisitor.js';
20
- export * from './environment.js';
21
- export * from './RefdesAnnotationVisitor.js';
23
+ export * from './validate/validateScript.js';
24
+ export * from './environment/environment.js';
25
+ export * from './annotate/RefdesAnnotationVisitor.js';
26
+ export * from './semantic-tokens/getSemanticTokens.js';
@@ -1,19 +1,23 @@
1
1
  import { CharStream, Token } from "antlr4ng";
2
2
  import { CircuitScriptLexer } from "./antlr/CircuitScriptLexer.js";
3
+ import { LexerDiagnosticCollector } from "./LexerDiagnosticListener.js";
3
4
  export declare class MainLexer extends CircuitScriptLexer {
4
- tokens: any[];
5
- indents: any[];
5
+ tokens: Token[];
6
+ private tokensHead;
7
+ indents: number[];
6
8
  opened: number;
7
- constructor(input: CharStream);
9
+ diagnosticCollector: LexerDiagnosticCollector;
10
+ lineOffset: number;
11
+ constructor(input: CharStream, enableDiagnostics?: boolean);
8
12
  reset(): void;
9
13
  emitToken(token: Token): void;
10
14
  nextToken(): Token;
11
15
  createDedent(): Token;
12
16
  getCharIndex(): number;
13
17
  commonToken(type: number, text: string, start?: number, stop?: number): Token;
14
- getIndentationCount(whitespace: string): number;
15
- atStartOfInput(): boolean;
18
+ private getIndentationCount;
16
19
  openBrace(): void;
17
20
  closeBrace(): void;
18
21
  onNewLine(): void;
22
+ setLineOffset(offset: number): void;
19
23
  }
@@ -1,6 +1,6 @@
1
1
  import { ParserRuleContext } from 'antlr4ng';
2
2
  import { Expressions_blockContext } from 'src/antlr/CircuitScriptParser.js';
3
- import { SymbolDrawingCommands } from '../draw_symbols.js';
3
+ import { SymbolDrawingCommands } from '../render/draw_symbols.js';
4
4
  import { Net } from './Net.js';
5
5
  import { PinDefinition, PinId } from './PinDefinition.js';
6
6
  import { WireSegment } from './Wire.js';
@@ -1,6 +1,6 @@
1
1
  import { ClassComponent } from './ClassComponent.js';
2
2
  import { Net } from './Net.js';
3
- import { CFunction, CFunctionEntry, ComponentPinNet, ComponentPinNetPair, ComponentPinWireId, ImportedLibrary, ParseSymbolType, ValueType } from './types.js';
3
+ import { CFunction, CFunctionEntry, ComponentPinNet, ComponentPinNetPair, ComponentPinWireId, ImportedLibrary, ValueType } from './types.js';
4
4
  import { BlockTypes, LayoutDirection } from '../globals.js';
5
5
  import { Wire, WireSegment } from './Wire.js';
6
6
  import { Frame } from './Frame.js';
@@ -16,9 +16,6 @@ export declare class ExecutionScope {
16
16
  functions: Map<string, CFunctionEntry>;
17
17
  functionCounter: Map<CFunction, number>;
18
18
  variables: Map<string, ValueType | ClassComponent>;
19
- symbols: Map<string, {
20
- type: ParseSymbolType;
21
- }>;
22
19
  libraries: Map<string, ImportedLibrary>;
23
20
  blockStack: Map<number, BlockStackEntry>;
24
21
  contextStack: ParserRuleContext[];
@@ -6,7 +6,9 @@ import { NumericValue, PercentageValue } from './ParamDefinition.js';
6
6
  import { ReferenceTypes } from '../globals.js';
7
7
  import { PinDefinition, PinId } from './PinDefinition.js';
8
8
  import { ScriptContext } from 'src/antlr/CircuitScriptParser.js';
9
- import { SymbolDrawingCommands } from 'src/draw_symbols.js';
9
+ import { SymbolDrawingCommands } from 'src/render/draw_symbols.js';
10
+ import { RefdesModification } from 'src/annotate/utils.js';
11
+ import { SerializedExpression } from 'src/cache/types.js';
10
12
  export type CFunction = (args: CallableParameter[], options?: CFunctionOptions) => CFunctionResult;
11
13
  export declare class CFunctionEntry {
12
14
  name: string;
@@ -15,8 +17,13 @@ export declare class CFunctionEntry {
15
17
  execute: CFunction;
16
18
  uniqueId?: string;
17
19
  source?: ParserRuleContext;
20
+ lazyLoaded: boolean;
21
+ lazyLoader: (() => void) | null;
22
+ tokens: CommonTokenStream;
23
+ tree: ScriptContext;
18
24
  constructor(namespace: string, name: string, execute: CFunction, source?: ParserRuleContext, uniqueId?: string);
19
25
  toString(): string;
26
+ getFunctionPath(): string;
20
27
  }
21
28
  export type CFunctionOptions = {
22
29
  netNamespace?: string;
@@ -123,7 +130,14 @@ export declare class ImportedLibrary {
123
130
  enableRefdesAnnotationFile: boolean;
124
131
  tree: ScriptContext;
125
132
  tokens: CommonTokenStream;
126
- constructor(libraryName: string, libraryNamespace: string, libraryFilePath: string, tree: ScriptContext, tokens: CommonTokenStream, context: ExecutionContext, flag: ImportFunctionHandling, specifiedImports: string[]);
133
+ referencedTokens: [tokens: CommonTokenStream, tree: ParserRuleContext][];
134
+ fileHash: string;
135
+ writeToCache: boolean;
136
+ refdesAnnotations: Map<ParserRuleContext, RefdesModification>;
137
+ parseError: boolean;
138
+ importStatement: SerializedExpression;
139
+ constructor(libraryName: string, libraryNamespace: string, libraryFilePath: string, tree: ScriptContext, tokens: CommonTokenStream, context: ExecutionContext, flag: ImportFunctionHandling, specifiedImports: string[], fileHash: string, importStatement: SerializedExpression);
140
+ addRefdesModifications(mods: Map<ParserRuleContext, RefdesModification>): void;
127
141
  }
128
142
  export declare enum ImportFunctionHandling {
129
143
  AllWithNamespace = "all-with-namespace",
@@ -1,16 +1,23 @@
1
1
  import { CircuitScriptParser, ScriptContext } from './antlr/CircuitScriptParser.js';
2
+ import { MainLexer } from './lexer.js';
2
3
  import { ANTLRErrorListener, ATNConfigSet, ATNSimulator, BitSet, CommonTokenStream, DFA, Parser, RecognitionException, Recognizer, Token } from 'antlr4ng';
3
4
  import { BaseVisitor, OnErrorHandler } from './BaseVisitor.js';
4
- export declare function parseFileWithVisitor(visitor: BaseVisitor, data: string): Promise<{
5
+ export declare function parseFileWithVisitor(visitor: BaseVisitor, data: string, options?: {
6
+ enableLexerDiagnostics?: boolean;
7
+ enableLexerVerbose?: boolean;
8
+ enableLexerTokenStream?: boolean;
9
+ lineOffset: number;
10
+ }): {
5
11
  tree: ScriptContext;
6
12
  parser: CircuitScriptParser;
7
13
  tokens: CommonTokenStream;
14
+ lexer: MainLexer;
8
15
  hasError: boolean;
9
16
  hasParseError: boolean;
10
17
  parserTimeTaken: number;
11
18
  lexerTimeTaken: number;
12
19
  throwError: any;
13
- }>;
20
+ };
14
21
  export declare class CircuitscriptParserErrorListener implements ANTLRErrorListener {
15
22
  syntaxErrorCounter: number;
16
23
  onErrorHandler: OnErrorHandler | null;
@@ -0,0 +1,9 @@
1
+ import { CommonTokenStream, ParserRuleContext } from "antlr4ng";
2
+ import { ScriptContext } from "./antlr/CircuitScriptParser.js";
3
+ import { NodeScriptEnvironment } from "./environment/environment.js";
4
+ import { ScriptOptions, RenderScriptReturn } from "./helpers.js";
5
+ import { ClassComponent } from "./objects/ClassComponent.js";
6
+ import { ImportedLibrary } from "./objects/types.js";
7
+ import { ParseOutputHandler } from "./render/KiCadNetListOutputHandler.js";
8
+ export declare function renderScript(scriptData: string, outputPath: string | null, options: ScriptOptions): Promise<RenderScriptReturn>;
9
+ export declare function renderScriptCustom(scriptData: string, outputPath: string | null, options: ScriptOptions, parseHandlers: ParseOutputHandler[], postAnnotationCallbacks: ((options: ScriptOptions, scriptData: string, tree: ScriptContext, tokens: CommonTokenStream, componentLinks: Map<ParserRuleContext, ClassComponent>, importedLibraries: ImportedLibrary[], environment: NodeScriptEnvironment) => void)[]): Promise<RenderScriptReturn>;
@@ -0,0 +1,10 @@
1
+ import { ParserVisitor } from "../visitor.js";
2
+ export declare abstract class ParseOutputHandler {
3
+ beforeRender: boolean;
4
+ afterRender: boolean;
5
+ abstract parse(visitor: ParserVisitor, outputPath: string | null, fileExtension: string | null, extra: any | null): boolean;
6
+ }
7
+ export declare class KiCadNetListOutputHandler extends ParseOutputHandler {
8
+ beforeRender: boolean;
9
+ parse(visitor: ParserVisitor, outputPath: string | null, fileExtension: string | null): boolean;
10
+ }
@@ -0,0 +1,12 @@
1
+ export declare const PaperGridReferences: {
2
+ [key: string]: [rows: number, columns: number];
3
+ };
4
+ export declare function isSupportedPaperSize(type: string): boolean;
5
+ export declare function getPaperSize(type: string, margin?: number): {
6
+ width: number;
7
+ height: number;
8
+ widthMM: number;
9
+ heightMM: number;
10
+ originalWidthMM: number;
11
+ originalHeightMM: number;
12
+ };
@@ -1,10 +1,10 @@
1
1
  import { G } from "@svgdotjs/svg.js";
2
2
  import { Feature, GeometryProp, HorizontalAlign, LabelStyle, Textbox, VerticalAlign } from "./geometry.js";
3
- import { Logger } from "./logger.js";
4
- import { PinTypes } from "./objects/PinTypes.js";
3
+ import { Logger } from "../logger.js";
4
+ import { PinTypes } from "../objects/PinTypes.js";
5
5
  import { ParserRuleContext } from "antlr4ng";
6
- import { NumericValue } from "./objects/ParamDefinition.js";
7
- import { PinId } from "./objects/PinDefinition.js";
6
+ import { NumericValue } from "../objects/ParamDefinition.js";
7
+ import { PinId } from "../objects/PinDefinition.js";
8
8
  export declare abstract class SymbolGraphic {
9
9
  drawPortsName: boolean;
10
10
  displayBounds: boolean;