circuitscript 0.1.0 → 0.1.2

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 (61) hide show
  1. package/dist/cjs/BaseVisitor.js +13 -8
  2. package/dist/cjs/antlr/CircuitScriptLexer.js +80 -80
  3. package/dist/cjs/antlr/CircuitScriptParser.js +599 -657
  4. package/dist/cjs/builtinMethods.js +27 -8
  5. package/dist/cjs/draw_symbols.js +314 -190
  6. package/dist/cjs/execute.js +113 -115
  7. package/dist/cjs/export.js +2 -4
  8. package/dist/cjs/geometry.js +52 -19
  9. package/dist/cjs/globals.js +12 -8
  10. package/dist/cjs/helpers.js +16 -3
  11. package/dist/cjs/layout.js +129 -125
  12. package/dist/cjs/logger.js +8 -1
  13. package/dist/cjs/objects/ClassComponent.js +22 -22
  14. package/dist/cjs/objects/ExecutionScope.js +10 -4
  15. package/dist/cjs/objects/Frame.js +2 -1
  16. package/dist/cjs/objects/ParamDefinition.js +120 -4
  17. package/dist/cjs/objects/PinDefinition.js +1 -4
  18. package/dist/cjs/render.js +40 -110
  19. package/dist/cjs/sizing.js +33 -7
  20. package/dist/cjs/utils.js +68 -2
  21. package/dist/cjs/visitor.js +214 -254
  22. package/dist/esm/BaseVisitor.mjs +15 -10
  23. package/dist/esm/antlr/CircuitScriptLexer.mjs +80 -80
  24. package/dist/esm/antlr/CircuitScriptParser.mjs +599 -657
  25. package/dist/esm/builtinMethods.mjs +24 -8
  26. package/dist/esm/draw_symbols.mjs +316 -193
  27. package/dist/esm/execute.mjs +115 -117
  28. package/dist/esm/export.mjs +2 -4
  29. package/dist/esm/geometry.mjs +52 -19
  30. package/dist/esm/globals.mjs +12 -8
  31. package/dist/esm/helpers.mjs +17 -4
  32. package/dist/esm/layout.mjs +131 -127
  33. package/dist/esm/logger.mjs +8 -1
  34. package/dist/esm/objects/ClassComponent.mjs +21 -26
  35. package/dist/esm/objects/ExecutionScope.mjs +10 -4
  36. package/dist/esm/objects/Frame.mjs +2 -1
  37. package/dist/esm/objects/ParamDefinition.mjs +119 -3
  38. package/dist/esm/objects/PinDefinition.mjs +0 -2
  39. package/dist/esm/render.mjs +42 -112
  40. package/dist/esm/sizing.mjs +34 -8
  41. package/dist/esm/utils.mjs +64 -1
  42. package/dist/esm/visitor.mjs +216 -256
  43. package/dist/types/BaseVisitor.d.ts +1 -1
  44. package/dist/types/antlr/CircuitScriptParser.d.ts +2 -3
  45. package/dist/types/draw_symbols.d.ts +71 -45
  46. package/dist/types/execute.d.ts +15 -10
  47. package/dist/types/geometry.d.ts +31 -19
  48. package/dist/types/globals.d.ts +14 -10
  49. package/dist/types/helpers.d.ts +2 -1
  50. package/dist/types/layout.d.ts +21 -21
  51. package/dist/types/logger.d.ts +1 -1
  52. package/dist/types/objects/ClassComponent.d.ts +19 -16
  53. package/dist/types/objects/ExecutionScope.d.ts +2 -1
  54. package/dist/types/objects/Frame.d.ts +2 -2
  55. package/dist/types/objects/ParamDefinition.d.ts +31 -2
  56. package/dist/types/objects/PinDefinition.d.ts +0 -2
  57. package/dist/types/render.d.ts +2 -1
  58. package/dist/types/utils.d.ts +6 -1
  59. package/dist/types/visitor.d.ts +4 -5
  60. package/libs/lib.cst +15 -3
  61. package/package.json +7 -3
package/dist/cjs/utils.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.combineMaps = exports.throwWithContext = exports.roundValue = exports.getPortType = exports.getBoundsSize = exports.toNearestGrid = exports.resizeToNearestGrid = exports.printBounds = exports.resizeBounds = exports.SimpleStopwatch = void 0;
3
+ exports.resolveToNumericValue = exports.getNumberExponentialText = exports.getNumberExponential = exports.combineMaps = exports.throwWithContext = exports.roundValue = exports.getPortType = exports.getBoundsSize = exports.toNearestGrid = exports.resizeToNearestGrid = exports.printBounds = exports.resizeBounds = exports.SimpleStopwatch = void 0;
4
+ const big_js_1 = require("big.js");
5
+ const ParamDefinition_1 = require("./objects/ParamDefinition");
4
6
  class SimpleStopwatch {
5
7
  constructor() {
6
8
  this.startTime = new Date();
@@ -73,7 +75,7 @@ function getPortType(component) {
73
75
  }
74
76
  exports.getPortType = getPortType;
75
77
  function roundValue(value) {
76
- return +value.toFixed(7);
78
+ return resolveToNumericValue(new big_js_1.Big(value.toBigNumber().toFixed(7)));
77
79
  }
78
80
  exports.roundValue = roundValue;
79
81
  function throwWithContext(context, message) {
@@ -100,3 +102,67 @@ function combineMaps(map1, map2) {
100
102
  return newMap;
101
103
  }
102
104
  exports.combineMaps = combineMaps;
105
+ function getNumberExponential(value) {
106
+ value = value.trim();
107
+ switch (value) {
108
+ case 'G':
109
+ return 9;
110
+ case 'M':
111
+ return 6;
112
+ case 'k':
113
+ case 'K':
114
+ return 3;
115
+ case 'm':
116
+ return -3;
117
+ case 'u':
118
+ return -6;
119
+ case 'n':
120
+ return -9;
121
+ case 'p':
122
+ return -12;
123
+ case 'f':
124
+ return -15;
125
+ default:
126
+ return 0;
127
+ }
128
+ }
129
+ exports.getNumberExponential = getNumberExponential;
130
+ function getNumberExponentialText(value) {
131
+ switch (value) {
132
+ case -15:
133
+ return 'f';
134
+ case -12:
135
+ return 'p';
136
+ case -9:
137
+ return 'n';
138
+ case -6:
139
+ return 'u';
140
+ case -3:
141
+ return 'm';
142
+ case 3:
143
+ return 'k';
144
+ case 6:
145
+ return 'M';
146
+ case 9:
147
+ return 'G';
148
+ case 0:
149
+ default:
150
+ return '';
151
+ }
152
+ }
153
+ exports.getNumberExponentialText = getNumberExponentialText;
154
+ function resolveToNumericValue(value) {
155
+ if (value.toNumber() === 0) {
156
+ return new ParamDefinition_1.NumericValue(0);
157
+ }
158
+ const isNeg = value.lt(0);
159
+ const positiveValue = isNeg ? value.neg() : value;
160
+ const prefixPart = Math.floor(Math.log10(positiveValue.toNumber()) / 3);
161
+ let useValue = value;
162
+ if (prefixPart !== 0) {
163
+ const tmpValue1 = positiveValue.div(Math.pow(10, prefixPart * 3));
164
+ useValue = isNeg ? tmpValue1.neg() : tmpValue1;
165
+ }
166
+ return new ParamDefinition_1.NumericValue(useValue, prefixPart * 3);
167
+ }
168
+ exports.resolveToNumericValue = resolveToNumericValue;