circuitscript 0.0.22 → 0.0.25

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 (180) hide show
  1. package/dist/cjs/BaseVisitor.js +487 -0
  2. package/dist/cjs/SemanticTokenVisitor.js +218 -0
  3. package/dist/cjs/SymbolValidatorVisitor.js +233 -0
  4. package/dist/cjs/antlr/CircuitScriptLexer.js +302 -0
  5. package/dist/cjs/antlr/CircuitScriptParser.js +5128 -0
  6. package/dist/cjs/antlr/CircuitScriptVisitor.js +7 -0
  7. package/dist/cjs/draw_symbols.js +819 -0
  8. package/dist/cjs/execute.js +778 -0
  9. package/{src/export.ts → dist/cjs/export.js} +34 -56
  10. package/dist/cjs/fonts.js +4 -0
  11. package/dist/cjs/geometry.js +450 -0
  12. package/dist/cjs/globals.js +60 -0
  13. package/dist/cjs/helpers.js +269 -0
  14. package/dist/cjs/index.js +31 -0
  15. package/{src/layout.ts → dist/cjs/layout.js} +421 -1002
  16. package/dist/cjs/lexer.js +111 -0
  17. package/dist/cjs/logger.js +17 -0
  18. package/dist/cjs/main.js +82 -0
  19. package/dist/cjs/objects/ClassComponent.js +145 -0
  20. package/dist/cjs/objects/ExecutionScope.js +135 -0
  21. package/dist/cjs/objects/Frame.js +22 -0
  22. package/{src/objects/Net.ts → dist/cjs/objects/Net.js} +9 -24
  23. package/dist/cjs/objects/ParamDefinition.js +42 -0
  24. package/dist/cjs/objects/PinDefinition.js +31 -0
  25. package/dist/cjs/objects/PinTypes.js +11 -0
  26. package/dist/cjs/objects/Wire.js +9 -0
  27. package/dist/cjs/objects/types.js +15 -0
  28. package/dist/cjs/parser.js +70 -0
  29. package/dist/cjs/regenerate-tests.js +23 -0
  30. package/dist/cjs/render.js +155 -0
  31. package/{src/server.ts → dist/cjs/server.js} +15 -21
  32. package/dist/cjs/sizing.js +105 -0
  33. package/{src/utils.ts → dist/cjs/utils.js} +25 -35
  34. package/dist/cjs/validate.js +81 -0
  35. package/dist/cjs/visitor.js +844 -0
  36. package/dist/esm/BaseVisitor.mjs +488 -0
  37. package/dist/esm/SemanticTokenVisitor.mjs +215 -0
  38. package/dist/esm/SymbolValidatorVisitor.mjs +222 -0
  39. package/dist/esm/antlr/CircuitScriptLexer.mjs +276 -0
  40. package/dist/esm/antlr/CircuitScriptParser.mjs +5038 -0
  41. package/{build/src/antlr/CircuitScriptVisitor.js → dist/esm/antlr/CircuitScriptVisitor.mjs} +8 -3
  42. package/{build/src/draw_symbols.js → dist/esm/draw_symbols.mjs} +78 -33
  43. package/{build/src/execute.js → dist/esm/execute.mjs} +59 -60
  44. package/{build/src/export.js → dist/esm/export.mjs} +2 -2
  45. package/{build/src/geometry.js → dist/esm/geometry.mjs} +31 -15
  46. package/dist/esm/helpers.mjs +252 -0
  47. package/dist/esm/index.mjs +15 -0
  48. package/{build/src/layout.js → dist/esm/layout.mjs} +19 -11
  49. package/{build/src/lexer.js → dist/esm/lexer.mjs} +10 -10
  50. package/{build/src/main.js → dist/esm/main.mjs} +9 -14
  51. package/{build/src/objects/ClassComponent.js → dist/esm/objects/ClassComponent.mjs} +6 -3
  52. package/{build/src/objects/ExecutionScope.js → dist/esm/objects/ExecutionScope.mjs} +1 -0
  53. package/{build/src/objects/PinDefinition.js → dist/esm/objects/PinDefinition.mjs} +1 -1
  54. package/dist/esm/objects/types.mjs +12 -0
  55. package/dist/esm/parser.mjs +64 -0
  56. package/{build/src/regenerate-tests.js → dist/esm/regenerate-tests.mjs} +1 -1
  57. package/{build/src/render.js → dist/esm/render.mjs} +7 -24
  58. package/{build/src/sizing.js → dist/esm/sizing.mjs} +22 -8
  59. package/{src/main.ts → dist/esm/validate.mjs} +31 -62
  60. package/dist/esm/visitor.mjs +838 -0
  61. package/dist/types/BaseVisitor.d.ts +69 -0
  62. package/dist/types/SemanticTokenVisitor.d.ts +36 -0
  63. package/dist/types/SymbolValidatorVisitor.d.ts +61 -0
  64. package/{build/src → dist/types}/antlr/CircuitScriptLexer.d.ts +28 -27
  65. package/dist/types/antlr/CircuitScriptParser.d.ts +719 -0
  66. package/{build/src → dist/types}/antlr/CircuitScriptVisitor.d.ts +69 -59
  67. package/{build/src → dist/types}/draw_symbols.d.ts +11 -2
  68. package/{build/src → dist/types}/execute.d.ts +6 -9
  69. package/{build/src → dist/types}/geometry.d.ts +5 -1
  70. package/dist/types/helpers.d.ts +40 -0
  71. package/dist/types/index.d.ts +15 -0
  72. package/{build/src → dist/types}/layout.d.ts +10 -10
  73. package/{build/src → dist/types}/lexer.d.ts +2 -2
  74. package/{build/src → dist/types}/objects/ClassComponent.d.ts +2 -2
  75. package/{build/src → dist/types}/objects/ExecutionScope.d.ts +4 -1
  76. package/{build/src → dist/types}/objects/PinDefinition.d.ts +1 -1
  77. package/{build/src → dist/types}/objects/types.d.ts +5 -0
  78. package/dist/types/parser.d.ts +25 -0
  79. package/{build/src → dist/types}/render.d.ts +1 -1
  80. package/{build/src → dist/types}/sizing.d.ts +3 -1
  81. package/dist/types/validate.d.ts +2 -0
  82. package/dist/types/visitor.d.ts +80 -0
  83. package/libs/lib.cst +0 -2
  84. package/package.json +38 -15
  85. package/.editorconfig +0 -15
  86. package/.eslintignore +0 -1
  87. package/.eslintrc.json +0 -27
  88. package/.gitlab-ci.yml +0 -81
  89. package/.prettierignore +0 -8
  90. package/.prettierrc +0 -16
  91. package/__tests__/expectedResults.ts +0 -657
  92. package/__tests__/helpers.ts +0 -82
  93. package/__tests__/parseScripts.ts +0 -593
  94. package/__tests__/renderData/script1.cst +0 -58
  95. package/__tests__/renderData/script1.cst.svg +0 -1
  96. package/__tests__/renderData/script2.cst +0 -16
  97. package/__tests__/renderData/script2.cst.svg +0 -1
  98. package/__tests__/renderData/script3.cst +0 -30
  99. package/__tests__/renderData/script3.cst.svg +0 -1
  100. package/__tests__/renderData/script4.cst +0 -54
  101. package/__tests__/renderData/script4.cst.svg +0 -1
  102. package/__tests__/renderData/script5.cst +0 -23
  103. package/__tests__/renderData/script5.cst.svg +0 -1
  104. package/__tests__/renderData/script6.cst +0 -28
  105. package/__tests__/renderData/script6.cst.svg +0 -1
  106. package/__tests__/renderData/script7.cst +0 -26
  107. package/__tests__/renderData/script7.cst.svg +0 -1
  108. package/__tests__/renderData/script8.cst +0 -37
  109. package/__tests__/renderData/script8.cst.svg +0 -1
  110. package/__tests__/testCLI.ts +0 -68
  111. package/__tests__/testMathOps.ts +0 -36
  112. package/__tests__/testMergeWires.ts +0 -141
  113. package/__tests__/testParse.ts +0 -263
  114. package/__tests__/testRender.ts +0 -38
  115. package/build/src/antlr/CircuitScriptLexer.js +0 -287
  116. package/build/src/antlr/CircuitScriptParser.d.ts +0 -674
  117. package/build/src/antlr/CircuitScriptParser.js +0 -4841
  118. package/build/src/helpers.d.ts +0 -1
  119. package/build/src/helpers.js +0 -73
  120. package/build/src/objects/types.js +0 -6
  121. package/build/src/parser.js +0 -69
  122. package/build/src/visitor.d.ts +0 -133
  123. package/build/src/visitor.js +0 -1154
  124. package/documentation.md +0 -238
  125. package/examples/example_arduino_uno.cst +0 -1146
  126. package/examples/example_garden_pump.cst +0 -567
  127. package/examples/lib.cst +0 -185
  128. package/jest.config.js +0 -23
  129. package/refresh.html +0 -42
  130. package/server.cjs +0 -50
  131. package/src/antlr/CircuitScript.g4 +0 -209
  132. package/src/antlr/CircuitScriptLexer.ts +0 -317
  133. package/src/antlr/CircuitScriptParser.ts +0 -4979
  134. package/src/antlr/CircuitScriptVisitor.ts +0 -420
  135. package/src/draw_symbols.ts +0 -1085
  136. package/src/execute.ts +0 -1227
  137. package/src/fonts.ts +0 -1
  138. package/src/geometry.ts +0 -638
  139. package/src/globals.ts +0 -67
  140. package/src/helpers.ts +0 -114
  141. package/src/lexer.ts +0 -151
  142. package/src/logger.ts +0 -17
  143. package/src/objects/ClassComponent.ts +0 -223
  144. package/src/objects/ExecutionScope.ts +0 -201
  145. package/src/objects/Frame.ts +0 -20
  146. package/src/objects/ParamDefinition.ts +0 -49
  147. package/src/objects/PinDefinition.ts +0 -49
  148. package/src/objects/PinTypes.ts +0 -7
  149. package/src/objects/Wire.ts +0 -19
  150. package/src/objects/types.ts +0 -66
  151. package/src/parser.ts +0 -106
  152. package/src/regenerate-tests.ts +0 -25
  153. package/src/render.ts +0 -260
  154. package/src/sizing.ts +0 -96
  155. package/src/visitor.ts +0 -1691
  156. package/tsconfig.json +0 -27
  157. package/tsconfig.release.json +0 -8
  158. /package/{build/src/fonts.js → dist/esm/fonts.mjs} +0 -0
  159. /package/{build/src/globals.js → dist/esm/globals.mjs} +0 -0
  160. /package/{build/src/logger.js → dist/esm/logger.mjs} +0 -0
  161. /package/{build/src/objects/Frame.js → dist/esm/objects/Frame.mjs} +0 -0
  162. /package/{build/src/objects/Net.js → dist/esm/objects/Net.mjs} +0 -0
  163. /package/{build/src/objects/ParamDefinition.js → dist/esm/objects/ParamDefinition.mjs} +0 -0
  164. /package/{build/src/objects/PinTypes.js → dist/esm/objects/PinTypes.mjs} +0 -0
  165. /package/{build/src/objects/Wire.js → dist/esm/objects/Wire.mjs} +0 -0
  166. /package/{build/src/server.js → dist/esm/server.mjs} +0 -0
  167. /package/{build/src/utils.js → dist/esm/utils.mjs} +0 -0
  168. /package/{build/src → dist/types}/export.d.ts +0 -0
  169. /package/{build/src → dist/types}/fonts.d.ts +0 -0
  170. /package/{build/src → dist/types}/globals.d.ts +0 -0
  171. /package/{build/src → dist/types}/logger.d.ts +0 -0
  172. /package/{build/src → dist/types}/main.d.ts +0 -0
  173. /package/{build/src → dist/types}/objects/Frame.d.ts +0 -0
  174. /package/{build/src → dist/types}/objects/Net.d.ts +0 -0
  175. /package/{build/src → dist/types}/objects/ParamDefinition.d.ts +0 -0
  176. /package/{build/src → dist/types}/objects/PinTypes.d.ts +0 -0
  177. /package/{build/src → dist/types}/objects/Wire.d.ts +0 -0
  178. /package/{build/src → dist/types}/regenerate-tests.d.ts +0 -0
  179. /package/{build/src → dist/types}/server.d.ts +0 -0
  180. /package/{build/src → dist/types}/utils.d.ts +0 -0
