mlogjs 0.1.9 → 0.2.0
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/README.md +1 -1
- package/build/Compiler.js +40 -13
- package/build/Compiler.js.map +1 -1
- package/build/Scope.js.map +1 -1
- package/build/bin.js +16 -9
- package/build/bin.js.map +1 -1
- package/build/handlers/BlockStatement.js.map +1 -1
- package/build/handlers/CallExpression.js.map +1 -1
- package/build/handlers/ForStatement.js.map +1 -1
- package/build/handlers/Function.js +6 -3
- package/build/handlers/Function.js.map +1 -1
- package/build/handlers/Identifier.js.map +1 -1
- package/build/handlers/IfStatement.js.map +1 -1
- package/build/handlers/Literal.js +3 -1
- package/build/handlers/Literal.js.map +1 -1
- package/build/handlers/Object.d.ts +1 -0
- package/build/handlers/Object.js +12 -1
- package/build/handlers/Object.js.map +1 -1
- package/build/handlers/OperationExpressions.js +2 -1
- package/build/handlers/OperationExpressions.js.map +1 -1
- package/build/handlers/Program.js.map +1 -1
- package/build/handlers/Statements.js +3 -1
- package/build/handlers/Statements.js.map +1 -1
- package/build/handlers/TemplateExpression.js.map +1 -1
- package/build/handlers/VariableDeclaration.js +43 -19
- package/build/handlers/VariableDeclaration.js.map +1 -1
- package/build/handlers/WhileStatement.js.map +1 -1
- package/build/handlers/index.js +5 -1
- package/build/handlers/index.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/instructions/AddressResolver.js +1 -2
- package/build/instructions/AddressResolver.js.map +1 -1
- package/build/instructions/ControlInstructions.js.map +1 -1
- package/build/instructions/EndInstruction.js.map +1 -1
- package/build/instructions/InstructionBase.js.map +1 -1
- package/build/instructions/JumpInstruction.js.map +1 -1
- package/build/instructions/OperationInstruction.js.map +1 -1
- package/build/instructions/SetCounterInstruction.js.map +1 -1
- package/build/instructions/SetInstruction.js.map +1 -1
- package/build/instructions/ZeroSpaceInstruction.js.map +1 -1
- package/build/instructions/index.js +5 -1
- package/build/instructions/index.js.map +1 -1
- package/build/macros/Blocks.js +15 -6
- package/build/macros/Blocks.js.map +1 -1
- package/build/macros/Building.d.ts +11 -0
- package/build/macros/Building.js +81 -0
- package/build/macros/Building.js.map +1 -0
- package/build/macros/Draw.js +7 -2
- package/build/macros/Draw.js.map +1 -1
- package/build/macros/Function.js.map +1 -1
- package/build/macros/Items.d.ts +5 -0
- package/build/macros/Items.js +20 -0
- package/build/macros/Items.js.map +1 -0
- package/build/macros/Liquids.d.ts +5 -0
- package/build/macros/Liquids.js +18 -0
- package/build/macros/Liquids.js.map +1 -0
- package/build/macros/Math.js +9 -9
- package/build/macros/Math.js.map +1 -1
- package/build/macros/Memory.d.ts +5 -0
- package/build/macros/Memory.js +61 -0
- package/build/macros/Memory.js.map +1 -0
- package/build/macros/Namespace.d.ts +21 -0
- package/build/macros/Namespace.js +98 -0
- package/build/macros/Namespace.js.map +1 -0
- package/build/macros/Other.d.ts +0 -3
- package/build/macros/Other.js +2 -11
- package/build/macros/Other.js.map +1 -1
- package/build/macros/RawValue.d.ts +5 -0
- package/build/macros/RawValue.js +16 -0
- package/build/macros/RawValue.js.map +1 -0
- package/build/macros/Symbol.d.ts +0 -0
- package/build/macros/Symbol.js +1 -0
- package/build/macros/Symbol.js.map +1 -0
- package/build/macros/SymbolNamespace.d.ts +0 -0
- package/build/macros/SymbolNamespace.js +1 -0
- package/build/macros/SymbolNamespace.js.map +1 -0
- package/build/macros/TypeFactory.js.map +1 -1
- package/build/macros/Units.d.ts +5 -0
- package/build/macros/Units.js +18 -0
- package/build/macros/Units.js.map +1 -0
- package/build/macros/Vars.d.ts +5 -0
- package/build/macros/Vars.js +18 -0
- package/build/macros/Vars.js.map +1 -0
- package/build/macros/commands/Asm.d.ts +5 -0
- package/build/macros/commands/Asm.js +21 -0
- package/build/macros/commands/Asm.js.map +1 -0
- package/build/macros/commands/Draw.d.ts +5 -0
- package/build/macros/commands/Draw.js +39 -0
- package/build/macros/commands/Draw.js.map +1 -0
- package/build/macros/commands/DrawFlush.d.ts +5 -0
- package/build/macros/commands/DrawFlush.js +17 -0
- package/build/macros/commands/DrawFlush.js.map +1 -0
- package/build/macros/commands/GetLink.d.ts +5 -0
- package/build/macros/commands/GetLink.js +21 -0
- package/build/macros/commands/GetLink.js.map +1 -0
- package/build/macros/commands/Lookup.d.ts +5 -0
- package/build/macros/commands/Lookup.js +24 -0
- package/build/macros/commands/Lookup.js.map +1 -0
- package/build/macros/commands/Print.d.ts +5 -0
- package/build/macros/commands/Print.js +14 -0
- package/build/macros/commands/Print.js.map +1 -0
- package/build/macros/commands/PrintFlush.d.ts +5 -0
- package/build/macros/commands/PrintFlush.js +17 -0
- package/build/macros/commands/PrintFlush.js.map +1 -0
- package/build/macros/commands/Radar.d.ts +7 -0
- package/build/macros/commands/Radar.js +61 -0
- package/build/macros/commands/Radar.js.map +1 -0
- package/build/macros/commands/Sensor.d.ts +5 -0
- package/build/macros/commands/Sensor.js +20 -0
- package/build/macros/commands/Sensor.js.map +1 -0
- package/build/macros/commands/UnitBind.d.ts +5 -0
- package/build/macros/commands/UnitBind.js +17 -0
- package/build/macros/commands/UnitBind.js.map +1 -0
- package/build/macros/commands/UnitControl.d.ts +5 -0
- package/build/macros/commands/UnitControl.js +68 -0
- package/build/macros/commands/UnitControl.js.map +1 -0
- package/build/macros/commands/UnitLocate.d.ts +5 -0
- package/build/macros/commands/UnitLocate.js +55 -0
- package/build/macros/commands/UnitLocate.js.map +1 -0
- package/build/macros/commands/UnitRadar.d.ts +5 -0
- package/build/macros/commands/UnitRadar.js +41 -0
- package/build/macros/commands/UnitRadar.js.map +1 -0
- package/build/macros/commands/Wait.d.ts +5 -0
- package/build/macros/commands/Wait.js +18 -0
- package/build/macros/commands/Wait.js.map +1 -0
- package/build/macros/commands/control.d.ts +5 -0
- package/build/macros/commands/control.js +25 -0
- package/build/macros/commands/control.js.map +1 -0
- package/build/macros/commands/index.d.ts +14 -0
- package/build/macros/commands/index.js +33 -0
- package/build/macros/commands/index.js.map +1 -0
- package/build/macros/commands/io.d.ts +8 -0
- package/build/macros/commands/io.js +47 -0
- package/build/macros/commands/io.js.map +1 -0
- package/build/macros/helpers/GetBuilding.d.ts +5 -0
- package/build/macros/helpers/GetBuilding.js +16 -0
- package/build/macros/helpers/GetBuilding.js.map +1 -0
- package/build/macros/helpers/GetVar.d.ts +5 -0
- package/build/macros/helpers/GetVar.js +16 -0
- package/build/macros/helpers/GetVar.js.map +1 -0
- package/build/macros/helpers/index.d.ts +2 -0
- package/build/{scopes → macros/helpers}/index.js +2 -3
- package/build/macros/helpers/index.js.map +1 -0
- package/build/macros/index.d.ts +4 -2
- package/build/macros/index.js +25 -3
- package/build/macros/index.js.map +1 -1
- package/build/operators.d.ts +3 -0
- package/build/operators.js +79 -16
- package/build/operators.js.map +1 -1
- package/build/types.js +5 -1
- package/build/types.js.map +1 -1
- package/build/utils.d.ts +1 -0
- package/build/utils.js +5 -1
- package/build/utils.js.map +1 -1
- package/build/values/BaseValue.js +13 -3
- package/build/values/BaseValue.js.map +1 -1
- package/build/values/FunctionValue.js +5 -2
- package/build/values/FunctionValue.js.map +1 -1
- package/build/values/LiteralValue.js +4 -5
- package/build/values/LiteralValue.js.map +1 -1
- package/build/values/ObjectValue.js.map +1 -1
- package/build/values/StoreValue.js.map +1 -1
- package/build/values/TempValue.js +16 -2
- package/build/values/TempValue.js.map +1 -1
- package/build/values/VoidValue.js.map +1 -1
- package/build/values/index.js +5 -1
- package/build/values/index.js.map +1 -1
- package/dist/bundle.js +1 -553
- package/lib/commands.d.ts +326 -0
- package/lib/eslib/index.d.ts +3 -0
- package/lib/eslib/lib.d.ts +9 -0
- package/lib/eslib/lib.es2015.collection.d.ts +89 -0
- package/lib/eslib/lib.es2015.core.d.ts +16 -0
- package/lib/eslib/lib.es2015.d.ts +30 -0
- package/lib/eslib/lib.es2015.generator.d.ts +79 -0
- package/lib/eslib/lib.es2015.iterable.d.ts +70 -0
- package/lib/eslib/lib.es5.d.ts +295 -0
- package/lib/eslib/lib.es6.d.ts +18 -0
- package/lib/globals.d.ts +328 -0
- package/lib/helpers.d.ts +23 -0
- package/lib/index.d.ts +7 -0
- package/lib/kinds.d.ts +36 -0
- package/lib/memory.d.ts +17 -0
- package/lib/traits.d.ts +121 -0
- package/lib/util.d.ts +32 -0
- package/package.json +21 -10
- package/.gitattributes +0 -2
- package/build/scopes/FunctionScope.d.ts +0 -5
- package/build/scopes/FunctionScope.js +0 -13
- package/build/scopes/FunctionScope.js.map +0 -1
- package/build/scopes/LoopScope.d.ts +0 -5
- package/build/scopes/LoopScope.js +0 -13
- package/build/scopes/LoopScope.js.map +0 -1
- package/build/scopes/Scope.d.ts +0 -36
- package/build/scopes/Scope.js +0 -93
- package/build/scopes/Scope.js.map +0 -1
- package/build/scopes/index.d.ts +0 -3
- package/build/scopes/index.js.map +0 -1
- package/mlogjs.d.ts +0 -72
- package/tsconfig.json +0 -22
- package/webpack.config.js +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetInstruction.js","sourceRoot":"","sources":["../../src/instructions/SetInstruction.ts"],"names":[],"mappings":";;;AAAA,wBAAoC;AAGpC,MAAa,cAAe,SAAQ,kBAAe;
|
|
1
|
+
{"version":3,"file":"SetInstruction.js","sourceRoot":"","sources":["../../src/instructions/SetInstruction.ts"],"names":[],"mappings":";;;AAAA,wBAAoC;AAGpC,MAAa,cAAe,SAAQ,kBAAe;IACjD,YAAY,KAAa,EAAE,KAAa;QACtC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAJD,wCAIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZeroSpaceInstruction.js","sourceRoot":"","sources":["../../src/instructions/ZeroSpaceInstruction.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAEpD,MAAa,oBAAqB,SAAQ,iCAAe;
|
|
1
|
+
{"version":3,"file":"ZeroSpaceInstruction.js","sourceRoot":"","sources":["../../src/instructions/ZeroSpaceInstruction.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAEpD,MAAa,oBAAqB,SAAQ,iCAAe;IACvD,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;CACF;AAJD,oDAIC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,yDAAuC;AACvC,mDAAiC;AACjC,mDAAiC;AACjC,oDAAkC;AAClC,oDAAkC;AAClC,0DAAwC;AACxC,yDAAuC;AACvC,wDAAsC"}
|
package/build/macros/Blocks.js
CHANGED
|
@@ -16,7 +16,7 @@ class Block extends values_1.ObjectValue {
|
|
|
16
16
|
}),
|
|
17
17
|
"$=": new Function_1.MacroFunction(scope, (value) => {
|
|
18
18
|
return this.get(scope, new values_1.LiteralValue(scope, "control"))[0].call(scope, [prop, value]);
|
|
19
|
-
})
|
|
19
|
+
}),
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
@@ -26,7 +26,7 @@ class Block extends values_1.ObjectValue {
|
|
|
26
26
|
}),
|
|
27
27
|
"$=": new Function_1.MacroFunction(scope, (value) => {
|
|
28
28
|
return this.get(scope, new values_1.LiteralValue(scope, "write"))[0].call(scope, [prop, value]);
|
|
29
|
-
})
|
|
29
|
+
}),
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
return [obj, []];
|
|
@@ -35,7 +35,7 @@ class Block extends values_1.ObjectValue {
|
|
|
35
35
|
return [
|
|
36
36
|
null,
|
|
37
37
|
[
|
|
38
|
-
...args.map(
|
|
38
|
+
...args.map(arg => new instructions_1.InstructionBase("print", arg)),
|
|
39
39
|
new instructions_1.InstructionBase("printflush", name),
|
|
40
40
|
],
|
|
41
41
|
];
|
|
@@ -68,7 +68,10 @@ class Block extends values_1.ObjectValue {
|
|
|
68
68
|
if (attr.data[0] === "@")
|
|
69
69
|
throw new Error("The use of '@' is unnecessary beucase it is already done for you.");
|
|
70
70
|
const temp = new values_1.TempValue(scope);
|
|
71
|
-
return [
|
|
71
|
+
return [
|
|
72
|
+
temp,
|
|
73
|
+
[new instructions_1.InstructionBase("sensor", temp, name, "@" + attr.data)],
|
|
74
|
+
];
|
|
72
75
|
}),
|
|
73
76
|
//control enabled block1 0 0 0 0
|
|
74
77
|
control: new Function_1.MacroFunction(scope, (attr, ...args) => {
|
|
@@ -79,7 +82,10 @@ class Block extends values_1.ObjectValue {
|
|
|
79
82
|
for (const arg of args)
|
|
80
83
|
if (!(arg instanceof values_1.LiteralValue || arg instanceof values_1.StoreValue))
|
|
81
84
|
throw new Error("Arguments cannot be non-literal or non-store value.");
|
|
82
|
-
return [
|
|
85
|
+
return [
|
|
86
|
+
null,
|
|
87
|
+
[new instructions_1.InstructionBase("control", attr.data, name, ...args)],
|
|
88
|
+
];
|
|
83
89
|
}),
|
|
84
90
|
// radar enemy any any distance turret1 1 result
|
|
85
91
|
radar: new Function_1.MacroFunction(scope, (target0, target1, target2, sort, order) => {
|
|
@@ -109,13 +115,16 @@ class Block extends values_1.ObjectValue {
|
|
|
109
115
|
return [
|
|
110
116
|
temp,
|
|
111
117
|
[
|
|
112
|
-
new instructions_1.InstructionBase("radar", ...targets.map(
|
|
118
|
+
new instructions_1.InstructionBase("radar", ...targets.map(v => v.data), sort.data, name, order, temp),
|
|
113
119
|
],
|
|
114
120
|
];
|
|
115
121
|
}),
|
|
116
122
|
});
|
|
117
123
|
this.name = name;
|
|
118
124
|
}
|
|
125
|
+
toString() {
|
|
126
|
+
return this.name;
|
|
127
|
+
}
|
|
119
128
|
}
|
|
120
129
|
class BlockBuilder extends values_1.ObjectValue {
|
|
121
130
|
constructor(scope) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/macros/Blocks.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAElD,sCAA6E;AAC7E,yCAA2C;AAE3C,MAAM,KAAM,SAAQ,oBAAW;
|
|
1
|
+
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/macros/Blocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IScope } from "../types";
|
|
2
|
+
import { ObjectValue } from "../values";
|
|
3
|
+
export declare const itemNames: string[];
|
|
4
|
+
export declare class Building extends ObjectValue {
|
|
5
|
+
name: string;
|
|
6
|
+
toString(): string;
|
|
7
|
+
constructor(scope: IScope, name: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class BuildingBuilder extends ObjectValue {
|
|
10
|
+
constructor(scope: IScope);
|
|
11
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BuildingBuilder = exports.Building = exports.itemNames = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const instructions_1 = require("../instructions");
|
|
6
|
+
const values_1 = require("../values");
|
|
7
|
+
const Function_1 = require("./Function");
|
|
8
|
+
const operators_1 = require("../operators");
|
|
9
|
+
exports.itemNames = [
|
|
10
|
+
"copper",
|
|
11
|
+
"lead",
|
|
12
|
+
"metaglass",
|
|
13
|
+
"graphite",
|
|
14
|
+
"sand",
|
|
15
|
+
"coal",
|
|
16
|
+
"titanium",
|
|
17
|
+
"thorium",
|
|
18
|
+
"scrap",
|
|
19
|
+
"silicon",
|
|
20
|
+
"plastanium",
|
|
21
|
+
"phaseFabric",
|
|
22
|
+
"surgeAlloy",
|
|
23
|
+
"sporePod",
|
|
24
|
+
"blastCompound",
|
|
25
|
+
"pyratite",
|
|
26
|
+
];
|
|
27
|
+
class Building extends values_1.ObjectValue {
|
|
28
|
+
constructor(scope, name) {
|
|
29
|
+
super(scope, {
|
|
30
|
+
$get: new Function_1.MacroFunction(scope, (prop) => {
|
|
31
|
+
if (prop instanceof values_1.LiteralValue && typeof prop.data === "string") {
|
|
32
|
+
const name = exports.itemNames.includes(prop.data)
|
|
33
|
+
? (0, utils_1.camelToDashCase)(prop.data)
|
|
34
|
+
: prop.data;
|
|
35
|
+
const temp = new values_1.TempValue(scope);
|
|
36
|
+
return [
|
|
37
|
+
temp,
|
|
38
|
+
[new instructions_1.InstructionBase("sensor", temp, this, `@${name}`)],
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
if (prop instanceof values_1.StoreValue) {
|
|
42
|
+
const temp = new values_1.TempValue(scope);
|
|
43
|
+
return [temp, [new instructions_1.InstructionBase("sensor", temp, this, prop)]];
|
|
44
|
+
}
|
|
45
|
+
throw new Error("Building property acessors must be string literals or stores");
|
|
46
|
+
}),
|
|
47
|
+
});
|
|
48
|
+
this.name = name;
|
|
49
|
+
}
|
|
50
|
+
toString() {
|
|
51
|
+
return this.name;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.Building = Building;
|
|
55
|
+
class BuildingBuilder extends values_1.ObjectValue {
|
|
56
|
+
constructor(scope) {
|
|
57
|
+
super(scope, {
|
|
58
|
+
$call: new Function_1.MacroFunction(scope, (nameLit) => {
|
|
59
|
+
if (!(nameLit instanceof values_1.LiteralValue))
|
|
60
|
+
throw new Error("Block name must be a literal.");
|
|
61
|
+
if (typeof nameLit.data !== "string")
|
|
62
|
+
throw new Error("Block name must be a string.");
|
|
63
|
+
return [new Building(scope, nameLit.data), []];
|
|
64
|
+
}),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.BuildingBuilder = BuildingBuilder;
|
|
69
|
+
for (const key in operators_1.operatorMap) {
|
|
70
|
+
const kind = operators_1.operatorMap[key];
|
|
71
|
+
Building.prototype[key] = function (scope, value) {
|
|
72
|
+
const left = new values_1.StoreValue(scope, this.name);
|
|
73
|
+
const [right, rightInst] = value.eval(scope);
|
|
74
|
+
const temp = new values_1.TempValue(scope);
|
|
75
|
+
return [
|
|
76
|
+
temp,
|
|
77
|
+
[...rightInst, new instructions_1.OperationInstruction(kind, temp, left, right)],
|
|
78
|
+
];
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=Building.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Building.js","sourceRoot":"","sources":["../../src/macros/Building.ts"],"names":[],"mappings":"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"}
|
package/build/macros/Draw.js
CHANGED
|
@@ -22,11 +22,16 @@ class Draw extends Function_1.MacroFunction {
|
|
|
22
22
|
"image",
|
|
23
23
|
].indexOf(kind.data) === -1)
|
|
24
24
|
throw new Error("Draw kind must be valid");
|
|
25
|
-
return [
|
|
25
|
+
return [
|
|
26
|
+
null,
|
|
27
|
+
[
|
|
28
|
+
new instructions_1.InstructionBase("draw", kind.data, ...args.map(v => {
|
|
26
29
|
if (v instanceof values_1.LiteralValue && typeof v.data === "string")
|
|
27
30
|
return v.data;
|
|
28
31
|
return v;
|
|
29
|
-
}))
|
|
32
|
+
})),
|
|
33
|
+
],
|
|
34
|
+
];
|
|
30
35
|
});
|
|
31
36
|
}
|
|
32
37
|
}
|
package/build/macros/Draw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Draw.js","sourceRoot":"","sources":["../../src/macros/Draw.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAElD,sCAAyC;AACzC,yCAA2C;AAE3C,MAAa,IAAK,SAAQ,wBAAa;
|
|
1
|
+
{"version":3,"file":"Draw.js","sourceRoot":"","sources":["../../src/macros/Draw.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAElD,sCAAyC;AACzC,yCAA2C;AAE3C,MAAa,IAAK,SAAQ,wBAAa;IACrC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC,IAAY,EAAE,GAAG,IAAc,EAAE,EAAE;YAC/C,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,IACE;gBACE,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,MAAM;gBACN,UAAU;gBACV,UAAU;gBACV,OAAO;aACR,CAAC,OAAO,CAAC,IAAI,CAAC,IAAc,CAAC,KAAK,CAAC,CAAC;gBAErC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO;gBACL,IAAI;gBACJ;oBACE,IAAI,8BAAe,CACjB,MAAM,EACN,IAAI,CAAC,IAAc,EACnB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACd,IAAI,CAAC,YAAY,qBAAY,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;4BACzD,OAAO,CAAC,CAAC,IAAI,CAAC;wBAChB,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC,CACH;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApCD,oBAoCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Function.js","sourceRoot":"","sources":["../../src/macros/Function.ts"],"names":[],"mappings":";;;AACA,sCAAsC;AAItC,MAAa,aAAc,SAAQ,kBAAS;
|
|
1
|
+
{"version":3,"file":"Function.js","sourceRoot":"","sources":["../../src/macros/Function.ts"],"names":[],"mappings":";;;AACA,sCAAsC;AAItC,MAAa,aAAc,SAAQ,kBAAS;IAI1C,YAAY,KAAa,EAAE,EAAa;QACtC,KAAK,CAAC,KAAK,CAAC,CAAC;QAJf,UAAK,GAAG,IAAI,CAAC;QACb,aAAQ,GAAG,IAAI,CAAC;QAId,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAa,EAAE,IAAc;QAChC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,KAAa;QAChB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,CAAC;CACF;AAdD,sCAcC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ItemsMacro = void 0;
|
|
4
|
+
const _1 = require(".");
|
|
5
|
+
const values_1 = require("../values");
|
|
6
|
+
class ItemsMacro extends values_1.ObjectValue {
|
|
7
|
+
constructor(scope) {
|
|
8
|
+
super(scope, {
|
|
9
|
+
$get: new _1.MacroFunction(scope, prop => {
|
|
10
|
+
var _a;
|
|
11
|
+
if (!(prop instanceof values_1.LiteralValue) || typeof prop.data !== "string")
|
|
12
|
+
throw new Error("Cannot use dynamic properties on object macros");
|
|
13
|
+
const itemName = (_a = specialNameMap[prop.data]) !== null && _a !== void 0 ? _a : prop.data;
|
|
14
|
+
return [new values_1.StoreValue(scope, `@${itemName}`), []];
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.ItemsMacro = ItemsMacro;
|
|
20
|
+
//# sourceMappingURL=Items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Items.js","sourceRoot":"","sources":["../../src/macros/Items.ts"],"names":[],"mappings":";;;AAAA,wBAAkC;AAElC,sCAAkE;AAElE,MAAa,UAAW,SAAQ,oBAAW;IACzC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE;YACX,IAAI,EAAE,IAAI,gBAAa,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;;gBACpC,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAClE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,MAAM,QAAQ,GAAG,MAAA,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC,IAAI,CAAC;gBACxD,OAAO,CAAC,IAAI,mBAAU,CAAC,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAXD,gCAWC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LiquidsMacro = void 0;
|
|
4
|
+
const _1 = require(".");
|
|
5
|
+
const values_1 = require("../values");
|
|
6
|
+
class LiquidsMacro extends values_1.ObjectValue {
|
|
7
|
+
constructor(scope) {
|
|
8
|
+
super(scope, {
|
|
9
|
+
$get: new _1.MacroFunction(scope, prop => {
|
|
10
|
+
if (!(prop instanceof values_1.LiteralValue) || typeof prop.data !== "string")
|
|
11
|
+
throw new Error("Cannot use dynamic properties on object macros");
|
|
12
|
+
return [new values_1.StoreValue(scope, `@${prop.data}`), []];
|
|
13
|
+
}),
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.LiquidsMacro = LiquidsMacro;
|
|
18
|
+
//# sourceMappingURL=Liquids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Liquids.js","sourceRoot":"","sources":["../../src/macros/Liquids.ts"],"names":[],"mappings":";;;AAAA,wBAAkC;AAElC,sCAAkE;AAElE,MAAa,YAAa,SAAQ,oBAAW;IAC3C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE;YACX,IAAI,EAAE,IAAI,gBAAa,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;gBACpC,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAClE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,mBAAU,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAVD,oCAUC"}
|
package/build/macros/Math.js
CHANGED
|
@@ -10,15 +10,15 @@ const mathOperations = {
|
|
|
10
10
|
angle: (a, b) => Math.atan2(a, b),
|
|
11
11
|
len: (a, b) => Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)),
|
|
12
12
|
noise: null,
|
|
13
|
-
abs:
|
|
14
|
-
log:
|
|
15
|
-
log10:
|
|
16
|
-
sin:
|
|
17
|
-
cos:
|
|
18
|
-
tan:
|
|
19
|
-
floor:
|
|
20
|
-
ceil:
|
|
21
|
-
sqrt:
|
|
13
|
+
abs: a => Math.abs(a),
|
|
14
|
+
log: a => Math.log(a),
|
|
15
|
+
log10: a => Math.log(a) / Math.log(10),
|
|
16
|
+
sin: a => Math.sin(a),
|
|
17
|
+
cos: a => Math.cos(a),
|
|
18
|
+
tan: a => Math.tan(a),
|
|
19
|
+
floor: a => Math.floor(a),
|
|
20
|
+
ceil: a => Math.ceil(a),
|
|
21
|
+
sqrt: a => Math.ceil(a),
|
|
22
22
|
rand: null,
|
|
23
23
|
};
|
|
24
24
|
function createMacroMathOperations(scope) {
|
package/build/macros/Math.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Math.js","sourceRoot":"","sources":["../../src/macros/Math.ts"],"names":[],"mappings":";;;AAAA,kDAAwE;AAExE,sCAAiE;AACjE,yCAA2C;AAE3C,MAAM,cAAc,GAAuD;
|
|
1
|
+
{"version":3,"file":"Math.js","sourceRoot":"","sources":["../../src/macros/Math.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoryBuilder = void 0;
|
|
4
|
+
const operators_1 = require("../operators");
|
|
5
|
+
const instructions_1 = require("../instructions");
|
|
6
|
+
const values_1 = require("../values");
|
|
7
|
+
const Function_1 = require("./Function");
|
|
8
|
+
class MemoryEntry extends values_1.ObjectValue {
|
|
9
|
+
constructor(scope, mem, prop) {
|
|
10
|
+
super(scope, {
|
|
11
|
+
$eval: new Function_1.MacroFunction(scope, () => {
|
|
12
|
+
const temp = new values_1.TempValue(scope);
|
|
13
|
+
return [temp, [new instructions_1.InstructionBase("read", temp, mem.cell, prop)]];
|
|
14
|
+
}),
|
|
15
|
+
"$=": new Function_1.MacroFunction(scope, value => {
|
|
16
|
+
return [null, [new instructions_1.InstructionBase("write", prop, mem.cell, value)]];
|
|
17
|
+
}),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
for (const operator of operators_1.operators) {
|
|
22
|
+
if (operator === "=")
|
|
23
|
+
continue;
|
|
24
|
+
MemoryEntry.prototype[operator] = function (...args) {
|
|
25
|
+
return values_1.BaseValue.prototype[operator].apply(this, args);
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
class MemoryMacro extends values_1.ObjectValue {
|
|
29
|
+
constructor(scope, cell, size) {
|
|
30
|
+
super(scope, {
|
|
31
|
+
$get: new Function_1.MacroFunction(scope, (prop) => {
|
|
32
|
+
if (prop instanceof values_1.LiteralValue && typeof prop.data !== "number")
|
|
33
|
+
return [new values_1.VoidValue(scope), []];
|
|
34
|
+
const obj = new MemoryEntry(scope, this, prop);
|
|
35
|
+
return [obj, []];
|
|
36
|
+
}),
|
|
37
|
+
length: size,
|
|
38
|
+
size,
|
|
39
|
+
});
|
|
40
|
+
this.cell = cell;
|
|
41
|
+
this.name = cell.toString();
|
|
42
|
+
}
|
|
43
|
+
toString() {
|
|
44
|
+
return this.name;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class MemoryBuilder extends values_1.ObjectValue {
|
|
48
|
+
constructor(scope) {
|
|
49
|
+
super(scope, {
|
|
50
|
+
$call: new Function_1.MacroFunction(scope, (cell, size = new values_1.LiteralValue(scope, 64)) => {
|
|
51
|
+
if (!(cell instanceof values_1.ObjectValue))
|
|
52
|
+
throw new Error("Memory cell must be a building object.");
|
|
53
|
+
if (!(size instanceof values_1.LiteralValue && typeof size.data === "number"))
|
|
54
|
+
throw new Error("The memory size must be a number literal.");
|
|
55
|
+
return [new MemoryMacro(scope, cell, size), []];
|
|
56
|
+
}),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.MemoryBuilder = MemoryBuilder;
|
|
61
|
+
//# sourceMappingURL=Memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Memory.js","sourceRoot":"","sources":["../../src/macros/Memory.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,kDAAwE;AAExE,sCAOmB;AACnB,yCAA2C;AAE3C,MAAM,WAAY,SAAQ,oBAAW;IACnC,YAAY,KAAa,EAAE,GAAgB,EAAE,IAAY;QACvD,KAAK,CAAC,KAAK,EAAE;YACX,KAAK,EAAE,IAAI,wBAAa,CAAC,KAAK,EAAE,GAAG,EAAE;gBACnC,MAAM,IAAI,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,8BAAe,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC;YACF,IAAI,EAAE,IAAI,wBAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBACrC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,8BAAe,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAED,KAAK,MAAM,QAAQ,IAAI,qBAAS,EAAE;IAChC,IAAI,QAAQ,KAAK,GAAG;QAAE,SAAS;IAC/B,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,UAA6B,GAAG,IAAI;QACpE,OAAO,kBAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC,CAAC;CACH;AAED,MAAM,WAAY,SAAQ,oBAAW;IAKnC,YAAY,KAAa,EAAS,IAAiB,EAAE,IAAkB;QACrE,KAAK,CAAC,KAAK,EAAE;YACX,IAAI,EAAE,IAAI,wBAAa,CAAC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC9C,IAAI,IAAI,YAAY,qBAAY,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAC/D,OAAO,CAAC,IAAI,kBAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC;YACF,MAAM,EAAE,IAAI;YACZ,IAAI;SACL,CAAC,CAAC;QAV6B,SAAI,GAAJ,IAAI,CAAa;QAYjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAhBD,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CAeF;AAED,MAAa,aAAc,SAAQ,oBAAW;IAC5C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE;YACX,KAAK,EAAE,IAAI,wBAAa,CACtB,KAAK,EACL,CAAC,IAAY,EAAE,OAAe,IAAI,qBAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3D,IAAI,CAAC,CAAC,IAAI,YAAY,oBAAW,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAE5D,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAClE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAE/D,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,CAAC,CACF;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAjBD,sCAiBC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IScope } from "../types";
|
|
2
|
+
import { ObjectValue } from "../values";
|
|
3
|
+
interface NamespaceMacroOptions {
|
|
4
|
+
changeCasing?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare class NamespaceMacro extends ObjectValue {
|
|
7
|
+
changeCasing: boolean;
|
|
8
|
+
constructor(scope: IScope, { changeCasing }?: NamespaceMacroOptions);
|
|
9
|
+
}
|
|
10
|
+
export declare class VarsNamespace extends NamespaceMacro {
|
|
11
|
+
constructor(scope: IScope);
|
|
12
|
+
}
|
|
13
|
+
export declare class UCommandsNamespace extends NamespaceMacro {
|
|
14
|
+
constructor(scope: IScope);
|
|
15
|
+
}
|
|
16
|
+
export declare class Unit extends ObjectValue {
|
|
17
|
+
name: string;
|
|
18
|
+
constructor(scope: IScope, name: string);
|
|
19
|
+
toString(): string;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Unit = exports.UCommandsNamespace = exports.VarsNamespace = exports.NamespaceMacro = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
const values_1 = require("../values");
|
|
7
|
+
const Building_1 = require("./Building");
|
|
8
|
+
const instructions_1 = require("../instructions");
|
|
9
|
+
const operators_1 = require("../operators");
|
|
10
|
+
class NamespaceMacro extends values_1.ObjectValue {
|
|
11
|
+
constructor(scope, { changeCasing = false } = {}) {
|
|
12
|
+
super(scope, {
|
|
13
|
+
$get: new _1.MacroFunction(scope, prop => {
|
|
14
|
+
if (!(prop instanceof values_1.LiteralValue) || typeof prop.data !== "string")
|
|
15
|
+
throw new Error("Cannot use dynamic properties on object macros");
|
|
16
|
+
const symbolName = this.changeCasing
|
|
17
|
+
? (0, utils_1.camelToDashCase)(prop.data)
|
|
18
|
+
: prop.data;
|
|
19
|
+
return [new values_1.StoreValue(scope, `@${symbolName}`), []];
|
|
20
|
+
}),
|
|
21
|
+
});
|
|
22
|
+
this.changeCasing = changeCasing;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.NamespaceMacro = NamespaceMacro;
|
|
26
|
+
class VarsNamespace extends NamespaceMacro {
|
|
27
|
+
constructor(scope) {
|
|
28
|
+
super(scope);
|
|
29
|
+
const $get = this.data.$get;
|
|
30
|
+
this.data.$get = new _1.MacroFunction(scope, prop => {
|
|
31
|
+
if (prop instanceof values_1.LiteralValue) {
|
|
32
|
+
if (prop.data === "unit")
|
|
33
|
+
return [new Unit(scope, "@unit"), []];
|
|
34
|
+
if (prop.data === "this")
|
|
35
|
+
return [new Building_1.Building(scope, "@this"), []];
|
|
36
|
+
}
|
|
37
|
+
return $get.call(scope, [prop]);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.VarsNamespace = VarsNamespace;
|
|
42
|
+
class UCommandsNamespace extends NamespaceMacro {
|
|
43
|
+
constructor(scope) {
|
|
44
|
+
super(scope);
|
|
45
|
+
const $get = this.data.$get;
|
|
46
|
+
this.data.$get = new _1.MacroFunction(scope, prop => {
|
|
47
|
+
if (!(prop instanceof values_1.LiteralValue) || typeof prop.data !== "string")
|
|
48
|
+
throw new Error("Cannot use dynamic properties on object macros");
|
|
49
|
+
const symbolName = prop.data[0].toUpperCase() + prop.data.slice(1);
|
|
50
|
+
return [new values_1.StoreValue(scope, `@command${symbolName}`), []];
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.UCommandsNamespace = UCommandsNamespace;
|
|
55
|
+
// TODO: repeated logic between UnitMacro and Building
|
|
56
|
+
class Unit extends values_1.ObjectValue {
|
|
57
|
+
constructor(scope, name) {
|
|
58
|
+
super(scope, {
|
|
59
|
+
$get: new _1.MacroFunction(scope, prop => {
|
|
60
|
+
if (prop instanceof values_1.LiteralValue && typeof prop.data === "string") {
|
|
61
|
+
const name = Building_1.itemNames.includes(prop.data)
|
|
62
|
+
? (0, utils_1.camelToDashCase)(prop.data)
|
|
63
|
+
: prop.data;
|
|
64
|
+
const temp = new values_1.TempValue(scope);
|
|
65
|
+
// special case, should return another unit or building
|
|
66
|
+
const result = prop.data === "controller" ? new Unit(scope, temp.name) : temp;
|
|
67
|
+
return [
|
|
68
|
+
result,
|
|
69
|
+
[new instructions_1.InstructionBase("sensor", result, this, `@${name}`)],
|
|
70
|
+
];
|
|
71
|
+
}
|
|
72
|
+
if (prop instanceof values_1.StoreValue) {
|
|
73
|
+
const temp = new values_1.TempValue(scope);
|
|
74
|
+
return [temp, [new instructions_1.InstructionBase("sensor", temp, this, prop)]];
|
|
75
|
+
}
|
|
76
|
+
throw new Error("Building property acessors must be string literals or stores");
|
|
77
|
+
}),
|
|
78
|
+
});
|
|
79
|
+
this.name = name;
|
|
80
|
+
}
|
|
81
|
+
toString() {
|
|
82
|
+
return this.name;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.Unit = Unit;
|
|
86
|
+
for (const key in operators_1.operatorMap) {
|
|
87
|
+
const kind = operators_1.operatorMap[key];
|
|
88
|
+
Unit.prototype[key] = function (scope, value) {
|
|
89
|
+
const left = new values_1.StoreValue(scope, this.name);
|
|
90
|
+
const [right, rightInst] = value.eval(scope);
|
|
91
|
+
const temp = new values_1.TempValue(scope);
|
|
92
|
+
return [
|
|
93
|
+
temp,
|
|
94
|
+
[...rightInst, new instructions_1.OperationInstruction(kind, temp, left, right)],
|
|
95
|
+
];
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=Namespace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Namespace.js","sourceRoot":"","sources":["../../src/macros/Namespace.ts"],"names":[],"mappings":"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"}
|
package/build/macros/Other.d.ts
CHANGED
package/build/macros/Other.js
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Concat =
|
|
3
|
+
exports.Concat = void 0;
|
|
4
4
|
const values_1 = require("../values");
|
|
5
|
-
const instructions_1 = require("../instructions");
|
|
6
5
|
const Function_1 = require("./Function");
|
|
7
|
-
class Print extends Function_1.MacroFunction {
|
|
8
|
-
constructor(scope) {
|
|
9
|
-
super(scope, (...values) => {
|
|
10
|
-
return [null, [new instructions_1.InstructionBase("print", ...values)]];
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.Print = Print;
|
|
15
6
|
class Concat extends Function_1.MacroFunction {
|
|
16
7
|
constructor(scope) {
|
|
17
8
|
super(scope, (...values) => {
|
|
@@ -19,7 +10,7 @@ class Concat extends Function_1.MacroFunction {
|
|
|
19
10
|
if (!(value instanceof values_1.LiteralValue))
|
|
20
11
|
throw new Error("Concat arguments must all be literal values.");
|
|
21
12
|
return [
|
|
22
|
-
new values_1.LiteralValue(scope, values.map(
|
|
13
|
+
new values_1.LiteralValue(scope, values.map(v => v.data).join("")),
|
|
23
14
|
[],
|
|
24
15
|
];
|
|
25
16
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Other.js","sourceRoot":"","sources":["../../src/macros/Other.ts"],"names":[],"mappings":";;;AAAA,sCAAyC;
|
|
1
|
+
{"version":3,"file":"Other.js","sourceRoot":"","sources":["../../src/macros/Other.ts"],"names":[],"mappings":";;;AAAA,sCAAyC;AAEzC,yCAA2C;AAE3C,MAAa,MAAO,SAAQ,wBAAa;IACvC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,MAAgB,EAAE,EAAE;YACnC,KAAK,MAAM,KAAK,IAAI,MAAM;gBACxB,IAAI,CAAC,CAAC,KAAK,YAAY,qBAAY,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACpE,OAAO;gBACL,IAAI,qBAAY,CACd,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACnD;gBACD,EAAE;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAfD,wBAeC"}
|