mlogjs 0.2.1 → 0.2.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 (218) hide show
  1. package/build/bin.cjs +69 -0
  2. package/dist/bin.cjs +69 -0
  3. package/dist/index.cjs +1817 -0
  4. package/dist/index.mjs +1813 -0
  5. package/dist/types/Compiler.d.ts +18 -0
  6. package/{build → dist/types}/Scope.d.ts +23 -26
  7. package/dist/types/bin.d.ts +1 -0
  8. package/dist/types/handlers/BlockStatement.d.ts +2 -0
  9. package/dist/types/handlers/CallExpression.d.ts +3 -0
  10. package/dist/types/handlers/ForStatement.d.ts +2 -0
  11. package/{build → dist/types}/handlers/Function.d.ts +4 -4
  12. package/{build → dist/types}/handlers/Identifier.d.ts +2 -2
  13. package/dist/types/handlers/IfStatement.d.ts +2 -0
  14. package/{build → dist/types}/handlers/Literal.d.ts +2 -2
  15. package/{build → dist/types}/handlers/Object.d.ts +4 -4
  16. package/{build → dist/types}/handlers/OperationExpressions.d.ts +7 -7
  17. package/dist/types/handlers/Program.d.ts +2 -0
  18. package/dist/types/handlers/Statements.d.ts +5 -0
  19. package/dist/types/handlers/TemplateExpression.d.ts +2 -0
  20. package/dist/types/handlers/VariableDeclaration.d.ts +3 -0
  21. package/dist/types/handlers/WhileStatement.d.ts +2 -0
  22. package/{build → dist/types}/handlers/index.d.ts +14 -14
  23. package/dist/types/index.d.ts +1 -0
  24. package/{build → dist/types}/initScope.d.ts +2 -2
  25. package/{build → dist/types}/instructions/AddressResolver.d.ts +12 -12
  26. package/{build → dist/types}/instructions/ControlInstructions.d.ts +11 -11
  27. package/{build → dist/types}/instructions/EndInstruction.d.ts +4 -4
  28. package/{build → dist/types}/instructions/InstructionBase.d.ts +10 -10
  29. package/{build → dist/types}/instructions/JumpInstruction.d.ts +15 -15
  30. package/{build → dist/types}/instructions/OperationInstruction.d.ts +5 -5
  31. package/{build → dist/types}/instructions/SetCounterInstruction.d.ts +5 -5
  32. package/{build → dist/types}/instructions/SetInstruction.d.ts +5 -5
  33. package/{build → dist/types}/instructions/ZeroSpaceInstruction.d.ts +4 -4
  34. package/{build → dist/types}/instructions/index.d.ts +9 -9
  35. package/{build → dist/types}/macros/Building.d.ts +11 -11
  36. package/dist/types/macros/Function.d.ts +12 -0
  37. package/{build → dist/types}/macros/Math.d.ts +5 -5
  38. package/{build → dist/types}/macros/Memory.d.ts +5 -5
  39. package/{build → dist/types}/macros/Namespace.d.ts +21 -21
  40. package/{build → dist/types}/macros/Other.d.ts +5 -5
  41. package/{build → dist/types}/macros/RawValue.d.ts +5 -5
  42. package/{build → dist/types}/macros/commands/Control.d.ts +5 -5
  43. package/{build → dist/types}/macros/commands/Draw.d.ts +5 -5
  44. package/{build → dist/types}/macros/commands/DrawFlush.d.ts +5 -5
  45. package/{build → dist/types}/macros/commands/GetLink.d.ts +5 -5
  46. package/{build → dist/types}/macros/commands/Lookup.d.ts +5 -5
  47. package/{build → dist/types}/macros/commands/Print.d.ts +5 -5
  48. package/{build → dist/types}/macros/commands/PrintFlush.d.ts +5 -5
  49. package/{build → dist/types}/macros/commands/Radar.d.ts +7 -7
  50. package/{build → dist/types}/macros/commands/Sensor.d.ts +5 -5
  51. package/{build → dist/types}/macros/commands/UnitBind.d.ts +5 -5
  52. package/dist/types/macros/commands/UnitControl.d.ts +5 -0
  53. package/{build → dist/types}/macros/commands/UnitLocate.d.ts +5 -5
  54. package/{build → dist/types}/macros/commands/UnitRadar.d.ts +5 -5
  55. package/{build → dist/types}/macros/commands/Wait.d.ts +5 -5
  56. package/{build → dist/types}/macros/commands/index.d.ts +14 -14
  57. package/{build → dist/types}/macros/index.d.ts +7 -7
  58. package/{build → dist/types}/operators.d.ts +25 -25
  59. package/dist/types/types.d.ts +100 -0
  60. package/{build → dist/types}/utils.d.ts +3 -3
  61. package/{build → dist/types}/values/BaseValue.d.ts +5 -5
  62. package/{build → dist/types}/values/FunctionValue.d.ts +34 -34
  63. package/{build → dist/types}/values/LiteralValue.d.ts +12 -12
  64. package/dist/types/values/ObjectValue.d.ts +19 -0
  65. package/{build → dist/types}/values/StoreValue.d.ts +11 -11
  66. package/{build → dist/types}/values/TempValue.d.ts +12 -12
  67. package/{build → dist/types}/values/VoidValue.d.ts +13 -11
  68. package/{build → dist/types}/values/index.d.ts +6 -6
  69. package/doc/README.md +9 -0
  70. package/lib/eslib/lib.es5.d.ts +1 -1
  71. package/lib/traits.d.ts +0 -1
  72. package/package.json +17 -27
  73. package/build/Compiler.d.ts +0 -18
  74. package/build/Compiler.js +0 -100
  75. package/build/Compiler.js.map +0 -1
  76. package/build/Scope.js +0 -61
  77. package/build/Scope.js.map +0 -1
  78. package/build/bin.d.ts +0 -2
  79. package/build/bin.js +0 -61
  80. package/build/bin.js.map +0 -1
  81. package/build/handlers/BlockStatement.d.ts +0 -2
  82. package/build/handlers/BlockStatement.js +0 -14
  83. package/build/handlers/BlockStatement.js.map +0 -1
  84. package/build/handlers/CallExpression.d.ts +0 -3
  85. package/build/handlers/CallExpression.js +0 -20
  86. package/build/handlers/CallExpression.js.map +0 -1
  87. package/build/handlers/ForStatement.d.ts +0 -2
  88. package/build/handlers/ForStatement.js +0 -32
  89. package/build/handlers/ForStatement.js.map +0 -1
  90. package/build/handlers/Function.js +0 -36
  91. package/build/handlers/Function.js.map +0 -1
  92. package/build/handlers/Identifier.js +0 -8
  93. package/build/handlers/Identifier.js.map +0 -1
  94. package/build/handlers/IfStatement.d.ts +0 -2
  95. package/build/handlers/IfStatement.js +0 -25
  96. package/build/handlers/IfStatement.js.map +0 -1
  97. package/build/handlers/Literal.js +0 -18
  98. package/build/handlers/Literal.js.map +0 -1
  99. package/build/handlers/Object.js +0 -44
  100. package/build/handlers/Object.js.map +0 -1
  101. package/build/handlers/OperationExpressions.js +0 -33
  102. package/build/handlers/OperationExpressions.js.map +0 -1
  103. package/build/handlers/Program.d.ts +0 -2
  104. package/build/handlers/Program.js +0 -9
  105. package/build/handlers/Program.js.map +0 -1
  106. package/build/handlers/Statements.d.ts +0 -5
  107. package/build/handlers/Statements.js +0 -30
  108. package/build/handlers/Statements.js.map +0 -1
  109. package/build/handlers/TemplateExpression.d.ts +0 -2
  110. package/build/handlers/TemplateExpression.js +0 -18
  111. package/build/handlers/TemplateExpression.js.map +0 -1
  112. package/build/handlers/VariableDeclaration.d.ts +0 -3
  113. package/build/handlers/VariableDeclaration.js +0 -56
  114. package/build/handlers/VariableDeclaration.js.map +0 -1
  115. package/build/handlers/WhileStatement.d.ts +0 -2
  116. package/build/handlers/WhileStatement.js +0 -23
  117. package/build/handlers/WhileStatement.js.map +0 -1
  118. package/build/handlers/index.js +0 -31
  119. package/build/handlers/index.js.map +0 -1
  120. package/build/index.d.ts +0 -1
  121. package/build/index.js +0 -8
  122. package/build/index.js.map +0 -1
  123. package/build/initScope.js +0 -40
  124. package/build/initScope.js.map +0 -1
  125. package/build/instructions/AddressResolver.js +0 -31
  126. package/build/instructions/AddressResolver.js.map +0 -1
  127. package/build/instructions/ControlInstructions.js +0 -23
  128. package/build/instructions/ControlInstructions.js.map +0 -1
  129. package/build/instructions/EndInstruction.js +0 -11
  130. package/build/instructions/EndInstruction.js.map +0 -1
  131. package/build/instructions/InstructionBase.js +0 -21
  132. package/build/instructions/InstructionBase.js.map +0 -1
  133. package/build/instructions/JumpInstruction.js +0 -22
  134. package/build/instructions/JumpInstruction.js.map +0 -1
  135. package/build/instructions/OperationInstruction.js +0 -11
  136. package/build/instructions/OperationInstruction.js.map +0 -1
  137. package/build/instructions/SetCounterInstruction.js +0 -11
  138. package/build/instructions/SetCounterInstruction.js.map +0 -1
  139. package/build/instructions/SetInstruction.js +0 -11
  140. package/build/instructions/SetInstruction.js.map +0 -1
  141. package/build/instructions/ZeroSpaceInstruction.js +0 -11
  142. package/build/instructions/ZeroSpaceInstruction.js.map +0 -1
  143. package/build/instructions/index.js +0 -26
  144. package/build/instructions/index.js.map +0 -1
  145. package/build/macros/Building.js +0 -81
  146. package/build/macros/Building.js.map +0 -1
  147. package/build/macros/Function.d.ts +0 -12
  148. package/build/macros/Function.js +0 -20
  149. package/build/macros/Function.js.map +0 -1
  150. package/build/macros/Math.js +0 -57
  151. package/build/macros/Math.js.map +0 -1
  152. package/build/macros/Memory.js +0 -61
  153. package/build/macros/Memory.js.map +0 -1
  154. package/build/macros/Namespace.js +0 -98
  155. package/build/macros/Namespace.js.map +0 -1
  156. package/build/macros/Other.js +0 -20
  157. package/build/macros/Other.js.map +0 -1
  158. package/build/macros/RawValue.js +0 -16
  159. package/build/macros/RawValue.js.map +0 -1
  160. package/build/macros/commands/Control.js +0 -25
  161. package/build/macros/commands/Control.js.map +0 -1
  162. package/build/macros/commands/Draw.js +0 -39
  163. package/build/macros/commands/Draw.js.map +0 -1
  164. package/build/macros/commands/DrawFlush.js +0 -17
  165. package/build/macros/commands/DrawFlush.js.map +0 -1
  166. package/build/macros/commands/GetLink.js +0 -21
  167. package/build/macros/commands/GetLink.js.map +0 -1
  168. package/build/macros/commands/Lookup.js +0 -24
  169. package/build/macros/commands/Lookup.js.map +0 -1
  170. package/build/macros/commands/Print.js +0 -14
  171. package/build/macros/commands/Print.js.map +0 -1
  172. package/build/macros/commands/PrintFlush.js +0 -17
  173. package/build/macros/commands/PrintFlush.js.map +0 -1
  174. package/build/macros/commands/Radar.js +0 -61
  175. package/build/macros/commands/Radar.js.map +0 -1
  176. package/build/macros/commands/Sensor.js +0 -20
  177. package/build/macros/commands/Sensor.js.map +0 -1
  178. package/build/macros/commands/UnitBind.js +0 -17
  179. package/build/macros/commands/UnitBind.js.map +0 -1
  180. package/build/macros/commands/UnitControl.d.ts +0 -5
  181. package/build/macros/commands/UnitControl.js +0 -68
  182. package/build/macros/commands/UnitControl.js.map +0 -1
  183. package/build/macros/commands/UnitLocate.js +0 -55
  184. package/build/macros/commands/UnitLocate.js.map +0 -1
  185. package/build/macros/commands/UnitRadar.js +0 -41
  186. package/build/macros/commands/UnitRadar.js.map +0 -1
  187. package/build/macros/commands/Wait.js +0 -18
  188. package/build/macros/commands/Wait.js.map +0 -1
  189. package/build/macros/commands/index.js +0 -33
  190. package/build/macros/commands/index.js.map +0 -1
  191. package/build/macros/index.js +0 -40
  192. package/build/macros/index.js.map +0 -1
  193. package/build/operators.js +0 -102
  194. package/build/operators.js.map +0 -1
  195. package/build/types.d.ts +0 -49
  196. package/build/types.js +0 -28
  197. package/build/types.js.map +0 -1
  198. package/build/utils.js +0 -13
  199. package/build/utils.js.map +0 -1
  200. package/build/values/BaseValue.js +0 -112
  201. package/build/values/BaseValue.js.map +0 -1
  202. package/build/values/FunctionValue.js +0 -104
  203. package/build/values/FunctionValue.js.map +0 -1
  204. package/build/values/LiteralValue.js +0 -88
  205. package/build/values/LiteralValue.js.map +0 -1
  206. package/build/values/ObjectValue.d.ts +0 -17
  207. package/build/values/ObjectValue.js +0 -50
  208. package/build/values/ObjectValue.js.map +0 -1
  209. package/build/values/StoreValue.js +0 -31
  210. package/build/values/StoreValue.js.map +0 -1
  211. package/build/values/TempValue.js +0 -67
  212. package/build/values/TempValue.js.map +0 -1
  213. package/build/values/VoidValue.js +0 -31
  214. package/build/values/VoidValue.js.map +0 -1
  215. package/build/values/index.js +0 -23
  216. package/build/values/index.js.map +0 -1
  217. package/dist/mlogjs.es.js +0 -6366
  218. package/dist/mlogjs.umd.js +0 -8
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnitControl = void 0;
4
- const instructions_1 = require("../../instructions");
5
- const __1 = require("..");
6
- const values_1 = require("../../values");
7
- const Building_1 = require("../Building");
8
- const validModes = [
9
- "idle",
10
- "stop",
11
- "move",
12
- "approach",
13
- "boost",
14
- "pathfind",
15
- "target",
16
- "targetp",
17
- "itemDrop",
18
- "itemTake",
19
- "payDrop",
20
- "payTake",
21
- "payEnter",
22
- "mine",
23
- "flag",
24
- "build",
25
- "getBlock",
26
- "within",
27
- ];
28
- class UnitControl extends __1.MacroFunction {
29
- constructor(scope) {
30
- super(scope, (mode, ...args) => {
31
- if (!(mode instanceof values_1.LiteralValue) || typeof mode.data !== "string")
32
- throw new Error("The unitControl mode must be a string literal");
33
- if (!validModes.includes(mode.data))
34
- throw new Error("Invalid unitControl mode");
35
- if (args.some(value => !(value instanceof values_1.StoreValue ||
36
- value instanceof values_1.LiteralValue ||
37
- value instanceof values_1.ObjectValue)))
38
- throw new Error("The others arguments of unitControl must be literals or stores");
39
- let result = null;
40
- let extraArgs = [];
41
- switch (mode.data) {
42
- case "getBlock": {
43
- const outType = new values_1.TempValue(scope);
44
- const outBuilding = new values_1.TempValue(scope);
45
- result = new values_1.ObjectValue(scope, {
46
- 0: outType,
47
- 1: new Building_1.Building(scope, outBuilding.name),
48
- length: new values_1.LiteralValue(scope, 2),
49
- });
50
- extraArgs = [outType, outBuilding, new values_1.LiteralValue(scope, 0)];
51
- break;
52
- }
53
- case "within": {
54
- const temp = new values_1.TempValue(scope);
55
- result = temp;
56
- extraArgs = [temp, 0];
57
- break;
58
- }
59
- }
60
- return [
61
- result,
62
- [new instructions_1.InstructionBase("ucontrol", mode.data, ...args, ...extraArgs)],
63
- ];
64
- });
65
- }
66
- }
67
- exports.UnitControl = UnitControl;
68
- //# sourceMappingURL=UnitControl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnitControl.js","sourceRoot":"","sources":["../../../src/macros/commands/UnitControl.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,0BAAmC;AAEnC,yCAAgF;AAChF,0CAAuC;AAEvC,MAAM,UAAU,GAAG;IACjB,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,QAAQ;CACT,CAAC;AAEF,MAAa,WAAY,SAAQ,iBAAa;IAC5C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAClE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAEnE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAE9C,IACE,IAAI,CAAC,IAAI,CACP,KAAK,CAAC,EAAE,CACN,CAAC,CACC,KAAK,YAAY,mBAAU;gBAC3B,KAAK,YAAY,qBAAY;gBAC7B,KAAK,YAAY,oBAAW,CAC7B,CACJ;gBAED,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;YAEJ,IAAI,MAAM,GAAmC,IAAI,CAAC;YAClD,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,UAAU,CAAC,CAAC;oBACf,MAAM,OAAO,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;oBACrC,MAAM,WAAW,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;oBACzC,MAAM,GAAG,IAAI,oBAAW,CAAC,KAAK,EAAE;wBAC9B,CAAC,EAAE,OAAO;wBACV,CAAC,EAAE,IAAI,mBAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;wBACxC,MAAM,EAAE,IAAI,qBAAY,CAAC,KAAK,EAAE,CAAC,CAAC;qBACnC,CAAC,CAAC;oBACH,SAAS,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,qBAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC/D,MAAM;iBACP;gBACD,KAAK,QAAQ,CAAC,CAAC;oBACb,MAAM,IAAI,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;oBAClC,MAAM,GAAG,IAAI,CAAC;oBACd,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACtB,MAAM;iBACP;aACF;YAED,OAAO;gBACL,MAAM;gBACN,CAAC,IAAI,8BAAe,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;aACpE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAnDD,kCAmDC"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnitLocate = void 0;
4
- const instructions_1 = require("../../instructions");
5
- const __1 = require("..");
6
- const values_1 = require("../../values");
7
- const Building_1 = require("../Building");
8
- const validFinds = ["ore", "building", "spawn", "damaged"];
9
- class UnitLocate extends __1.MacroFunction {
10
- constructor(scope) {
11
- super(scope, (find, ...args) => {
12
- if (!(find instanceof values_1.LiteralValue && typeof find.data === "string"))
13
- throw new Error("The unitLocate find must be a string literal");
14
- if (!validFinds.includes(find.data))
15
- throw new Error("Invalid find value");
16
- if (args.some(value => !(value instanceof values_1.StoreValue || value instanceof values_1.LiteralValue)))
17
- throw new Error("The others arguments of unitLocate must be literals or stores");
18
- const outFound = new values_1.TempValue(scope);
19
- const outX = new values_1.TempValue(scope);
20
- const outY = new values_1.TempValue(scope);
21
- const outBuilding = new values_1.TempValue(scope);
22
- const outArgs = [outX, outY, outFound, outBuilding];
23
- let inputArgs = [];
24
- switch (find.data) {
25
- case "ore": {
26
- const [ore] = args;
27
- inputArgs = [find.data, "core", "true", ore];
28
- break;
29
- }
30
- case "building": {
31
- const [group, enemy] = args;
32
- inputArgs = [find.data, group.data, enemy, "@copper"];
33
- break;
34
- }
35
- case "spawn":
36
- case "damaged": {
37
- inputArgs = [find.data, "core", "true", "@copper"];
38
- break;
39
- }
40
- }
41
- return [
42
- new values_1.ObjectValue(scope, {
43
- 0: outFound,
44
- 1: outX,
45
- 2: outY,
46
- 3: new Building_1.Building(scope, outBuilding.name),
47
- length: new values_1.LiteralValue(scope, find.data === "ore" ? 3 : 4),
48
- }),
49
- [new instructions_1.InstructionBase("ulocate", ...inputArgs, ...outArgs)],
50
- ];
51
- });
52
- }
53
- }
54
- exports.UnitLocate = UnitLocate;
55
- //# sourceMappingURL=UnitLocate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnitLocate.js","sourceRoot":"","sources":["../../../src/macros/commands/UnitLocate.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,0BAAmC;AAEnC,yCAAgF;AAEhF,0CAAuC;AAEvC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAE3D,MAAa,UAAW,SAAQ,iBAAa;IAC3C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAElE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAExC,IACE,IAAI,CAAC,IAAI,CACP,KAAK,CAAC,EAAE,CACN,CAAC,CAAC,KAAK,YAAY,mBAAU,IAAI,KAAK,YAAY,qBAAY,CAAC,CAClE;gBAED,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;YAEJ,MAAM,QAAQ,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACpD,IAAI,SAAS,GAAwB,EAAE,CAAC;YACxC,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,KAAK,CAAC,CAAC;oBACV,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBACnB,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC7C,MAAM;iBACP;gBACD,KAAK,UAAU,CAAC,CAAC;oBACf,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAA8B,CAAC;oBACtD,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;oBAChE,MAAM;iBACP;gBACD,KAAK,OAAO,CAAC;gBACb,KAAK,SAAS,CAAC,CAAC;oBACd,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;oBACnD,MAAM;iBACP;aACF;YACD,OAAO;gBACL,IAAI,oBAAW,CAAC,KAAK,EAAE;oBACrB,CAAC,EAAE,QAAQ;oBACX,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,IAAI,mBAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;oBACxC,MAAM,EAAE,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7D,CAAC;gBACF,CAAC,IAAI,8BAAe,CAAC,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC;aAC3D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAtDD,gCAsDC"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnitRadar = void 0;
4
- const instructions_1 = require("../../instructions");
5
- const __1 = require("..");
6
- const values_1 = require("../../values");
7
- const Radar_1 = require("./Radar");
8
- class UnitRadar extends __1.MacroFunction {
9
- constructor(scope) {
10
- super(scope, (filter1, filter2, filter3, order, sort) => {
11
- if (!(filter1 instanceof values_1.LiteralValue) ||
12
- typeof filter1.data !== "string" ||
13
- !(filter2 instanceof values_1.LiteralValue) ||
14
- typeof filter2.data !== "string" ||
15
- !(filter3 instanceof values_1.LiteralValue) ||
16
- typeof filter3.data !== "string")
17
- throw new Error("The filters must be string literals");
18
- if (!Radar_1.validRadarFilters.includes(filter1.data))
19
- throw new Error("Invalid value for filter1");
20
- if (!Radar_1.validRadarFilters.includes(filter2.data))
21
- throw new Error("Invalid value for filter2");
22
- if (!Radar_1.validRadarFilters.includes(filter3.data))
23
- throw new Error("Invalid value for filter3");
24
- if (!(order instanceof values_1.LiteralValue || order instanceof values_1.StoreValue))
25
- throw new Error("The radar order must be a literal or a store");
26
- if (!(sort instanceof values_1.LiteralValue) || typeof sort.data !== "string")
27
- throw new Error("The radar sort must be a string literal");
28
- if (!Radar_1.validRadarSorts.includes(sort.data))
29
- throw new Error("Invalid sort value");
30
- const temp = new values_1.TempValue(scope);
31
- return [
32
- temp,
33
- [
34
- new instructions_1.InstructionBase("uradar", filter1.data, filter2.data, filter3.data, order, sort.data, temp),
35
- ],
36
- ];
37
- });
38
- }
39
- }
40
- exports.UnitRadar = UnitRadar;
41
- //# sourceMappingURL=UnitRadar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnitRadar.js","sourceRoot":"","sources":["../../../src/macros/commands/UnitRadar.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,0BAAmC;AAEnC,yCAAmE;AACnE,mCAA6D;AAE7D,MAAa,SAAU,SAAQ,iBAAa;IAC1C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtD,IACE,CAAC,CAAC,OAAO,YAAY,qBAAY,CAAC;gBAClC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAChC,CAAC,CAAC,OAAO,YAAY,qBAAY,CAAC;gBAClC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAChC,CAAC,CAAC,OAAO,YAAY,qBAAY,CAAC;gBAClC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAEhC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAEzD,IAAI,CAAC,yBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,IAAI,CAAC,yBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,IAAI,CAAC,yBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAE/C,IAAI,CAAC,CAAC,KAAK,YAAY,qBAAY,IAAI,KAAK,YAAY,mBAAU,CAAC;gBACjE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAElE,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAClE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAE7D,IAAI,CAAC,uBAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAExC,MAAM,IAAI,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO;gBACL,IAAI;gBACJ;oBACE,IAAI,8BAAe,CACjB,QAAQ,EACR,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,KAAK,EACL,IAAI,CAAC,IAAI,EACT,IAAI,CACL;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA9CD,8BA8CC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Wait = void 0;
4
- const instructions_1 = require("../../instructions");
5
- const __1 = require("..");
6
- const values_1 = require("../../values");
7
- class Wait extends __1.MacroFunction {
8
- constructor(scope) {
9
- super(scope, seconds => {
10
- if (!(seconds instanceof values_1.StoreValue) &&
11
- !(seconds instanceof values_1.LiteralValue && typeof seconds.data === "number"))
12
- throw new Error("The wait seconds must be either a number literal or a store");
13
- return [null, [new instructions_1.InstructionBase("wait", seconds)]];
14
- });
15
- }
16
- }
17
- exports.Wait = Wait;
18
- //# sourceMappingURL=Wait.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Wait.js","sourceRoot":"","sources":["../../../src/macros/commands/Wait.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,0BAAmC;AAEnC,yCAAwD;AAExD,MAAa,IAAK,SAAQ,iBAAa;IACrC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACrB,IACE,CAAC,CAAC,OAAO,YAAY,mBAAU,CAAC;gBAChC,CAAC,CAAC,OAAO,YAAY,qBAAY,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAEtE,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;YAEJ,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,8BAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAdD,oBAcC"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Radar = void 0;
18
- __exportStar(require("./Draw"), exports);
19
- __exportStar(require("./Print"), exports);
20
- __exportStar(require("./PrintFlush"), exports);
21
- __exportStar(require("./DrawFlush"), exports);
22
- __exportStar(require("./GetLink"), exports);
23
- __exportStar(require("./Control"), exports);
24
- var Radar_1 = require("./Radar");
25
- Object.defineProperty(exports, "Radar", { enumerable: true, get: function () { return Radar_1.Radar; } });
26
- __exportStar(require("./Sensor"), exports);
27
- __exportStar(require("./Wait"), exports);
28
- __exportStar(require("./Lookup"), exports);
29
- __exportStar(require("./UnitBind"), exports);
30
- __exportStar(require("./UnitControl"), exports);
31
- __exportStar(require("./UnitRadar"), exports);
32
- __exportStar(require("./UnitLocate"), exports);
33
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/macros/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB;AACxB,+CAA6B;AAC7B,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B;AAC1B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,6CAA2B;AAC3B,gDAA8B;AAC9B,8CAA4B;AAC5B,+CAA6B"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
- };
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.VarsNamespace = exports.NamespaceMacro = exports.BuildingBuilder = exports.commands = void 0;
30
- __exportStar(require("./Function"), exports);
31
- __exportStar(require("./Math"), exports);
32
- __exportStar(require("./Other"), exports);
33
- exports.commands = __importStar(require("./commands"));
34
- __exportStar(require("./Memory"), exports);
35
- var Building_1 = require("./Building");
36
- Object.defineProperty(exports, "BuildingBuilder", { enumerable: true, get: function () { return Building_1.BuildingBuilder; } });
37
- var Namespace_1 = require("./Namespace");
38
- Object.defineProperty(exports, "NamespaceMacro", { enumerable: true, get: function () { return Namespace_1.NamespaceMacro; } });
39
- Object.defineProperty(exports, "VarsNamespace", { enumerable: true, get: function () { return Namespace_1.VarsNamespace; } });
40
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/macros/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB;AACxB,uDAAuC;AACvC,2CAAyB;AACzB,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AACxB,yCAA4D;AAAnD,2GAAA,cAAc,OAAA;AAAE,0GAAA,aAAa,OAAA"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.operatorMap = exports.operators = exports.singleOperators = exports.updateOperators = exports.unaryOperators = exports.leftRightOperators = exports.assignmentOperators = exports.bitwiseAssignmentOperators = exports.logicalAssignmentOperators = exports.arithmeticAssignmentOperators = exports.logicalOperators = exports.binaryOperators = exports.bitwiseBinaryOperators = exports.comparisonBinaryOperators = exports.arithmeticBinaryOperators = void 0;
4
- exports.arithmeticBinaryOperators = [
5
- "*",
6
- "**",
7
- "+",
8
- "-",
9
- "/",
10
- "%",
11
- ];
12
- exports.comparisonBinaryOperators = [
13
- "!=",
14
- "!==",
15
- "<",
16
- "<=",
17
- "==",
18
- "===",
19
- ">",
20
- ">=",
21
- ];
22
- exports.bitwiseBinaryOperators = [
23
- "&",
24
- "<<",
25
- ">>",
26
- ">>>",
27
- "^",
28
- "|",
29
- ];
30
- exports.binaryOperators = [
31
- ...exports.arithmeticBinaryOperators,
32
- ...exports.comparisonBinaryOperators,
33
- ...exports.bitwiseBinaryOperators,
34
- "instanceof",
35
- "in",
36
- ];
37
- exports.logicalOperators = ["&&", "??", "||"];
38
- exports.arithmeticAssignmentOperators = [
39
- "%=",
40
- "&=",
41
- "*=",
42
- "**=",
43
- "+=",
44
- "-=",
45
- "/=",
46
- ];
47
- exports.logicalAssignmentOperators = ["&&=", "||="];
48
- exports.bitwiseAssignmentOperators = [
49
- "<<=",
50
- ">>=",
51
- ">>>=",
52
- "^=",
53
- "|=",
54
- ];
55
- exports.assignmentOperators = [
56
- ...exports.arithmeticAssignmentOperators,
57
- ...exports.logicalAssignmentOperators,
58
- ...exports.bitwiseAssignmentOperators,
59
- "=",
60
- ];
61
- exports.leftRightOperators = [
62
- ...exports.binaryOperators,
63
- ...exports.logicalOperators,
64
- ...exports.assignmentOperators,
65
- ];
66
- exports.unaryOperators = [
67
- "!",
68
- "u+",
69
- "u-",
70
- "delete",
71
- "typeof",
72
- "void",
73
- "~",
74
- ];
75
- exports.updateOperators = ["++", "--"];
76
- exports.singleOperators = [...exports.unaryOperators, ...exports.updateOperators];
77
- exports.operators = [...exports.leftRightOperators, ...exports.singleOperators];
78
- exports.operatorMap = {
79
- "==": "equal",
80
- "===": "strictEqual",
81
- "!=": "notEqual",
82
- "!==": "notEqual",
83
- "<": "lessThan",
84
- ">": "greaterThan",
85
- "<=": "lessThanEq",
86
- ">=": "greaterThanEq",
87
- "+": "add",
88
- "-": "sub",
89
- "*": "mul",
90
- "/": "div",
91
- "%": "mod",
92
- "**": "pow",
93
- "|": "or",
94
- "&": "and",
95
- "^": "xor",
96
- ">>": "shr",
97
- ">>>": "shr",
98
- "<<": "shl",
99
- "&&": "land",
100
- "||": "or",
101
- };
102
- //# sourceMappingURL=operators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operators.js","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GAAG;IACvC,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACK,CAAC;AACE,QAAA,yBAAyB,GAAG;IACvC,IAAI;IACJ,KAAK;IACL,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,GAAG;IACH,IAAI;CACI,CAAC;AACE,QAAA,sBAAsB,GAAG;IACpC,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,GAAG;IACH,GAAG;CACK,CAAC;AACE,QAAA,eAAe,GAAG;IAC7B,GAAG,iCAAyB;IAC5B,GAAG,iCAAyB;IAC5B,GAAG,8BAAsB;IACzB,YAAY;IACZ,IAAI;CACI,CAAC;AAGE,QAAA,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAG/C,QAAA,6BAA6B,GAAG;IAC3C,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;CACI,CAAC;AACE,QAAA,0BAA0B,GAAG,CAAC,KAAK,EAAE,KAAK,CAAU,CAAC;AACrD,QAAA,0BAA0B,GAAG;IACxC,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,IAAI;CACI,CAAC;AACE,QAAA,mBAAmB,GAAG;IACjC,GAAG,qCAA6B;IAChC,GAAG,kCAA0B;IAC7B,GAAG,kCAA0B;IAC7B,GAAG;CACK,CAAC;AAGE,QAAA,kBAAkB,GAAG;IAChC,GAAG,uBAAe;IAClB,GAAG,wBAAgB;IACnB,GAAG,2BAAmB;CACd,CAAC;AAIE,QAAA,cAAc,GAAG;IAC5B,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,GAAG;CACK,CAAC;AAGE,QAAA,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC;AAGxC,QAAA,eAAe,GAAG,CAAC,GAAG,sBAAc,EAAE,GAAG,uBAAe,CAAU,CAAC;AAInE,QAAA,SAAS,GAAG,CAAC,GAAG,0BAAkB,EAAE,GAAG,uBAAe,CAAU,CAAC;AAGjE,QAAA,WAAW,GACtB;IACE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,eAAe;IACrB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,KAAK;IACX,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,IAAI;CACF,CAAC"}
package/build/types.d.ts DELETED
@@ -1,49 +0,0 @@
1
- export * as es from "estree";
2
- import { Compiler } from "./Compiler";
3
- import { AddressResolver } from "./instructions";
4
- import { LeftRightOperator, UnaryOperator, UpdateOperator } from "./operators";
5
- export interface IInstruction {
6
- hidden: boolean;
7
- resolve(i: number): void;
8
- }
9
- export declare type THandler = (compiler: Compiler, scope: IScope, node: any, arg: any) => TValueInstructions;
10
- export interface IScope {
11
- parent: IScope;
12
- data: {};
13
- name: string;
14
- inst: IInstruction[];
15
- break: AddressResolver;
16
- continue: AddressResolver;
17
- function: IFunctionValue;
18
- ntemp: number;
19
- createScope(): IScope;
20
- createFunction(name: string, stacked?: boolean): IScope;
21
- has(name: string): boolean;
22
- get(name: string): IValue;
23
- set(name: string, value: IValue): IValue;
24
- hardSet(name: string, value: IValue): IValue;
25
- make(name: string, storeName: string): IValue;
26
- copy(): IScope;
27
- }
28
- export declare type IValue = {
29
- [k in UnaryOperator]?: (scope: IScope) => TValueInstructions;
30
- } & {
31
- [k in UpdateOperator]?: (scope: IScope, prefix: boolean) => TValueInstructions;
32
- } & {
33
- [k in LeftRightOperator]?: (scope: IScope, value: IValue) => TValueInstructions;
34
- } & {
35
- scope: IScope;
36
- constant: boolean;
37
- macro: boolean;
38
- eval(scope: IScope): TValueInstructions;
39
- call(scope: IScope, args: IValue[]): TValueInstructions;
40
- get(scope: IScope, name: IValue): TValueInstructions;
41
- };
42
- export declare type TLiteral = string | number;
43
- export interface IBindableValue extends IValue {
44
- data: TLiteral;
45
- }
46
- export interface IFunctionValue extends IValue {
47
- return(scope: IScope, argument: IValue): TValueInstructions;
48
- }
49
- export declare type TValueInstructions = [IValue, IInstruction[]];
package/build/types.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.es = void 0;
27
- exports.es = __importStar(require("estree"));
28
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA6B"}
package/build/utils.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.camelToDashCase = exports.nodeName = void 0;
4
- function nodeName(node) {
5
- const { line, column } = node.loc.start;
6
- return line + ":" + column;
7
- }
8
- exports.nodeName = nodeName;
9
- function camelToDashCase(name) {
10
- return name.replace(/[A-Z]/g, str => `-${str.toLowerCase()}`);
11
- }
12
- exports.camelToDashCase = camelToDashCase;
13
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,QAAQ,CAAC,IAAa;IACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,OAAO,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;AAC7B,CAAC;AAHD,4BAGC;AAED,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC;AAFD,0CAEC"}
@@ -1,112 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseValue = void 0;
4
- const instructions_1 = require("../instructions");
5
- const operators_1 = require("../operators");
6
- const _1 = require(".");
7
- class BaseValue extends _1.VoidValue {
8
- "u-"(scope) {
9
- const [that, inst] = this.eval(scope);
10
- const temp = new _1.TempValue(scope);
11
- return [
12
- temp,
13
- [
14
- ...inst,
15
- new instructions_1.OperationInstruction("sub", temp, new _1.LiteralValue(scope, 0), that),
16
- ],
17
- ];
18
- }
19
- }
20
- exports.BaseValue = BaseValue;
21
- const operatorMap = {
22
- "==": "equal",
23
- "===": "strictEqual",
24
- "!=": "notEqual",
25
- "!==": "notEqual",
26
- "<": "lessThan",
27
- ">": "greaterThan",
28
- "<=": "lessThanEq",
29
- ">=": "greaterThanEq",
30
- "+": "add",
31
- "-": "sub",
32
- "*": "mul",
33
- "/": "div",
34
- "%": "mod",
35
- "**": "pow",
36
- "|": "or",
37
- "&": "and",
38
- "^": "xor",
39
- ">>": "shr",
40
- ">>>": "shr",
41
- "<<": "shl",
42
- "&&": "land",
43
- "||": "or",
44
- };
45
- for (const key in operatorMap) {
46
- const kind = operatorMap[key];
47
- BaseValue.prototype[key] = function (scope, value) {
48
- const [left, leftInst] = this.eval(scope);
49
- const [right, rightInst] = value.eval(scope);
50
- const temp = new _1.TempValue(scope);
51
- return [
52
- temp,
53
- [
54
- ...leftInst,
55
- ...rightInst,
56
- new instructions_1.OperationInstruction(kind, temp, left, right),
57
- ],
58
- ];
59
- };
60
- }
61
- const unaryOperatorMap = {
62
- "!": "not",
63
- "~": "flip",
64
- };
65
- for (const key in unaryOperatorMap) {
66
- const name = unaryOperatorMap[key];
67
- BaseValue.prototype[key] = function (scope) {
68
- const [that, inst] = this.eval(scope);
69
- const temp = new _1.TempValue(scope);
70
- return [temp, [...inst, new instructions_1.OperationInstruction(name, temp, that)]];
71
- };
72
- }
73
- const assignmentToBinary = {
74
- "+=": "+",
75
- "-=": "-",
76
- "*=": "*",
77
- "/=": "/",
78
- "%=": "%",
79
- "**=": "**",
80
- "|=": "|",
81
- "&=": "&",
82
- "^=": "^",
83
- ">>=": ">>",
84
- ">>>=": ">>>",
85
- "<<=": "<<",
86
- "&&=": "&&",
87
- "||=": "||",
88
- };
89
- for (const op in assignmentToBinary) {
90
- BaseValue.prototype[op] = function (scope, value) {
91
- const [opValue, opInst] = this[assignmentToBinary[op]](scope, value);
92
- const [retValue, retInst] = this["="](scope, opValue);
93
- return [retValue, [...opInst, ...retInst]];
94
- };
95
- }
96
- for (const key of operators_1.updateOperators) {
97
- BaseValue.prototype[key] = function (scope, prefix) {
98
- let [ret, inst] = this.eval(scope);
99
- if (!prefix) {
100
- const temp = new _1.TempValue(scope);
101
- const [tempValue, tempInst] = temp["="](scope, ret);
102
- ret = tempValue;
103
- inst.push(...tempInst);
104
- }
105
- const kind = key === "++" ? "+=" : "-=";
106
- return [
107
- ret,
108
- [...inst, ...this[kind](scope, new _1.LiteralValue(scope, 1))[1]],
109
- ];
110
- };
111
- }
112
- //# sourceMappingURL=BaseValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseValue.js","sourceRoot":"","sources":["../../src/values/BaseValue.ts"],"names":[],"mappings":"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"}