@@ -1,73 +1,62 @@
1
- import { ComponentTypes, NoNetText } from "./globals.js";
2
- import { NumericValue } from "./objects/ParamDefinition.js";
3
- import { NetListItem } from "./visitor.js";
4
-
5
- export function generateKiCADNetList(netlist: NetListItem[]): string {
6
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateKiCADNetList = void 0;
4
+ const globals_js_1 = require("./globals.js");
5
+ const ParamDefinition_js_1 = require("./objects/ParamDefinition.js");
6
+ function generateKiCADNetList(netlist) {
7
7
  const componentsList = [];
8
-
9
- // Dictionary storing net name to the list of nodes/pins
10
8
  const nets = {};
11
-
12
9
  netlist.forEach(entry => {
13
10
  const { instance, pins } = entry;
14
- if (instance.assignedRefDes !== null){
15
-
11
+ if (instance.assignedRefDes !== null) {
16
12
  const instanceDetails = [
17
13
  Id('comp'),
18
14
  [Id('ref'), instance.assignedRefDes],
19
15
  ];
20
-
21
- if (instance.parameters.has('value')){
16
+ if (instance.parameters.has('value')) {
22
17
  let value = instance.parameters.get('value');
23
- if (value instanceof NumericValue){
18
+ if (value instanceof ParamDefinition_js_1.NumericValue) {
24
19
  value = value.value;
25
20
  }
26
21
  instanceDetails.push([Id('value'), value]);
27
22
  }
28
-
29
- if (instance.parameters.has('footprint')){
30
- instanceDetails.push([Id('footprint'),
23
+ if (instance.parameters.has('footprint')) {
24
+ instanceDetails.push([Id('footprint'),
31
25
  instance.parameters.get('footprint')]);
32
- } else {
26
+ }
27
+ else {
33
28
  console.log(instance.assignedRefDes, instance.instanceName, 'does not have footprint');
34
29
  }
35
-
36
30
  componentsList.push(instanceDetails);
37
-
38
- for(const key in pins){
31
+ for (const key in pins) {
39
32
  const netInfo = pins[key];
40
33
  const netName = netInfo.netName;
41
-
42
- if (netName === NoNetText){
34
+ if (netName === globals_js_1.NoNetText) {
43
35
  continue;
44
36
  }
45
-
46
- if (nets[netName] === undefined){
37
+ if (nets[netName] === undefined) {
47
38
  nets[netName] = [];
48
39
  }
49
-
50
40
  nets[netName].push([
51
- Id('node'),
41
+ Id('node'),
52
42
  [Id('ref'), instance.assignedRefDes],
53
43
  [Id('pin'), key],
54
44
  [Id('pintype'), "passive"]
55
- ])
45
+ ]);
56
46
  }
57
- } else {
58
- if (instance.typeProp !== ComponentTypes.label &&
59
- instance.typeProp !== ComponentTypes.net &&
60
- instance.typeProp !== ComponentTypes.point &&
61
- instance.typeProp !== null){
47
+ }
48
+ else {
49
+ if (instance.typeProp !== globals_js_1.ComponentTypes.label &&
50
+ instance.typeProp !== globals_js_1.ComponentTypes.net &&
51
+ instance.typeProp !== globals_js_1.ComponentTypes.point &&
52
+ instance.typeProp !== null) {
62
53
  console.log('Skipping', instance.instanceName);
63
54
  }
64
55
  }
65
56
  });
66
-
67
57
  const netItems = [];
68
58
  let counter = 1;
69
-
70
- for(const netName in nets){
59
+ for (const netName in nets) {
71
60
  const netPins = nets[netName];
72
61
  netItems.push([
73
62
  Id('net'),
@@ -77,7 +66,6 @@ export function generateKiCADNetList(netlist: NetListItem[]): string {
77
66
  ]);
78
67
  counter++;
79
68
  }
80
-
81
69
  const tree = [
82
70
  Id("export"),
83
71
  [Id("version"), "E"],
@@ -89,43 +77,33 @@ export function generateKiCADNetList(netlist: NetListItem[]): string {
89
77
  [Id('components'), ...componentsList],
90
78
  [Id('nets'), ...netItems]
91
79
  ];
92
-
93
80
  return printTree(tree);
94
81
  }
95
-
96
- function printTree(tree: (IdObject | string)[] | string, level = 0): string {
82
+ exports.generateKiCADNetList = generateKiCADNetList;
83
+ function printTree(tree, level = 0) {
97
84
  const output = [];
98
-
99
- // If a single item, then just return the value
100
85
  if (!Array.isArray(tree)) {
101
86
  return "\"" + tree + "\"";
102
87
  }
103
-
104
- const firstItem = tree[0] as IdObject;
88
+ const firstItem = tree[0];
105
89
  output.push(firstItem.keyName);
106
-
107
- const padding = "".padStart(2 * (level+1));
108
-
90
+ const padding = "".padStart(2 * (level + 1));
109
91
  for (let i = 1; i < tree.length; i++) {
110
92
  const result = printTree(tree[i], level + 1);
111
93
  if (result[0] === "(") {
112
94
  output.push("\n" + padding + result);
113
- } else {
95
+ }
96
+ else {
114
97
  output.push(result);
115
98
  }
116
99
  }
117
-
118
100
  return "(" + output.join(" ") + ")";
119
101
  }
120
-
121
-
122
- function Id(name): IdObject {
102
+ function Id(name) {
123
103
  return new IdObject(name);
124
104
  }
125
-
126
105
  class IdObject {
127
- keyName: string;
128
- constructor(keyName: string) {
106
+ constructor(keyName) {
129
107
  this.keyName = keyName;
130
108
  }
131
- }
109
+ }