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
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.linkBuiltInMethods = void 0;
7
+ const big_js_1 = __importDefault(require("big.js"));
8
+ const ParamDefinition_1 = require("./objects/ParamDefinition");
9
+ const utils_1 = require("./utils");
4
10
  function linkBuiltInMethods(context, visitor) {
5
11
  context.createFunction('print', (params) => {
6
12
  const args = getPositionParams(params);
@@ -28,8 +34,8 @@ function linkBuiltInMethods(context, visitor) {
28
34
  }
29
35
  exports.linkBuiltInMethods = linkBuiltInMethods;
30
36
  function range(...args) {
31
- let startValue = 0;
32
- let endValue = 0;
37
+ let startValue = (0, ParamDefinition_1.numeric)(0);
38
+ let endValue = (0, ParamDefinition_1.numeric)(0);
33
39
  if (args.length === 1) {
34
40
  endValue = args[0];
35
41
  }
@@ -37,8 +43,10 @@ function range(...args) {
37
43
  startValue = args[0];
38
44
  endValue = args[1];
39
45
  }
46
+ const startValueNum = startValue.toNumber();
47
+ const endValueNum = endValue.toNumber();
40
48
  const returnArray = [];
41
- for (let i = startValue; i < endValue; i++) {
49
+ for (let i = startValueNum; i < endValueNum; i++) {
42
50
  returnArray.push(i);
43
51
  }
44
52
  return returnArray;
@@ -53,18 +61,26 @@ function enumerate(array) {
53
61
  return output;
54
62
  }
55
63
  function toMils(value) {
56
- if (isNaN(value)) {
57
- throw "Invalid input for method toMils";
64
+ let bigValue;
65
+ if (value instanceof ParamDefinition_1.NumericValue) {
66
+ bigValue = value.toBigNumber();
58
67
  }
59
- return value / 25.4 * 1000;
68
+ else {
69
+ if (isNaN(value)) {
70
+ throw "Invalid input for method toMils";
71
+ }
72
+ bigValue = new big_js_1.default(value);
73
+ }
74
+ bigValue = bigValue.div(new big_js_1.default(25.4 / 1000));
75
+ return (0, utils_1.resolveToNumericValue)(bigValue);
60
76
  }
61
77
  function objectLength(obj) {
62
78
  if (Array.isArray(obj)) {
63
- return obj.length;
79
+ return (0, ParamDefinition_1.numeric)(obj.length);
64
80
  }
65
81
  else {
66
82
  if (obj.length) {
67
- return obj.length;
83
+ return (0, ParamDefinition_1.numeric)(obj.length);
68
84
  }
69
85
  else {
70
86
  throw "Could not get length of object: " + obj;
@@ -85,6 +101,9 @@ function toString(obj) {
85
101
  const inner = obj.map(item => toString(item)).join(", ");
86
102
  return "[" + inner + "]";
87
103
  }
104
+ else if (obj instanceof ParamDefinition_1.NumericValue) {
105
+ return obj.toBigNumber().toString();
106
+ }
88
107
  else {
89
108
  if (obj.toDisplayString) {
90
109
  return obj.toDisplayString();