mlogjs 0.4.0 → 0.4.1
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/dist/index.cjs +359 -313
- package/dist/index.mjs +359 -313
- package/dist/macros/Asm.d.ts +1 -2
- package/dist/macros/Function.d.ts +2 -2
- package/dist/macros/GetGlobal.d.ts +2 -2
- package/dist/macros/Math.d.ts +1 -2
- package/dist/macros/Memory.d.ts +1 -2
- package/dist/macros/Namespace.d.ts +1 -1
- package/dist/macros/Other.d.ts +1 -2
- package/dist/macros/commands/ApplyStatus.d.ts +1 -2
- package/dist/macros/commands/Control.d.ts +1 -2
- package/dist/macros/commands/Cutscene.d.ts +1 -2
- package/dist/macros/commands/Draw.d.ts +1 -2
- package/dist/macros/commands/DrawFlush.d.ts +1 -2
- package/dist/macros/commands/End.d.ts +1 -2
- package/dist/macros/commands/Explosion.d.ts +1 -2
- package/dist/macros/commands/Fetch.d.ts +1 -2
- package/dist/macros/commands/FlushMessage.d.ts +1 -2
- package/dist/macros/commands/GetBlock.d.ts +1 -2
- package/dist/macros/commands/GetFlag.d.ts +1 -2
- package/dist/macros/commands/GetLink.d.ts +1 -2
- package/dist/macros/commands/Lookup.d.ts +1 -2
- package/dist/macros/commands/PackColor.d.ts +1 -2
- package/dist/macros/commands/Print.d.ts +1 -2
- package/dist/macros/commands/PrintFlush.d.ts +1 -2
- package/dist/macros/commands/Radar.d.ts +1 -2
- package/dist/macros/commands/Sensor.d.ts +1 -2
- package/dist/macros/commands/SetBlock.d.ts +1 -2
- package/dist/macros/commands/SetFlag.d.ts +1 -2
- package/dist/macros/commands/SetRate.d.ts +1 -2
- package/dist/macros/commands/SetRule.d.ts +1 -2
- package/dist/macros/commands/SpawnUnit.d.ts +1 -2
- package/dist/macros/commands/SpawnWave.d.ts +1 -2
- package/dist/macros/commands/Stop.d.ts +1 -2
- package/dist/macros/commands/UnitBind.d.ts +1 -2
- package/dist/macros/commands/UnitControl.d.ts +1 -2
- package/dist/macros/commands/UnitLocate.d.ts +1 -2
- package/dist/macros/commands/UnitRadar.d.ts +1 -2
- package/dist/macros/commands/Wait.d.ts +1 -2
- package/dist/macros/util.d.ts +2 -3
- package/dist/types.d.ts +0 -1
- package/dist/values/BaseValue.d.ts +1 -2
- package/dist/values/DestructuringValue.d.ts +1 -1
- package/dist/values/FunctionValue.d.ts +3 -4
- package/dist/values/LiteralValue.d.ts +3 -2
- package/dist/values/ObjectValue.d.ts +3 -3
- package/dist/values/StoreValue.d.ts +4 -2
- package/dist/values/VoidValue.d.ts +0 -2
- package/lib/commands.d.ts +6 -10
- package/package.json +2 -2
- package/dist/bin.cjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/types/Compiler.d.ts +0 -39
- package/dist/types/CompilerError.d.ts +0 -33
- package/dist/types/Scope.d.ts +0 -24
- package/dist/types/assertions.d.ts +0 -28
- package/dist/types/bin.d.ts +0 -1
- package/dist/types/handlers/BlockStatement.d.ts +0 -2
- package/dist/types/handlers/CallExpression.d.ts +0 -4
- package/dist/types/handlers/File.d.ts +0 -2
- package/dist/types/handlers/ForStatement.d.ts +0 -2
- package/dist/types/handlers/Function.d.ts +0 -5
- package/dist/types/handlers/Identifier.d.ts +0 -2
- package/dist/types/handlers/IfStatement.d.ts +0 -2
- package/dist/types/handlers/Literal.d.ts +0 -5
- package/dist/types/handlers/Object.d.ts +0 -6
- package/dist/types/handlers/OperationExpressions.d.ts +0 -8
- package/dist/types/handlers/Program.d.ts +0 -2
- package/dist/types/handlers/Statements.d.ts +0 -5
- package/dist/types/handlers/SwitchStatement.d.ts +0 -2
- package/dist/types/handlers/TemplateExpression.d.ts +0 -2
- package/dist/types/handlers/Typescript.d.ts +0 -7
- package/dist/types/handlers/VariableDeclaration.d.ts +0 -3
- package/dist/types/handlers/WhileStatement.d.ts +0 -3
- package/dist/types/handlers/index.d.ts +0 -17
- package/dist/types/index.d.ts +0 -3
- package/dist/types/initScope.d.ts +0 -5
- package/dist/types/instructions/AddressResolver.d.ts +0 -12
- package/dist/types/instructions/ControlInstructions.d.ts +0 -10
- package/dist/types/instructions/EndInstruction.d.ts +0 -4
- package/dist/types/instructions/InstructionBase.d.ts +0 -14
- package/dist/types/instructions/JumpInstruction.d.ts +0 -16
- package/dist/types/instructions/OperationInstruction.d.ts +0 -5
- package/dist/types/instructions/SetCounterInstruction.d.ts +0 -5
- package/dist/types/instructions/SetInstruction.d.ts +0 -6
- package/dist/types/instructions/ZeroSpaceInstruction.d.ts +0 -4
- package/dist/types/instructions/index.d.ts +0 -9
- package/dist/types/macros/Asm.d.ts +0 -5
- package/dist/types/macros/Function.d.ts +0 -13
- package/dist/types/macros/GetGlobal.d.ts +0 -5
- package/dist/types/macros/Math.d.ts +0 -5
- package/dist/types/macros/Memory.d.ts +0 -5
- package/dist/types/macros/Namespace.d.ts +0 -13
- package/dist/types/macros/Other.d.ts +0 -5
- package/dist/types/macros/commands/ApplyStatus.d.ts +0 -5
- package/dist/types/macros/commands/Control.d.ts +0 -5
- package/dist/types/macros/commands/Cutscene.d.ts +0 -5
- package/dist/types/macros/commands/Draw.d.ts +0 -5
- package/dist/types/macros/commands/DrawFlush.d.ts +0 -5
- package/dist/types/macros/commands/End.d.ts +0 -5
- package/dist/types/macros/commands/Explosion.d.ts +0 -5
- package/dist/types/macros/commands/Fetch.d.ts +0 -5
- package/dist/types/macros/commands/FlushMessage.d.ts +0 -5
- package/dist/types/macros/commands/GetBlock.d.ts +0 -5
- package/dist/types/macros/commands/GetFlag.d.ts +0 -5
- package/dist/types/macros/commands/GetLink.d.ts +0 -5
- package/dist/types/macros/commands/Lookup.d.ts +0 -5
- package/dist/types/macros/commands/PackColor.d.ts +0 -5
- package/dist/types/macros/commands/Print.d.ts +0 -5
- package/dist/types/macros/commands/PrintFlush.d.ts +0 -5
- package/dist/types/macros/commands/Radar.d.ts +0 -7
- package/dist/types/macros/commands/Sensor.d.ts +0 -5
- package/dist/types/macros/commands/SetBlock.d.ts +0 -5
- package/dist/types/macros/commands/SetFlag.d.ts +0 -5
- package/dist/types/macros/commands/SetRate.d.ts +0 -5
- package/dist/types/macros/commands/SetRule.d.ts +0 -5
- package/dist/types/macros/commands/SpawnUnit.d.ts +0 -5
- package/dist/types/macros/commands/SpawnWave.d.ts +0 -5
- package/dist/types/macros/commands/Stop.d.ts +0 -5
- package/dist/types/macros/commands/UnitBind.d.ts +0 -5
- package/dist/types/macros/commands/UnitControl.d.ts +0 -5
- package/dist/types/macros/commands/UnitLocate.d.ts +0 -5
- package/dist/types/macros/commands/UnitRadar.d.ts +0 -5
- package/dist/types/macros/commands/Wait.d.ts +0 -5
- package/dist/types/macros/commands/index.d.ts +0 -30
- package/dist/types/macros/index.d.ts +0 -6
- package/dist/types/macros/util.d.ts +0 -18
- package/dist/types/operators.d.ts +0 -25
- package/dist/types/types.d.ts +0 -238
- package/dist/types/utils.d.ts +0 -47
- package/dist/types/values/BaseValue.d.ts +0 -9
- package/dist/types/values/DestructuringValue.d.ts +0 -17
- package/dist/types/values/FunctionValue.d.ts +0 -47
- package/dist/types/values/LiteralValue.d.ts +0 -13
- package/dist/types/values/ObjectValue.d.ts +0 -23
- package/dist/types/values/SenseableValue.d.ts +0 -23
- package/dist/types/values/StoreValue.d.ts +0 -15
- package/dist/types/values/ValueOwner.d.ts +0 -27
- package/dist/types/values/VoidValue.d.ts +0 -16
- package/dist/types/values/index.d.ts +0 -7
package/dist/macros/Asm.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { IScope, IValue, TValueInstructions } from "../types";
|
|
2
2
|
import { VoidValue } from "../values";
|
|
3
|
-
declare type TFunction<T extends IValue | null> = (...args: IValue[]) => TValueInstructions<T>;
|
|
3
|
+
declare type TFunction<T extends IValue | null> = (scope: IScope, ...args: IValue[]) => TValueInstructions<T>;
|
|
4
4
|
export declare class MacroFunction<RT extends IValue | null = IValue> extends VoidValue {
|
|
5
5
|
macro: boolean;
|
|
6
6
|
constant: boolean;
|
|
7
7
|
fn: TFunction<RT>;
|
|
8
|
-
constructor(
|
|
8
|
+
constructor(fn: TFunction<RT>);
|
|
9
9
|
call(scope: IScope, args: IValue[]): TValueInstructions<RT>;
|
|
10
10
|
eval(_scope: IScope): TValueInstructions;
|
|
11
11
|
consume(_scope: IScope): TValueInstructions;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EMutability
|
|
1
|
+
import { EMutability } from "../types";
|
|
2
2
|
import { MacroFunction } from "./Function";
|
|
3
3
|
export declare class GetGlobal extends MacroFunction {
|
|
4
|
-
constructor(
|
|
4
|
+
constructor(mutability: EMutability);
|
|
5
5
|
}
|
package/dist/macros/Math.d.ts
CHANGED
package/dist/macros/Memory.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ interface NamespaceMacroOptions {
|
|
|
5
5
|
}
|
|
6
6
|
export declare class NamespaceMacro extends ObjectValue {
|
|
7
7
|
changeCasing: boolean;
|
|
8
|
-
constructor(
|
|
8
|
+
constructor({ changeCasing }?: NamespaceMacroOptions);
|
|
9
9
|
}
|
|
10
10
|
export declare class VarsNamespace extends NamespaceMacro {
|
|
11
11
|
constructor(scope: IScope);
|
package/dist/macros/Other.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { MacroFunction } from "..";
|
|
2
|
-
import { IScope } from "../../types";
|
|
3
2
|
export declare const validRadarFilters: readonly ["any", "enemy", "ally", "player", "attacker", "flying", "boss", "ground"];
|
|
4
3
|
export declare const validRadarSorts: readonly ["distance", "health", "shield", "armor", "maxHealth"];
|
|
5
4
|
export declare class Radar extends MacroFunction {
|
|
6
|
-
constructor(
|
|
5
|
+
constructor();
|
|
7
6
|
}
|
package/dist/macros/util.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { IParameterDescriptor } from "../assertions";
|
|
|
2
2
|
import { IScope, IValue, TValueInstructions } from "../types";
|
|
3
3
|
import { MacroFunction } from "./Function";
|
|
4
4
|
interface IOverloadNamespaceOptions<K extends string> {
|
|
5
|
-
scope: IScope;
|
|
6
5
|
overloads: Record<K, {
|
|
7
6
|
/**
|
|
8
7
|
* Pass the name of the options argument to tell if this overload uses
|
|
@@ -11,8 +10,8 @@ interface IOverloadNamespaceOptions<K extends string> {
|
|
|
11
10
|
named?: string;
|
|
12
11
|
args: (IParameterDescriptor | string)[];
|
|
13
12
|
}>;
|
|
14
|
-
handler(overload: K, ...args: (IValue | string)[]): TValueInstructions<IValue | null>;
|
|
13
|
+
handler(scope: IScope, overload: K, ...args: (IValue | string)[]): TValueInstructions<IValue | null>;
|
|
15
14
|
}
|
|
16
15
|
/** Used to create namespaces that contain multiple methods that map into instructions */
|
|
17
|
-
export declare function createOverloadNamespace<K extends string>({
|
|
16
|
+
export declare function createOverloadNamespace<K extends string>({ overloads, handler, }: IOverloadNamespaceOptions<K>): Record<string, MacroFunction<IValue | null>>;
|
|
18
17
|
export {};
|
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IScope, IValue, TValueInstructions } from "../types";
|
|
2
2
|
import { VoidValue } from ".";
|
|
3
3
|
export declare class BaseValue extends VoidValue implements IValue {
|
|
4
4
|
"u-"(scope: IScope): TValueInstructions;
|
|
5
5
|
"u+"(scope: IScope): TValueInstructions;
|
|
6
6
|
"!"(scope: IScope): TValueInstructions;
|
|
7
7
|
"~"(scope: IScope): TValueInstructions;
|
|
8
|
-
ensureOwned(): asserts this is IOwnedValue;
|
|
9
8
|
}
|
|
@@ -10,7 +10,7 @@ import { VoidValue } from "./VoidValue";
|
|
|
10
10
|
export declare class DestructuringValue extends VoidValue {
|
|
11
11
|
members: Map<IValue, IValue>;
|
|
12
12
|
macro: boolean;
|
|
13
|
-
constructor(
|
|
13
|
+
constructor(members: Map<IValue, IValue>);
|
|
14
14
|
"="(scope: IScope, right: IValue): TValueInstructions;
|
|
15
15
|
eval(_scope: IScope): TValueInstructions<IValue>;
|
|
16
16
|
consume(_scope: IScope): TValueInstructions<IValue>;
|
|
@@ -9,7 +9,7 @@ export declare type TFunctionValueInitParams = (childScope: IScope) => {
|
|
|
9
9
|
export declare class FunctionValue extends VoidValue implements IFunctionValue {
|
|
10
10
|
mutability: EMutability;
|
|
11
11
|
macro: boolean;
|
|
12
|
-
|
|
12
|
+
scope: IScope;
|
|
13
13
|
private childScope;
|
|
14
14
|
private params;
|
|
15
15
|
private paramOwners;
|
|
@@ -26,14 +26,13 @@ export declare class FunctionValue extends VoidValue implements IFunctionValue {
|
|
|
26
26
|
private inlineEnd?;
|
|
27
27
|
private bundled;
|
|
28
28
|
private initialized;
|
|
29
|
-
constructor({ scope, params, body, c,
|
|
29
|
+
constructor({ scope, params, body, c, }: {
|
|
30
30
|
scope: IScope;
|
|
31
31
|
body: es.BlockStatement;
|
|
32
32
|
c: Compiler;
|
|
33
|
-
node: es.Function;
|
|
34
33
|
params: es.Identifier[];
|
|
35
34
|
});
|
|
36
|
-
typeof(
|
|
35
|
+
typeof(): TValueInstructions;
|
|
37
36
|
private initScope;
|
|
38
37
|
private ensureInit;
|
|
39
38
|
private normalReturn;
|
|
@@ -3,11 +3,12 @@ import { BaseValue } from ".";
|
|
|
3
3
|
export declare class LiteralValue extends BaseValue implements IBindableValue {
|
|
4
4
|
data: TLiteral;
|
|
5
5
|
mutability: EMutability;
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(data: TLiteral);
|
|
7
7
|
eval(_scope: IScope): TValueInstructions;
|
|
8
8
|
consume(_scope: IScope): TValueInstructions;
|
|
9
9
|
toString(): string;
|
|
10
10
|
get(scope: IScope, name: IValue): TValueInstructions;
|
|
11
11
|
get num(): number;
|
|
12
|
-
typeof(
|
|
12
|
+
typeof(): TValueInstructions;
|
|
13
|
+
ensureOwned(): void;
|
|
13
14
|
}
|
|
@@ -12,9 +12,9 @@ export declare class ObjectValue extends VoidValue {
|
|
|
12
12
|
mutability: EMutability;
|
|
13
13
|
macro: boolean;
|
|
14
14
|
data: IObjectValueData;
|
|
15
|
-
constructor(
|
|
16
|
-
static fromArray(
|
|
17
|
-
typeof(
|
|
15
|
+
constructor(data?: IObjectValueData);
|
|
16
|
+
static fromArray(items: IObjectValueData[keyof IObjectValueData][], intialData?: IObjectValueData): ObjectValue;
|
|
17
|
+
typeof(): TValueInstructions;
|
|
18
18
|
get(scope: IScope, key: LiteralValue): TValueInstructions;
|
|
19
19
|
eval(scope: IScope): TValueInstructions;
|
|
20
20
|
consume(scope: IScope): TValueInstructions;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { BaseValue } from ".";
|
|
2
|
-
import { EMutability, IScope, IValue, TValueInstructions } from "../types";
|
|
2
|
+
import { EMutability, IOwnedValue, IScope, IValue, TValueInstructions } from "../types";
|
|
3
3
|
/**
|
|
4
4
|
* `StoreValue` represents values unknown at compile time,
|
|
5
5
|
* mostly used with mutable variables and temporary values
|
|
6
6
|
*/
|
|
7
7
|
export declare class StoreValue extends BaseValue implements IValue {
|
|
8
|
+
scope: IScope;
|
|
8
9
|
mutability: EMutability;
|
|
9
10
|
constructor(scope: IScope);
|
|
10
|
-
typeof(
|
|
11
|
+
typeof(): TValueInstructions;
|
|
11
12
|
"="(scope: IScope, value: IValue): TValueInstructions;
|
|
12
13
|
eval(_scope: IScope): TValueInstructions;
|
|
13
14
|
consume(_scope: IScope): TValueInstructions;
|
|
15
|
+
ensureOwned(): asserts this is IOwnedValue;
|
|
14
16
|
toString(): string;
|
|
15
17
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { EMutability, IScope, IValue, IValueOperators, IValueOwner, TValueInstructions } from "../types";
|
|
2
2
|
export declare class VoidValue implements IValue {
|
|
3
3
|
owner: IValueOwner | null;
|
|
4
|
-
scope: IScope;
|
|
5
4
|
mutability: EMutability;
|
|
6
5
|
macro: boolean;
|
|
7
|
-
constructor(scope: IScope);
|
|
8
6
|
eval(_scope: IScope): TValueInstructions;
|
|
9
7
|
consume(_scope: IScope): TValueInstructions<IValue>;
|
|
10
8
|
call(_scope: IScope, _args: IValue[]): TValueInstructions<IValue | null>;
|
package/lib/commands.d.ts
CHANGED
|
@@ -266,8 +266,7 @@ declare global {
|
|
|
266
266
|
* Detects an unit nearby this `building`.
|
|
267
267
|
* @param options.building The building used to detect potential targets
|
|
268
268
|
* @param options.filters The filters for selecting a target. Use "any" for any target.
|
|
269
|
-
* @param options.order
|
|
270
|
-
* (1 => first unit, 2 => second unit and so on)
|
|
269
|
+
* @param options.order `true` to get the first result, `false` to get the last result.
|
|
271
270
|
* @param options.sort The method on which the results should be sorted
|
|
272
271
|
*
|
|
273
272
|
* Example:
|
|
@@ -287,9 +286,8 @@ declare global {
|
|
|
287
286
|
building: BasicBuilding;
|
|
288
287
|
/** The filters for selecting a target. Use "any" for any target. */
|
|
289
288
|
filters: [TRadarFilter, TRadarFilter, TRadarFilter];
|
|
290
|
-
/**
|
|
291
|
-
|
|
292
|
-
order: number;
|
|
289
|
+
/** `true` to get the first result, `false` to get the last result. */
|
|
290
|
+
order: boolean;
|
|
293
291
|
/** The method on which the results should be sorted */
|
|
294
292
|
sort: TRadarSort;
|
|
295
293
|
}): T;
|
|
@@ -533,8 +531,7 @@ declare global {
|
|
|
533
531
|
/**
|
|
534
532
|
* Finds an unit near the unit bound to this processor
|
|
535
533
|
* @param options.filters The filters for selecting a target. Use "any" for any target.
|
|
536
|
-
* @param options.order
|
|
537
|
-
* (1 => first unit, 2 => second unit and so on)
|
|
534
|
+
* @param options.order `true` to get the first result, `false` to get the last result.
|
|
538
535
|
* @param options.sort The method on which the results should be sorted
|
|
539
536
|
*
|
|
540
537
|
* Example:
|
|
@@ -550,9 +547,8 @@ declare global {
|
|
|
550
547
|
function unitRadar<T extends BasicUnit = AnyUnit>(options: {
|
|
551
548
|
/** The filters for selecting a target. Use "any" for any target. */
|
|
552
549
|
filters: [TRadarFilter, TRadarFilter, TRadarFilter];
|
|
553
|
-
/**
|
|
554
|
-
|
|
555
|
-
order: number;
|
|
550
|
+
/** `true` to get the first result, `false` to get the last result. */
|
|
551
|
+
order: boolean;
|
|
556
552
|
/** The method on which the results should be sorted */
|
|
557
553
|
sort: TRadarSort;
|
|
558
554
|
}): T;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mlogjs",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Compiler that compiles Javascript to Mindustry Logic Code.",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"bin": "./dist/bin.cjs",
|
|
8
|
-
"types": "./dist/
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "git+https://github.com/weisrc/mlogjs.git"
|
package/dist/bin.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bin.cjs","sources":["../src/bin.ts"],"sourcesContent":[null],"names":["yargs","hideBin","path","existsSync","Compiler","readFileSync","chalk","resolve","highlight","writeFileSync","parse","join"],"mappings":"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"}
|