yukigo-ast 0.2.1 → 0.3.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/.mocharc.json +3 -3
- package/CHANGELOG.md +41 -17
- package/dist/globals/expressions.d.ts +27 -25
- package/dist/globals/expressions.d.ts.map +1 -1
- package/dist/globals/expressions.js +47 -10
- package/dist/globals/generics.d.ts +8 -2
- package/dist/globals/generics.d.ts.map +1 -1
- package/dist/globals/generics.js +15 -1
- package/dist/globals/operators.d.ts +13 -69
- package/dist/globals/operators.d.ts.map +1 -1
- package/dist/globals/operators.js +12 -12
- package/dist/globals/patterns.d.ts +24 -25
- package/dist/globals/patterns.d.ts.map +1 -1
- package/dist/globals/patterns.js +66 -12
- package/dist/globals/primitives.d.ts +2 -5
- package/dist/globals/primitives.d.ts.map +1 -1
- package/dist/globals/primitives.js +7 -7
- package/dist/globals/statements.d.ts +28 -194
- package/dist/globals/statements.d.ts.map +1 -1
- package/dist/globals/statements.js +32 -52
- package/dist/globals/testing.d.ts +7 -31
- package/dist/globals/testing.d.ts.map +1 -1
- package/dist/globals/testing.js +6 -6
- package/dist/globals/types.d.ts +13 -35
- package/dist/globals/types.d.ts.map +1 -1
- package/dist/globals/types.js +12 -12
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/paradigms/functional.d.ts +5 -8
- package/dist/paradigms/functional.d.ts.map +1 -1
- package/dist/paradigms/functional.js +4 -4
- package/dist/paradigms/imperative.d.ts +8 -61
- package/dist/paradigms/imperative.d.ts.map +1 -1
- package/dist/paradigms/imperative.js +7 -7
- package/dist/paradigms/logic.d.ts +11 -67
- package/dist/paradigms/logic.d.ts.map +1 -1
- package/dist/paradigms/logic.js +10 -10
- package/dist/paradigms/object.d.ts +19 -105
- package/dist/paradigms/object.d.ts.map +1 -1
- package/dist/paradigms/object.js +24 -15
- package/dist/paradigms/typeclasses.d.ts +3 -51
- package/dist/paradigms/typeclasses.d.ts.map +1 -1
- package/dist/paradigms/typeclasses.js +2 -2
- package/dist/visitor/base.d.ts +4 -2
- package/dist/visitor/base.d.ts.map +1 -1
- package/dist/visitor/expressions.d.ts +34 -31
- package/dist/visitor/expressions.d.ts.map +1 -1
- package/dist/visitor/expressions.js +11 -2
- package/dist/visitor/index.d.ts +160 -164
- package/dist/visitor/index.d.ts.map +1 -1
- package/dist/visitor/operations.d.ts +25 -26
- package/dist/visitor/operations.d.ts.map +1 -1
- package/dist/visitor/operations.js +3 -2
- package/dist/visitor/patterns.d.ts +18 -19
- package/dist/visitor/patterns.d.ts.map +1 -1
- package/dist/visitor/patterns.js +4 -2
- package/dist/visitor/primitives.d.ts +13 -14
- package/dist/visitor/primitives.d.ts.map +1 -1
- package/dist/visitor/primitives.js +3 -2
- package/dist/visitor/statements.d.ts +49 -50
- package/dist/visitor/statements.d.ts.map +1 -1
- package/dist/visitor/statements.js +9 -6
- package/dist/visitor/testing.d.ts +12 -13
- package/dist/visitor/testing.d.ts.map +1 -1
- package/dist/visitor/testing.js +4 -2
- package/dist/visitor/typeclasses.d.ts +8 -9
- package/dist/visitor/typeclasses.d.ts.map +1 -1
- package/dist/visitor/typeclasses.js +4 -2
- package/dist/visitor/types.d.ts +17 -18
- package/dist/visitor/types.d.ts.map +1 -1
- package/dist/visitor/types.js +3 -2
- package/package.json +2 -11
- package/src/globals/expressions.ts +382 -338
- package/src/globals/generics.ts +86 -65
- package/src/globals/operators.ts +517 -517
- package/src/globals/patterns.ts +406 -347
- package/src/globals/primitives.ts +169 -169
- package/src/globals/statements.ts +746 -768
- package/src/globals/testing.ts +131 -131
- package/src/globals/types.ts +372 -375
- package/src/index.ts +13 -14
- package/src/paradigms/functional.ts +129 -128
- package/src/paradigms/imperative.ts +227 -227
- package/src/paradigms/logic.ts +307 -308
- package/src/paradigms/object.ts +362 -356
- package/src/paradigms/typeclasses.ts +96 -95
- package/src/visitor/base.ts +19 -17
- package/src/visitor/expressions.ts +165 -153
- package/src/visitor/index.ts +59 -52
- package/src/visitor/operations.ts +86 -82
- package/src/visitor/patterns.ts +77 -76
- package/src/visitor/primitives.ts +40 -36
- package/src/visitor/statements.ts +264 -261
- package/src/visitor/testing.ts +50 -49
- package/src/visitor/typeclasses.ts +24 -23
- package/src/visitor/types.ts +76 -75
- package/tests/ast.spec.ts +16 -16
- package/tsconfig.json +23 -25
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/globals/runtime.d.ts +0 -64
- package/dist/globals/runtime.d.ts.map +0 -1
- package/dist/globals/runtime.js +0 -32
- package/dist/types.d.ts +0 -4
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -1
- package/src/globals/runtime.ts +0 -132
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Visitor } from "../visitor/index.js";
|
|
2
2
|
import { Expression } from "./expressions.js";
|
|
3
|
-
import { ASTNode, SourceLocation } from "./generics.js";
|
|
3
|
+
import { ASTNode, SerializeNode, SourceLocation } from "./generics.js";
|
|
4
4
|
import { Pattern } from "./patterns.js";
|
|
5
5
|
import { Sequence } from "./statements.js";
|
|
6
6
|
export declare class TestGroup extends ASTNode {
|
|
@@ -8,11 +8,7 @@ export declare class TestGroup extends ASTNode {
|
|
|
8
8
|
group: Sequence;
|
|
9
9
|
constructor(name: Expression, group: Sequence, loc?: SourceLocation);
|
|
10
10
|
accept<R>(visitor: Visitor<R>): R;
|
|
11
|
-
toJSON():
|
|
12
|
-
type: string;
|
|
13
|
-
name: Expression;
|
|
14
|
-
group: Sequence;
|
|
15
|
-
};
|
|
11
|
+
toJSON(): SerializeNode;
|
|
16
12
|
}
|
|
17
13
|
export declare class Test extends ASTNode {
|
|
18
14
|
name: Expression;
|
|
@@ -20,12 +16,7 @@ export declare class Test extends ASTNode {
|
|
|
20
16
|
args: Pattern[];
|
|
21
17
|
constructor(name: Expression, body: Sequence, args?: Pattern[], loc?: SourceLocation);
|
|
22
18
|
accept<R>(visitor: Visitor<R>): R;
|
|
23
|
-
toJSON():
|
|
24
|
-
type: string;
|
|
25
|
-
name: Expression;
|
|
26
|
-
body: Sequence;
|
|
27
|
-
args: Pattern[];
|
|
28
|
-
};
|
|
19
|
+
toJSON(): SerializeNode;
|
|
29
20
|
}
|
|
30
21
|
export type Assertion = Truth | Equality | Failure;
|
|
31
22
|
export declare class Assert extends ASTNode {
|
|
@@ -33,41 +24,26 @@ export declare class Assert extends ASTNode {
|
|
|
33
24
|
body: Assertion;
|
|
34
25
|
constructor(negated: Expression, body: Assertion, loc?: SourceLocation);
|
|
35
26
|
accept<R>(visitor: Visitor<R>): R;
|
|
36
|
-
toJSON():
|
|
37
|
-
type: string;
|
|
38
|
-
negated: Expression;
|
|
39
|
-
body: Assertion;
|
|
40
|
-
};
|
|
27
|
+
toJSON(): SerializeNode;
|
|
41
28
|
}
|
|
42
29
|
export declare class Truth extends ASTNode {
|
|
43
30
|
body: Expression;
|
|
44
31
|
constructor(body: Expression, loc?: SourceLocation);
|
|
45
32
|
accept<R>(visitor: Visitor<R>): R;
|
|
46
|
-
toJSON():
|
|
47
|
-
type: string;
|
|
48
|
-
body: Expression;
|
|
49
|
-
};
|
|
33
|
+
toJSON(): SerializeNode;
|
|
50
34
|
}
|
|
51
35
|
export declare class Equality extends ASTNode {
|
|
52
36
|
expected: Expression;
|
|
53
37
|
value: Expression;
|
|
54
38
|
constructor(expected: Expression, value: Expression, loc?: SourceLocation);
|
|
55
39
|
accept<R>(visitor: Visitor<R>): R;
|
|
56
|
-
toJSON():
|
|
57
|
-
type: string;
|
|
58
|
-
expected: Expression;
|
|
59
|
-
value: Expression;
|
|
60
|
-
};
|
|
40
|
+
toJSON(): SerializeNode;
|
|
61
41
|
}
|
|
62
42
|
export declare class Failure extends ASTNode {
|
|
63
43
|
func: Expression;
|
|
64
44
|
message: Expression;
|
|
65
45
|
constructor(func: Expression, message: Expression, loc?: SourceLocation);
|
|
66
46
|
accept<R>(visitor: Visitor<R>): R;
|
|
67
|
-
toJSON():
|
|
68
|
-
type: string;
|
|
69
|
-
func: Expression;
|
|
70
|
-
message: Expression;
|
|
71
|
-
};
|
|
47
|
+
toJSON(): SerializeNode;
|
|
72
48
|
}
|
|
73
49
|
//# sourceMappingURL=testing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/globals/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/globals/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,qBAAa,SAAU,SAAQ,OAAO;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,QAAQ,CAAC;gBACX,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,cAAc;IAMnE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAOxB;AACD,qBAAa,IAAK,SAAQ,OAAO;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,OAAO,EAAE,CAAC;gBACX,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAE,OAAO,EAAO,EAAE,GAAG,CAAC,EAAE,cAAc;IAOxF,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAQxB;AAED,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,qBAAa,MAAO,SAAQ,OAAO;IAC1B,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;gBACX,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,cAAc;IAMtE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAOxB;AAED,qBAAa,KAAM,SAAQ,OAAO;IACzB,IAAI,EAAE,UAAU,CAAC;gBACZ,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,cAAc;IAKlD,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAMxB;AACD,qBAAa,QAAS,SAAQ,OAAO;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;gBACb,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,cAAc;IAMzE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAOxB;AAED,qBAAa,OAAQ,SAAQ,OAAO;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC;gBACf,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,cAAc;IAMvE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAOxB"}
|
package/dist/globals/testing.js
CHANGED
|
@@ -8,7 +8,7 @@ export class TestGroup extends ASTNode {
|
|
|
8
8
|
this.group = group;
|
|
9
9
|
}
|
|
10
10
|
accept(visitor) {
|
|
11
|
-
return visitor.visitTestGroup
|
|
11
|
+
return this.dispatchVisit(visitor, visitor.visitTestGroup);
|
|
12
12
|
}
|
|
13
13
|
toJSON() {
|
|
14
14
|
return {
|
|
@@ -29,7 +29,7 @@ export class Test extends ASTNode {
|
|
|
29
29
|
this.args = args;
|
|
30
30
|
}
|
|
31
31
|
accept(visitor) {
|
|
32
|
-
return visitor.visitTest
|
|
32
|
+
return this.dispatchVisit(visitor, visitor.visitTest);
|
|
33
33
|
}
|
|
34
34
|
toJSON() {
|
|
35
35
|
return {
|
|
@@ -49,7 +49,7 @@ export class Assert extends ASTNode {
|
|
|
49
49
|
this.body = body;
|
|
50
50
|
}
|
|
51
51
|
accept(visitor) {
|
|
52
|
-
return visitor.visitAssert
|
|
52
|
+
return this.dispatchVisit(visitor, visitor.visitAssert);
|
|
53
53
|
}
|
|
54
54
|
toJSON() {
|
|
55
55
|
return {
|
|
@@ -66,7 +66,7 @@ export class Truth extends ASTNode {
|
|
|
66
66
|
this.body = body;
|
|
67
67
|
}
|
|
68
68
|
accept(visitor) {
|
|
69
|
-
return visitor.visitTruth
|
|
69
|
+
return this.dispatchVisit(visitor, visitor.visitTruth);
|
|
70
70
|
}
|
|
71
71
|
toJSON() {
|
|
72
72
|
return {
|
|
@@ -84,7 +84,7 @@ export class Equality extends ASTNode {
|
|
|
84
84
|
this.value = value;
|
|
85
85
|
}
|
|
86
86
|
accept(visitor) {
|
|
87
|
-
return visitor.visitEquality
|
|
87
|
+
return this.dispatchVisit(visitor, visitor.visitEquality);
|
|
88
88
|
}
|
|
89
89
|
toJSON() {
|
|
90
90
|
return {
|
|
@@ -103,7 +103,7 @@ export class Failure extends ASTNode {
|
|
|
103
103
|
this.message = message;
|
|
104
104
|
}
|
|
105
105
|
accept(visitor) {
|
|
106
|
-
return visitor.visitFailure
|
|
106
|
+
return this.dispatchVisit(visitor, visitor.visitFailure);
|
|
107
107
|
}
|
|
108
108
|
toJSON() {
|
|
109
109
|
return {
|
package/dist/globals/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Visitor } from "../visitor/index.js";
|
|
2
2
|
import { Expression } from "./expressions.js";
|
|
3
|
-
import { ASTNode, SourceLocation } from "./generics.js";
|
|
3
|
+
import { ASTNode, SerializeNode, SourceLocation } from "./generics.js";
|
|
4
4
|
import { SymbolPrimitive } from "./primitives.js";
|
|
5
5
|
export type Type = SimpleType | TypeVar | ListType | TypeApplication | TupleType | ParameterizedType | ConstrainedType;
|
|
6
6
|
/**
|
|
@@ -15,7 +15,7 @@ export declare class SimpleType extends ASTNode {
|
|
|
15
15
|
constructor(value: string, constraints: Constraint[], loc?: SourceLocation);
|
|
16
16
|
accept<R>(visitor: Visitor<R>): R;
|
|
17
17
|
toString(): string;
|
|
18
|
-
toJSON():
|
|
18
|
+
toJSON(): SerializeNode;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Represents a type variable (e.g., 'a), used in polymorphic types.
|
|
@@ -29,11 +29,7 @@ export declare class TypeVar extends ASTNode {
|
|
|
29
29
|
constructor(value: string, constraints: Constraint[], loc?: SourceLocation);
|
|
30
30
|
accept<R>(visitor: Visitor<R>): R;
|
|
31
31
|
toString(): string;
|
|
32
|
-
toJSON():
|
|
33
|
-
type: string;
|
|
34
|
-
value: string;
|
|
35
|
-
constraints: any[];
|
|
36
|
-
};
|
|
32
|
+
toJSON(): SerializeNode;
|
|
37
33
|
}
|
|
38
34
|
/**
|
|
39
35
|
* Represents the application of a type constructor to arguments (e.g., List Int).
|
|
@@ -47,7 +43,7 @@ export declare class TypeApplication extends ASTNode {
|
|
|
47
43
|
constructor(functionType: Type, argument: Type, loc?: SourceLocation);
|
|
48
44
|
accept<R>(visitor: Visitor<R>): R;
|
|
49
45
|
toString(): string;
|
|
50
|
-
toJSON():
|
|
46
|
+
toJSON(): SerializeNode;
|
|
51
47
|
}
|
|
52
48
|
/**
|
|
53
49
|
* Represents a list type (e.g., [Int]).
|
|
@@ -61,7 +57,7 @@ export declare class ListType extends ASTNode {
|
|
|
61
57
|
constructor(values: Type, constraints: Constraint[], loc?: SourceLocation);
|
|
62
58
|
accept<R>(visitor: Visitor<R>): R;
|
|
63
59
|
toString(): string;
|
|
64
|
-
toJSON():
|
|
60
|
+
toJSON(): SerializeNode;
|
|
65
61
|
}
|
|
66
62
|
/**
|
|
67
63
|
* Represents a tuple type (e.g., (Int, Bool)).
|
|
@@ -75,7 +71,7 @@ export declare class TupleType extends ASTNode {
|
|
|
75
71
|
constructor(values: Type[], constraints: Constraint[], loc?: SourceLocation);
|
|
76
72
|
accept<R>(visitor: Visitor<R>): R;
|
|
77
73
|
toString(): string;
|
|
78
|
-
toJSON():
|
|
74
|
+
toJSON(): SerializeNode;
|
|
79
75
|
}
|
|
80
76
|
/**
|
|
81
77
|
* Represents a type constraint or class constraint (e.g., Eq a).
|
|
@@ -91,7 +87,7 @@ export declare class Constraint extends ASTNode {
|
|
|
91
87
|
name: string;
|
|
92
88
|
constructor(name: string, parameters: Type[], loc?: SourceLocation);
|
|
93
89
|
accept<R>(visitor: Visitor<R>): R;
|
|
94
|
-
toJSON():
|
|
90
|
+
toJSON(): SerializeNode;
|
|
95
91
|
}
|
|
96
92
|
/**
|
|
97
93
|
* Represents a type that accepts type parameters.
|
|
@@ -106,8 +102,8 @@ export declare class ParameterizedType extends ASTNode {
|
|
|
106
102
|
inputs: Type[];
|
|
107
103
|
constructor(inputs: Type[], returnType: Type, constraints: Constraint[], loc?: SourceLocation);
|
|
108
104
|
accept<R>(visitor: Visitor<R>): R;
|
|
109
|
-
toString():
|
|
110
|
-
toJSON():
|
|
105
|
+
toString(): string;
|
|
106
|
+
toJSON(): SerializeNode;
|
|
111
107
|
}
|
|
112
108
|
/**
|
|
113
109
|
* Represents a type qualified by a context of constraints.
|
|
@@ -118,10 +114,7 @@ export declare class ConstrainedType extends ASTNode {
|
|
|
118
114
|
constraints: Constraint[];
|
|
119
115
|
constructor(constraints: Constraint[], loc?: SourceLocation);
|
|
120
116
|
accept<R>(visitor: Visitor<R>): R;
|
|
121
|
-
toJSON():
|
|
122
|
-
type: string;
|
|
123
|
-
constraints: any[];
|
|
124
|
-
};
|
|
117
|
+
toJSON(): SerializeNode;
|
|
125
118
|
}
|
|
126
119
|
/**
|
|
127
120
|
* Represents a type alias definition, giving a new name to an existing type.
|
|
@@ -139,15 +132,7 @@ export declare class TypeAlias extends ASTNode {
|
|
|
139
132
|
identifier: SymbolPrimitive;
|
|
140
133
|
constructor(identifier: SymbolPrimitive, variables: string[], value: Type, loc?: SourceLocation);
|
|
141
134
|
accept<R>(visitor: Visitor<R>): R;
|
|
142
|
-
toJSON():
|
|
143
|
-
type: string;
|
|
144
|
-
identifier: {
|
|
145
|
-
type: import("./primitives.js").YukigoPrimitive;
|
|
146
|
-
value: string;
|
|
147
|
-
};
|
|
148
|
-
variables: string[];
|
|
149
|
-
value: any;
|
|
150
|
-
};
|
|
135
|
+
toJSON(): SerializeNode;
|
|
151
136
|
}
|
|
152
137
|
/**
|
|
153
138
|
* Represents an explicit type signature declaration for a function or variable.
|
|
@@ -163,14 +148,7 @@ export declare class TypeSignature extends ASTNode {
|
|
|
163
148
|
identifier: SymbolPrimitive;
|
|
164
149
|
constructor(identifier: SymbolPrimitive, body: Type, loc?: SourceLocation);
|
|
165
150
|
accept<R>(visitor: Visitor<R>): R;
|
|
166
|
-
toJSON():
|
|
167
|
-
type: string;
|
|
168
|
-
identifier: {
|
|
169
|
-
type: import("./primitives.js").YukigoPrimitive;
|
|
170
|
-
value: string;
|
|
171
|
-
};
|
|
172
|
-
body: any;
|
|
173
|
-
};
|
|
151
|
+
toJSON(): SerializeNode;
|
|
174
152
|
}
|
|
175
153
|
/**
|
|
176
154
|
* Represents an explicit type casting or annotation expression.
|
|
@@ -183,6 +161,6 @@ export declare class TypeCast extends ASTNode {
|
|
|
183
161
|
expression: Expression;
|
|
184
162
|
constructor(expression: Expression, body: Type, loc?: SourceLocation);
|
|
185
163
|
accept<R>(visitor: Visitor<R>): R;
|
|
186
|
-
toJSON():
|
|
164
|
+
toJSON(): SerializeNode;
|
|
187
165
|
}
|
|
188
166
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"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"}
|
package/dist/globals/types.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ASTNode
|
|
1
|
+
import { ASTNode } from "./generics.js";
|
|
2
2
|
/**
|
|
3
3
|
* Represents a basic named type (e.g., Int, Bool).
|
|
4
4
|
* @category Types
|
|
@@ -14,7 +14,7 @@ export class SimpleType extends ASTNode {
|
|
|
14
14
|
this.constraints = constraints;
|
|
15
15
|
}
|
|
16
16
|
accept(visitor) {
|
|
17
|
-
return visitor.visitSimpleType
|
|
17
|
+
return this.dispatchVisit(visitor, visitor.visitSimpleType);
|
|
18
18
|
}
|
|
19
19
|
toString() {
|
|
20
20
|
return this.value;
|
|
@@ -42,7 +42,7 @@ export class TypeVar extends ASTNode {
|
|
|
42
42
|
this.constraints = constraints;
|
|
43
43
|
}
|
|
44
44
|
accept(visitor) {
|
|
45
|
-
return visitor.visitTypeVar
|
|
45
|
+
return this.dispatchVisit(visitor, visitor.visitTypeVar);
|
|
46
46
|
}
|
|
47
47
|
toString() {
|
|
48
48
|
return this.value;
|
|
@@ -70,7 +70,7 @@ export class TypeApplication extends ASTNode {
|
|
|
70
70
|
this.argument = argument;
|
|
71
71
|
}
|
|
72
72
|
accept(visitor) {
|
|
73
|
-
return visitor.visitTypeApplication
|
|
73
|
+
return this.dispatchVisit(visitor, visitor.visitTypeApplication);
|
|
74
74
|
}
|
|
75
75
|
toString() {
|
|
76
76
|
const func = this.functionType.toString();
|
|
@@ -104,7 +104,7 @@ export class ListType extends ASTNode {
|
|
|
104
104
|
this.constraints = constraints;
|
|
105
105
|
}
|
|
106
106
|
accept(visitor) {
|
|
107
|
-
return visitor.visitListType
|
|
107
|
+
return this.dispatchVisit(visitor, visitor.visitListType);
|
|
108
108
|
}
|
|
109
109
|
toString() {
|
|
110
110
|
return `[${this.values.toString()}]`;
|
|
@@ -132,7 +132,7 @@ export class TupleType extends ASTNode {
|
|
|
132
132
|
this.constraints = constraints;
|
|
133
133
|
}
|
|
134
134
|
accept(visitor) {
|
|
135
|
-
return visitor.visitTupleType
|
|
135
|
+
return this.dispatchVisit(visitor, visitor.visitTupleType);
|
|
136
136
|
}
|
|
137
137
|
toString() {
|
|
138
138
|
return `(${this.values.map((t) => t.toString()).join(", ")})`;
|
|
@@ -163,7 +163,7 @@ export class Constraint extends ASTNode {
|
|
|
163
163
|
this.parameters = parameters;
|
|
164
164
|
}
|
|
165
165
|
accept(visitor) {
|
|
166
|
-
return visitor.visitConstraint
|
|
166
|
+
return this.dispatchVisit(visitor, visitor.visitConstraint);
|
|
167
167
|
}
|
|
168
168
|
toJSON() {
|
|
169
169
|
return {
|
|
@@ -191,7 +191,7 @@ export class ParameterizedType extends ASTNode {
|
|
|
191
191
|
this.constraints = constraints;
|
|
192
192
|
}
|
|
193
193
|
accept(visitor) {
|
|
194
|
-
return visitor.visitParameterizedType
|
|
194
|
+
return this.dispatchVisit(visitor, visitor.visitParameterizedType);
|
|
195
195
|
}
|
|
196
196
|
toString() {
|
|
197
197
|
const inputs = this.inputs.map((t) => {
|
|
@@ -233,7 +233,7 @@ export class ConstrainedType extends ASTNode {
|
|
|
233
233
|
this.constraints = constraints;
|
|
234
234
|
}
|
|
235
235
|
accept(visitor) {
|
|
236
|
-
return visitor.visitConstrainedType
|
|
236
|
+
return this.dispatchVisit(visitor, visitor.visitConstrainedType);
|
|
237
237
|
}
|
|
238
238
|
toJSON() {
|
|
239
239
|
return {
|
|
@@ -263,7 +263,7 @@ export class TypeAlias extends ASTNode {
|
|
|
263
263
|
this.value = value;
|
|
264
264
|
}
|
|
265
265
|
accept(visitor) {
|
|
266
|
-
return visitor.visitTypeAlias
|
|
266
|
+
return this.dispatchVisit(visitor, visitor.visitTypeAlias);
|
|
267
267
|
}
|
|
268
268
|
toJSON() {
|
|
269
269
|
return {
|
|
@@ -292,7 +292,7 @@ export class TypeSignature extends ASTNode {
|
|
|
292
292
|
this.body = body;
|
|
293
293
|
}
|
|
294
294
|
accept(visitor) {
|
|
295
|
-
return visitor.visitTypeSignature
|
|
295
|
+
return this.dispatchVisit(visitor, visitor.visitTypeSignature);
|
|
296
296
|
}
|
|
297
297
|
toJSON() {
|
|
298
298
|
return {
|
|
@@ -317,7 +317,7 @@ export class TypeCast extends ASTNode {
|
|
|
317
317
|
this.body = body;
|
|
318
318
|
}
|
|
319
319
|
accept(visitor) {
|
|
320
|
-
return visitor.visitTypeCast
|
|
320
|
+
return this.dispatchVisit(visitor, visitor.visitTypeCast);
|
|
321
321
|
}
|
|
322
322
|
toJSON() {
|
|
323
323
|
return {
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ export * from "./globals/primitives.js";
|
|
|
5
5
|
export * from "./globals/operators.js";
|
|
6
6
|
export * from "./globals/patterns.js";
|
|
7
7
|
export * from "./globals/types.js";
|
|
8
|
-
export * from "./globals/runtime.js";
|
|
9
8
|
export * from "./globals/testing.js";
|
|
10
9
|
export * from "./paradigms/functional.js";
|
|
11
10
|
export * from "./paradigms/object.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,6 @@ export * from "./globals/primitives.js";
|
|
|
5
5
|
export * from "./globals/operators.js";
|
|
6
6
|
export * from "./globals/patterns.js";
|
|
7
7
|
export * from "./globals/types.js";
|
|
8
|
-
export * from "./globals/runtime.js";
|
|
9
8
|
export * from "./globals/testing.js";
|
|
10
9
|
export * from "./paradigms/functional.js";
|
|
11
10
|
export * from "./paradigms/object.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Expression } from "../globals/expressions.js";
|
|
2
|
-
import { ASTNode, SourceLocation } from "../globals/generics.js";
|
|
2
|
+
import { ASTNode, SerializeNode, SourceLocation } from "../globals/generics.js";
|
|
3
3
|
import { Pattern } from "../globals/patterns.js";
|
|
4
4
|
import { Visitor } from "../visitor/index.js";
|
|
5
5
|
/**
|
|
@@ -13,7 +13,7 @@ export declare class CompositionExpression extends ASTNode {
|
|
|
13
13
|
left: Expression;
|
|
14
14
|
constructor(left: Expression, right: Expression, loc?: SourceLocation);
|
|
15
15
|
accept<R>(visitor: Visitor<R>): R;
|
|
16
|
-
toJSON():
|
|
16
|
+
toJSON(): SerializeNode;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Represents an anonymous function or lambda abstraction.
|
|
@@ -29,7 +29,7 @@ export declare class Lambda extends ASTNode {
|
|
|
29
29
|
parameters: Pattern[];
|
|
30
30
|
constructor(parameters: Pattern[], body: Expression, loc?: SourceLocation);
|
|
31
31
|
accept<R>(visitor: Visitor<R>): R;
|
|
32
|
-
toJSON():
|
|
32
|
+
toJSON(): SerializeNode;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Represents a yield statement, often used in generators or coroutines.
|
|
@@ -40,10 +40,7 @@ export declare class Yield extends ASTNode {
|
|
|
40
40
|
expression: Expression;
|
|
41
41
|
constructor(expression: Expression, loc?: SourceLocation);
|
|
42
42
|
accept<R>(visitor: Visitor<R>): R;
|
|
43
|
-
toJSON():
|
|
44
|
-
type: string;
|
|
45
|
-
expression: any;
|
|
46
|
-
};
|
|
43
|
+
toJSON(): SerializeNode;
|
|
47
44
|
}
|
|
48
45
|
/**
|
|
49
46
|
* Represents the application of a function to an argument.
|
|
@@ -59,6 +56,6 @@ export declare class Application extends ASTNode {
|
|
|
59
56
|
functionExpr: Expression;
|
|
60
57
|
constructor(functionExpr: Expression, parameter: Expression, loc?: SourceLocation);
|
|
61
58
|
accept<R>(visitor: Visitor<R>): R;
|
|
62
|
-
toJSON():
|
|
59
|
+
toJSON(): SerializeNode;
|
|
63
60
|
}
|
|
64
61
|
//# sourceMappingURL=functional.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functional.d.ts","sourceRoot":"","sources":["../../src/paradigms/functional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,OAAO,EACP,cAAc,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,OAAO;IAChD,cAAc;IACP,KAAK,EAAE,UAAU,CAAC;IACzB,cAAc;IACP,IAAI,EAAE,UAAU,CAAC;gBAGtB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,UAAU,EACjB,GAAG,CAAC,EAAE,cAAc;IAMf,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM;
|
|
1
|
+
{"version":3,"file":"functional.d.ts","sourceRoot":"","sources":["../../src/paradigms/functional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,OAAO;IAChD,cAAc;IACP,KAAK,EAAE,UAAU,CAAC;IACzB,cAAc;IACP,IAAI,EAAE,UAAU,CAAC;gBAGtB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,UAAU,EACjB,GAAG,CAAC,EAAE,cAAc;IAMf,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAO/B;AAED;;;;;;GAMG;AACH,qBAAa,MAAO,SAAQ,OAAO;IACjC,cAAc;IACP,IAAI,EAAE,UAAU,CAAC;IACxB,cAAc;IACP,UAAU,EAAE,OAAO,EAAE,CAAC;gBAG3B,UAAU,EAAE,OAAO,EAAE,EACrB,IAAI,EAAE,UAAU,EAChB,GAAG,CAAC,EAAE,cAAc;IAMf,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAO/B;AACD;;;GAGG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAChC,cAAc;IACP,UAAU,EAAE,UAAU,CAAC;gBAElB,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,cAAc;IAIjD,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAM/B;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC,cAAc;IACP,SAAS,EAAE,UAAU,CAAC;IAC7B,cAAc;IACP,YAAY,EAAE,UAAU,CAAC;gBAG9B,YAAY,EAAE,UAAU,EACxB,SAAS,EAAE,UAAU,EACrB,GAAG,CAAC,EAAE,cAAc;IAMf,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAGjC,MAAM,IAAI,aAAa;CAO/B"}
|
|
@@ -14,7 +14,7 @@ export class CompositionExpression extends ASTNode {
|
|
|
14
14
|
this.right = right;
|
|
15
15
|
}
|
|
16
16
|
accept(visitor) {
|
|
17
|
-
return visitor.visitCompositionExpression
|
|
17
|
+
return this.dispatchVisit(visitor, visitor.visitCompositionExpression);
|
|
18
18
|
}
|
|
19
19
|
toJSON() {
|
|
20
20
|
return {
|
|
@@ -42,7 +42,7 @@ export class Lambda extends ASTNode {
|
|
|
42
42
|
this.body = body;
|
|
43
43
|
}
|
|
44
44
|
accept(visitor) {
|
|
45
|
-
return visitor.visitLambda
|
|
45
|
+
return this.dispatchVisit(visitor, visitor.visitLambda);
|
|
46
46
|
}
|
|
47
47
|
toJSON() {
|
|
48
48
|
return {
|
|
@@ -64,7 +64,7 @@ export class Yield extends ASTNode {
|
|
|
64
64
|
this.expression = expression;
|
|
65
65
|
}
|
|
66
66
|
accept(visitor) {
|
|
67
|
-
return visitor.visitYield
|
|
67
|
+
return this.dispatchVisit(visitor, visitor.visitYield);
|
|
68
68
|
}
|
|
69
69
|
toJSON() {
|
|
70
70
|
return {
|
|
@@ -91,7 +91,7 @@ export class Application extends ASTNode {
|
|
|
91
91
|
this.parameter = parameter;
|
|
92
92
|
}
|
|
93
93
|
accept(visitor) {
|
|
94
|
-
return visitor.visitApplication
|
|
94
|
+
return this.dispatchVisit(visitor, visitor.visitApplication);
|
|
95
95
|
}
|
|
96
96
|
toJSON() {
|
|
97
97
|
return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Expression } from "../globals/expressions.js";
|
|
2
|
-
import { ASTNode, SourceLocation } from "../globals/generics.js";
|
|
2
|
+
import { ASTNode, SerializeNode, SourceLocation } from "../globals/generics.js";
|
|
3
3
|
import { SymbolPrimitive } from "../globals/primitives.js";
|
|
4
4
|
import { Sequence, Equation, Variable } from "../globals/statements.js";
|
|
5
5
|
import { Visitor } from "../visitor/index.js";
|
|
@@ -14,14 +14,7 @@ export declare class EntryPoint extends ASTNode {
|
|
|
14
14
|
identifier: SymbolPrimitive;
|
|
15
15
|
constructor(identifier: SymbolPrimitive, expression: Sequence, loc?: SourceLocation);
|
|
16
16
|
accept<R>(visitor: Visitor<R>): R;
|
|
17
|
-
toJSON():
|
|
18
|
-
type: string;
|
|
19
|
-
identifier: {
|
|
20
|
-
type: import("../globals/primitives.js").YukigoPrimitive;
|
|
21
|
-
value: string;
|
|
22
|
-
};
|
|
23
|
-
expression: any;
|
|
24
|
-
};
|
|
17
|
+
toJSON(): SerializeNode;
|
|
25
18
|
}
|
|
26
19
|
/**
|
|
27
20
|
* Represents a procedure definition, typically a function without a return value.
|
|
@@ -34,29 +27,7 @@ export declare class Procedure extends ASTNode {
|
|
|
34
27
|
identifier: SymbolPrimitive;
|
|
35
28
|
constructor(identifier: SymbolPrimitive, equations: Equation[], loc?: SourceLocation);
|
|
36
29
|
accept<R>(visitor: Visitor<R>): R;
|
|
37
|
-
toJSON():
|
|
38
|
-
type: string;
|
|
39
|
-
identifier: {
|
|
40
|
-
type: import("../globals/primitives.js").YukigoPrimitive;
|
|
41
|
-
value: string;
|
|
42
|
-
};
|
|
43
|
-
equations: {
|
|
44
|
-
type: string;
|
|
45
|
-
patterns: any[];
|
|
46
|
-
body: {
|
|
47
|
-
type: string;
|
|
48
|
-
sequence: any;
|
|
49
|
-
} | {
|
|
50
|
-
type: string;
|
|
51
|
-
condition: any;
|
|
52
|
-
body: any;
|
|
53
|
-
}[];
|
|
54
|
-
return: {
|
|
55
|
-
type: string;
|
|
56
|
-
body: any;
|
|
57
|
-
};
|
|
58
|
-
}[];
|
|
59
|
-
};
|
|
30
|
+
toJSON(): SerializeNode;
|
|
60
31
|
}
|
|
61
32
|
/**
|
|
62
33
|
* Represents a definition of a structured data type (struct).
|
|
@@ -69,7 +40,7 @@ export declare class Structure extends ASTNode {
|
|
|
69
40
|
identifier: SymbolPrimitive;
|
|
70
41
|
constructor(identifier: SymbolPrimitive, elements: (Variable | Structure)[], loc?: SourceLocation);
|
|
71
42
|
accept<R>(visitor: Visitor<R>): R;
|
|
72
|
-
toJSON():
|
|
43
|
+
toJSON(): SerializeNode;
|
|
73
44
|
}
|
|
74
45
|
/**
|
|
75
46
|
* Represents an enumeration type definition.
|
|
@@ -82,17 +53,7 @@ export declare class Enumeration extends ASTNode {
|
|
|
82
53
|
identifier: SymbolPrimitive;
|
|
83
54
|
constructor(identifier: SymbolPrimitive, contents: SymbolPrimitive[], loc?: SourceLocation);
|
|
84
55
|
accept<R>(visitor: Visitor<R>): R;
|
|
85
|
-
toJSON():
|
|
86
|
-
type: string;
|
|
87
|
-
identifier: {
|
|
88
|
-
type: import("../globals/primitives.js").YukigoPrimitive;
|
|
89
|
-
value: string;
|
|
90
|
-
};
|
|
91
|
-
expressions: {
|
|
92
|
-
type: import("../globals/primitives.js").YukigoPrimitive;
|
|
93
|
-
value: string;
|
|
94
|
-
}[];
|
|
95
|
-
};
|
|
56
|
+
toJSON(): SerializeNode;
|
|
96
57
|
}
|
|
97
58
|
/**
|
|
98
59
|
* Represents a while loop control structure.
|
|
@@ -108,11 +69,7 @@ export declare class While extends ASTNode {
|
|
|
108
69
|
condition: Expression;
|
|
109
70
|
constructor(condition: Expression, body: Expression, loc?: SourceLocation);
|
|
110
71
|
accept<R>(visitor: Visitor<R>): R;
|
|
111
|
-
toJSON():
|
|
112
|
-
type: string;
|
|
113
|
-
condition: any;
|
|
114
|
-
body: any;
|
|
115
|
-
};
|
|
72
|
+
toJSON(): SerializeNode;
|
|
116
73
|
}
|
|
117
74
|
/**
|
|
118
75
|
* Represents a repeat-until loop control structure.
|
|
@@ -125,11 +82,7 @@ export declare class Repeat extends ASTNode {
|
|
|
125
82
|
count: Expression;
|
|
126
83
|
constructor(count: Expression, body: Expression, loc?: SourceLocation);
|
|
127
84
|
accept<R>(visitor: Visitor<R>): R;
|
|
128
|
-
toJSON():
|
|
129
|
-
type: string;
|
|
130
|
-
count: any;
|
|
131
|
-
body: any;
|
|
132
|
-
};
|
|
85
|
+
toJSON(): SerializeNode;
|
|
133
86
|
}
|
|
134
87
|
/**
|
|
135
88
|
* Represents a C-style or range-based for loop.
|
|
@@ -146,12 +99,6 @@ export declare class ForLoop extends ASTNode {
|
|
|
146
99
|
initialization: Expression;
|
|
147
100
|
constructor(initialization: Expression, condition: Expression, update: Expression, body: Expression, loc?: SourceLocation);
|
|
148
101
|
accept<R>(visitor: Visitor<R>): R;
|
|
149
|
-
toJSON():
|
|
150
|
-
type: string;
|
|
151
|
-
initialization: any;
|
|
152
|
-
condition: any;
|
|
153
|
-
update: any;
|
|
154
|
-
body: any;
|
|
155
|
-
};
|
|
102
|
+
toJSON(): SerializeNode;
|
|
156
103
|
}
|
|
157
104
|
//# sourceMappingURL=imperative.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imperative.d.ts","sourceRoot":"","sources":["../../src/paradigms/imperative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"imperative.d.ts","sourceRoot":"","sources":["../../src/paradigms/imperative.ts"],"names":[],"mappings":"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"}
|