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.
- package/build/bin.cjs +69 -0
- package/dist/bin.cjs +69 -0
- package/dist/index.cjs +1817 -0
- package/dist/index.mjs +1813 -0
- package/dist/types/Compiler.d.ts +18 -0
- package/{build → dist/types}/Scope.d.ts +23 -26
- package/dist/types/bin.d.ts +1 -0
- package/dist/types/handlers/BlockStatement.d.ts +2 -0
- package/dist/types/handlers/CallExpression.d.ts +3 -0
- package/dist/types/handlers/ForStatement.d.ts +2 -0
- package/{build → dist/types}/handlers/Function.d.ts +4 -4
- package/{build → dist/types}/handlers/Identifier.d.ts +2 -2
- package/dist/types/handlers/IfStatement.d.ts +2 -0
- package/{build → dist/types}/handlers/Literal.d.ts +2 -2
- package/{build → dist/types}/handlers/Object.d.ts +4 -4
- package/{build → dist/types}/handlers/OperationExpressions.d.ts +7 -7
- package/dist/types/handlers/Program.d.ts +2 -0
- package/dist/types/handlers/Statements.d.ts +5 -0
- package/dist/types/handlers/TemplateExpression.d.ts +2 -0
- package/dist/types/handlers/VariableDeclaration.d.ts +3 -0
- package/dist/types/handlers/WhileStatement.d.ts +2 -0
- package/{build → dist/types}/handlers/index.d.ts +14 -14
- package/dist/types/index.d.ts +1 -0
- package/{build → dist/types}/initScope.d.ts +2 -2
- package/{build → dist/types}/instructions/AddressResolver.d.ts +12 -12
- package/{build → dist/types}/instructions/ControlInstructions.d.ts +11 -11
- package/{build → dist/types}/instructions/EndInstruction.d.ts +4 -4
- package/{build → dist/types}/instructions/InstructionBase.d.ts +10 -10
- package/{build → dist/types}/instructions/JumpInstruction.d.ts +15 -15
- package/{build → dist/types}/instructions/OperationInstruction.d.ts +5 -5
- package/{build → dist/types}/instructions/SetCounterInstruction.d.ts +5 -5
- package/{build → dist/types}/instructions/SetInstruction.d.ts +5 -5
- package/{build → dist/types}/instructions/ZeroSpaceInstruction.d.ts +4 -4
- package/{build → dist/types}/instructions/index.d.ts +9 -9
- package/{build → dist/types}/macros/Building.d.ts +11 -11
- package/dist/types/macros/Function.d.ts +12 -0
- package/{build → dist/types}/macros/Math.d.ts +5 -5
- package/{build → dist/types}/macros/Memory.d.ts +5 -5
- package/{build → dist/types}/macros/Namespace.d.ts +21 -21
- package/{build → dist/types}/macros/Other.d.ts +5 -5
- package/{build → dist/types}/macros/RawValue.d.ts +5 -5
- package/{build → dist/types}/macros/commands/Control.d.ts +5 -5
- package/{build → dist/types}/macros/commands/Draw.d.ts +5 -5
- package/{build → dist/types}/macros/commands/DrawFlush.d.ts +5 -5
- package/{build → dist/types}/macros/commands/GetLink.d.ts +5 -5
- package/{build → dist/types}/macros/commands/Lookup.d.ts +5 -5
- package/{build → dist/types}/macros/commands/Print.d.ts +5 -5
- package/{build → dist/types}/macros/commands/PrintFlush.d.ts +5 -5
- package/{build → dist/types}/macros/commands/Radar.d.ts +7 -7
- package/{build → dist/types}/macros/commands/Sensor.d.ts +5 -5
- package/{build → dist/types}/macros/commands/UnitBind.d.ts +5 -5
- package/dist/types/macros/commands/UnitControl.d.ts +5 -0
- package/{build → dist/types}/macros/commands/UnitLocate.d.ts +5 -5
- package/{build → dist/types}/macros/commands/UnitRadar.d.ts +5 -5
- package/{build → dist/types}/macros/commands/Wait.d.ts +5 -5
- package/{build → dist/types}/macros/commands/index.d.ts +14 -14
- package/{build → dist/types}/macros/index.d.ts +7 -7
- package/{build → dist/types}/operators.d.ts +25 -25
- package/dist/types/types.d.ts +100 -0
- package/{build → dist/types}/utils.d.ts +3 -3
- package/{build → dist/types}/values/BaseValue.d.ts +5 -5
- package/{build → dist/types}/values/FunctionValue.d.ts +34 -34
- package/{build → dist/types}/values/LiteralValue.d.ts +12 -12
- package/dist/types/values/ObjectValue.d.ts +19 -0
- package/{build → dist/types}/values/StoreValue.d.ts +11 -11
- package/{build → dist/types}/values/TempValue.d.ts +12 -12
- package/{build → dist/types}/values/VoidValue.d.ts +13 -11
- package/{build → dist/types}/values/index.d.ts +6 -6
- package/doc/README.md +9 -0
- package/lib/eslib/lib.es5.d.ts +1 -1
- package/lib/traits.d.ts +0 -1
- package/package.json +17 -27
- package/build/Compiler.d.ts +0 -18
- package/build/Compiler.js +0 -100
- package/build/Compiler.js.map +0 -1
- package/build/Scope.js +0 -61
- package/build/Scope.js.map +0 -1
- package/build/bin.d.ts +0 -2
- package/build/bin.js +0 -61
- package/build/bin.js.map +0 -1
- package/build/handlers/BlockStatement.d.ts +0 -2
- package/build/handlers/BlockStatement.js +0 -14
- package/build/handlers/BlockStatement.js.map +0 -1
- package/build/handlers/CallExpression.d.ts +0 -3
- package/build/handlers/CallExpression.js +0 -20
- package/build/handlers/CallExpression.js.map +0 -1
- package/build/handlers/ForStatement.d.ts +0 -2
- package/build/handlers/ForStatement.js +0 -32
- package/build/handlers/ForStatement.js.map +0 -1
- package/build/handlers/Function.js +0 -36
- package/build/handlers/Function.js.map +0 -1
- package/build/handlers/Identifier.js +0 -8
- package/build/handlers/Identifier.js.map +0 -1
- package/build/handlers/IfStatement.d.ts +0 -2
- package/build/handlers/IfStatement.js +0 -25
- package/build/handlers/IfStatement.js.map +0 -1
- package/build/handlers/Literal.js +0 -18
- package/build/handlers/Literal.js.map +0 -1
- package/build/handlers/Object.js +0 -44
- package/build/handlers/Object.js.map +0 -1
- package/build/handlers/OperationExpressions.js +0 -33
- package/build/handlers/OperationExpressions.js.map +0 -1
- package/build/handlers/Program.d.ts +0 -2
- package/build/handlers/Program.js +0 -9
- package/build/handlers/Program.js.map +0 -1
- package/build/handlers/Statements.d.ts +0 -5
- package/build/handlers/Statements.js +0 -30
- package/build/handlers/Statements.js.map +0 -1
- package/build/handlers/TemplateExpression.d.ts +0 -2
- package/build/handlers/TemplateExpression.js +0 -18
- package/build/handlers/TemplateExpression.js.map +0 -1
- package/build/handlers/VariableDeclaration.d.ts +0 -3
- package/build/handlers/VariableDeclaration.js +0 -56
- package/build/handlers/VariableDeclaration.js.map +0 -1
- package/build/handlers/WhileStatement.d.ts +0 -2
- package/build/handlers/WhileStatement.js +0 -23
- package/build/handlers/WhileStatement.js.map +0 -1
- package/build/handlers/index.js +0 -31
- package/build/handlers/index.js.map +0 -1
- package/build/index.d.ts +0 -1
- package/build/index.js +0 -8
- package/build/index.js.map +0 -1
- package/build/initScope.js +0 -40
- package/build/initScope.js.map +0 -1
- package/build/instructions/AddressResolver.js +0 -31
- package/build/instructions/AddressResolver.js.map +0 -1
- package/build/instructions/ControlInstructions.js +0 -23
- package/build/instructions/ControlInstructions.js.map +0 -1
- package/build/instructions/EndInstruction.js +0 -11
- package/build/instructions/EndInstruction.js.map +0 -1
- package/build/instructions/InstructionBase.js +0 -21
- package/build/instructions/InstructionBase.js.map +0 -1
- package/build/instructions/JumpInstruction.js +0 -22
- package/build/instructions/JumpInstruction.js.map +0 -1
- package/build/instructions/OperationInstruction.js +0 -11
- package/build/instructions/OperationInstruction.js.map +0 -1
- package/build/instructions/SetCounterInstruction.js +0 -11
- package/build/instructions/SetCounterInstruction.js.map +0 -1
- package/build/instructions/SetInstruction.js +0 -11
- package/build/instructions/SetInstruction.js.map +0 -1
- package/build/instructions/ZeroSpaceInstruction.js +0 -11
- package/build/instructions/ZeroSpaceInstruction.js.map +0 -1
- package/build/instructions/index.js +0 -26
- package/build/instructions/index.js.map +0 -1
- package/build/macros/Building.js +0 -81
- package/build/macros/Building.js.map +0 -1
- package/build/macros/Function.d.ts +0 -12
- package/build/macros/Function.js +0 -20
- package/build/macros/Function.js.map +0 -1
- package/build/macros/Math.js +0 -57
- package/build/macros/Math.js.map +0 -1
- package/build/macros/Memory.js +0 -61
- package/build/macros/Memory.js.map +0 -1
- package/build/macros/Namespace.js +0 -98
- package/build/macros/Namespace.js.map +0 -1
- package/build/macros/Other.js +0 -20
- package/build/macros/Other.js.map +0 -1
- package/build/macros/RawValue.js +0 -16
- package/build/macros/RawValue.js.map +0 -1
- package/build/macros/commands/Control.js +0 -25
- package/build/macros/commands/Control.js.map +0 -1
- package/build/macros/commands/Draw.js +0 -39
- package/build/macros/commands/Draw.js.map +0 -1
- package/build/macros/commands/DrawFlush.js +0 -17
- package/build/macros/commands/DrawFlush.js.map +0 -1
- package/build/macros/commands/GetLink.js +0 -21
- package/build/macros/commands/GetLink.js.map +0 -1
- package/build/macros/commands/Lookup.js +0 -24
- package/build/macros/commands/Lookup.js.map +0 -1
- package/build/macros/commands/Print.js +0 -14
- package/build/macros/commands/Print.js.map +0 -1
- package/build/macros/commands/PrintFlush.js +0 -17
- package/build/macros/commands/PrintFlush.js.map +0 -1
- package/build/macros/commands/Radar.js +0 -61
- package/build/macros/commands/Radar.js.map +0 -1
- package/build/macros/commands/Sensor.js +0 -20
- package/build/macros/commands/Sensor.js.map +0 -1
- package/build/macros/commands/UnitBind.js +0 -17
- package/build/macros/commands/UnitBind.js.map +0 -1
- package/build/macros/commands/UnitControl.d.ts +0 -5
- package/build/macros/commands/UnitControl.js +0 -68
- package/build/macros/commands/UnitControl.js.map +0 -1
- package/build/macros/commands/UnitLocate.js +0 -55
- package/build/macros/commands/UnitLocate.js.map +0 -1
- package/build/macros/commands/UnitRadar.js +0 -41
- package/build/macros/commands/UnitRadar.js.map +0 -1
- package/build/macros/commands/Wait.js +0 -18
- package/build/macros/commands/Wait.js.map +0 -1
- package/build/macros/commands/index.js +0 -33
- package/build/macros/commands/index.js.map +0 -1
- package/build/macros/index.js +0 -40
- package/build/macros/index.js.map +0 -1
- package/build/operators.js +0 -102
- package/build/operators.js.map +0 -1
- package/build/types.d.ts +0 -49
- package/build/types.js +0 -28
- package/build/types.js.map +0 -1
- package/build/utils.js +0 -13
- package/build/utils.js.map +0 -1
- package/build/values/BaseValue.js +0 -112
- package/build/values/BaseValue.js.map +0 -1
- package/build/values/FunctionValue.js +0 -104
- package/build/values/FunctionValue.js.map +0 -1
- package/build/values/LiteralValue.js +0 -88
- package/build/values/LiteralValue.js.map +0 -1
- package/build/values/ObjectValue.d.ts +0 -17
- package/build/values/ObjectValue.js +0 -50
- package/build/values/ObjectValue.js.map +0 -1
- package/build/values/StoreValue.js +0 -31
- package/build/values/StoreValue.js.map +0 -1
- package/build/values/TempValue.js +0 -67
- package/build/values/TempValue.js.map +0 -1
- package/build/values/VoidValue.js +0 -31
- package/build/values/VoidValue.js.map +0 -1
- package/build/values/index.js +0 -23
- package/build/values/index.js.map +0 -1
- package/dist/mlogjs.es.js +0 -6366
- 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"}
|
package/build/macros/index.js
DELETED
|
@@ -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"}
|
package/build/operators.js
DELETED
|
@@ -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
|
package/build/operators.js.map
DELETED
|
@@ -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
|
package/build/types.js.map
DELETED
|
@@ -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
|
package/build/utils.js.map
DELETED
|
@@ -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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"}
|