@ibyar/expressions 0.8.5 → 1.0.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/api/abstract.d.ts +1 -0
- package/api/abstract.d.ts.map +1 -0
- package/api/abstract.js +12 -0
- package/api/abstract.js.map +1 -1
- package/api/class/class.d.ts +1 -0
- package/api/class/class.d.ts.map +1 -0
- package/api/class/class.js +563 -482
- package/api/class/class.js.map +1 -1
- package/api/class/decorator.d.ts +1 -0
- package/api/class/decorator.d.ts.map +1 -0
- package/api/class/decorator.js +49 -42
- package/api/class/decorator.js.map +1 -1
- package/api/computing/call.d.ts +1 -0
- package/api/computing/call.d.ts.map +1 -0
- package/api/computing/call.js +79 -70
- package/api/computing/call.js.map +1 -1
- package/api/computing/debugger.d.ts +1 -0
- package/api/computing/debugger.d.ts.map +1 -0
- package/api/computing/debugger.js +36 -29
- package/api/computing/debugger.js.map +1 -1
- package/api/computing/new.d.ts +1 -0
- package/api/computing/new.d.ts.map +1 -0
- package/api/computing/new.js +77 -69
- package/api/computing/new.js.map +1 -1
- package/api/computing/rest.d.ts +1 -0
- package/api/computing/rest.d.ts.map +1 -0
- package/api/computing/rest.js +50 -43
- package/api/computing/rest.js.map +1 -1
- package/api/computing/return.d.ts +1 -0
- package/api/computing/return.d.ts.map +1 -0
- package/api/computing/return.js +48 -41
- package/api/computing/return.js.map +1 -1
- package/api/computing/spread.d.ts +1 -0
- package/api/computing/spread.d.ts.map +1 -0
- package/api/computing/spread.js +66 -59
- package/api/computing/spread.js.map +1 -1
- package/api/computing/throw.d.ts +1 -0
- package/api/computing/throw.d.ts.map +1 -0
- package/api/computing/throw.js +204 -178
- package/api/computing/throw.js.map +1 -1
- package/api/computing/yield.d.ts +1 -0
- package/api/computing/yield.d.ts.map +1 -0
- package/api/computing/yield.js +56 -48
- package/api/computing/yield.js.map +1 -1
- package/api/definition/array.d.ts +1 -0
- package/api/definition/array.d.ts.map +1 -0
- package/api/definition/array.js +139 -124
- package/api/definition/array.js.map +1 -1
- package/api/definition/bind.d.ts +1 -0
- package/api/definition/bind.d.ts.map +1 -0
- package/api/definition/bind.js +81 -71
- package/api/definition/bind.js.map +1 -1
- package/api/definition/comment.d.ts +1 -0
- package/api/definition/comment.d.ts.map +1 -0
- package/api/definition/comment.js +40 -33
- package/api/definition/comment.js.map +1 -1
- package/api/definition/function.d.ts +1 -0
- package/api/definition/function.d.ts.map +1 -0
- package/api/definition/function.js +484 -447
- package/api/definition/function.js.map +1 -1
- package/api/definition/member.d.ts +1 -0
- package/api/definition/member.d.ts.map +1 -0
- package/api/definition/member.js +100 -90
- package/api/definition/member.js.map +1 -1
- package/api/definition/object.d.ts +1 -0
- package/api/definition/object.d.ts.map +1 -0
- package/api/definition/object.js +230 -202
- package/api/definition/object.js.map +1 -1
- package/api/definition/statement.d.ts +1 -0
- package/api/definition/statement.d.ts.map +1 -0
- package/api/definition/statement.js +52 -45
- package/api/definition/statement.js.map +1 -1
- package/api/definition/values.d.ts +1 -0
- package/api/definition/values.d.ts.map +1 -0
- package/api/definition/values.js +210 -167
- package/api/definition/values.js.map +1 -1
- package/api/deserialize/deserialize.d.ts +2 -1
- package/api/deserialize/deserialize.d.ts.map +1 -0
- package/api/deserialize/deserialize.js +5 -7
- package/api/deserialize/deserialize.js.map +1 -1
- package/api/deserialize/type-store.d.ts +1 -0
- package/api/deserialize/type-store.d.ts.map +1 -0
- package/api/expression.d.ts +1 -0
- package/api/expression.d.ts.map +1 -0
- package/api/index.d.ts +1 -0
- package/api/index.d.ts.map +1 -0
- package/api/module/common.d.ts +1 -0
- package/api/module/common.d.ts.map +1 -0
- package/api/module/common.js +59 -51
- package/api/module/common.js.map +1 -1
- package/api/module/export.d.ts +1 -0
- package/api/module/export.d.ts.map +1 -0
- package/api/module/export.js +327 -294
- package/api/module/export.js.map +1 -1
- package/api/module/import.d.ts +1 -0
- package/api/module/import.d.ts.map +1 -0
- package/api/module/import.js +298 -258
- package/api/module/import.js.map +1 -1
- package/api/operators/assignment.d.ts +1 -0
- package/api/operators/assignment.d.ts.map +1 -0
- package/api/operators/assignment.js +84 -75
- package/api/operators/assignment.js.map +1 -1
- package/api/operators/await.d.ts +1 -0
- package/api/operators/await.d.ts.map +1 -0
- package/api/operators/await.js +50 -43
- package/api/operators/await.js.map +1 -1
- package/api/operators/binary.d.ts +1 -0
- package/api/operators/binary.d.ts.map +1 -0
- package/api/operators/binary.js +74 -64
- package/api/operators/binary.js.map +1 -1
- package/api/operators/chaining.d.ts +1 -0
- package/api/operators/chaining.d.ts.map +1 -0
- package/api/operators/chaining.js +52 -45
- package/api/operators/chaining.js.map +1 -1
- package/api/operators/comma.d.ts +1 -0
- package/api/operators/comma.d.ts.map +1 -0
- package/api/operators/comma.js +49 -42
- package/api/operators/comma.js.map +1 -1
- package/api/operators/grouping.d.ts +1 -0
- package/api/operators/grouping.d.ts.map +1 -0
- package/api/operators/grouping.js +47 -40
- package/api/operators/grouping.js.map +1 -1
- package/api/operators/logical.d.ts +1 -0
- package/api/operators/logical.d.ts.map +1 -0
- package/api/operators/logical.js +47 -37
- package/api/operators/logical.js.map +1 -1
- package/api/operators/pipeline.d.ts +1 -0
- package/api/operators/pipeline.d.ts.map +1 -0
- package/api/operators/pipeline.js +91 -82
- package/api/operators/pipeline.js.map +1 -1
- package/api/operators/ternary.d.ts +1 -0
- package/api/operators/ternary.d.ts.map +1 -0
- package/api/operators/ternary.js +65 -56
- package/api/operators/ternary.js.map +1 -1
- package/api/operators/types.d.ts +1 -0
- package/api/operators/types.d.ts.map +1 -0
- package/api/operators/unary.d.ts +1 -0
- package/api/operators/unary.d.ts.map +1 -0
- package/api/operators/unary.js +93 -82
- package/api/operators/unary.js.map +1 -1
- package/api/operators/update.d.ts +1 -0
- package/api/operators/update.d.ts.map +1 -0
- package/api/operators/update.js +74 -62
- package/api/operators/update.js.map +1 -1
- package/api/program.d.ts +1 -0
- package/api/program.d.ts.map +1 -0
- package/api/program.js +49 -41
- package/api/program.js.map +1 -1
- package/api/statement/control/block.d.ts +1 -0
- package/api/statement/control/block.d.ts.map +1 -0
- package/api/statement/control/block.js +61 -54
- package/api/statement/control/block.js.map +1 -1
- package/api/statement/control/empty.d.ts +1 -1
- package/api/statement/control/empty.d.ts.map +1 -0
- package/api/statement/control/empty.js +39 -34
- package/api/statement/control/empty.js.map +1 -1
- package/api/statement/control/if.d.ts +1 -0
- package/api/statement/control/if.d.ts.map +1 -0
- package/api/statement/control/if.js +75 -66
- package/api/statement/control/if.js.map +1 -1
- package/api/statement/control/switch.d.ts +1 -0
- package/api/statement/control/switch.d.ts.map +1 -0
- package/api/statement/control/switch.js +168 -144
- package/api/statement/control/switch.js.map +1 -1
- package/api/statement/control/terminate.d.ts +1 -2
- package/api/statement/control/terminate.d.ts.map +1 -0
- package/api/statement/control/terminate.js +105 -81
- package/api/statement/control/terminate.js.map +1 -1
- package/api/statement/control/with.d.ts +1 -0
- package/api/statement/control/with.d.ts.map +1 -0
- package/api/statement/control/with.js +68 -60
- package/api/statement/control/with.js.map +1 -1
- package/api/statement/declarations/declares.d.ts +1 -0
- package/api/statement/declarations/declares.d.ts.map +1 -0
- package/api/statement/declarations/declares.js +140 -123
- package/api/statement/declarations/declares.js.map +1 -1
- package/api/statement/iterations/for.d.ts +1 -0
- package/api/statement/iterations/for.d.ts.map +1 -0
- package/api/statement/iterations/for.js +320 -280
- package/api/statement/iterations/for.js.map +1 -1
- package/api/statement/iterations/while.d.ts +1 -0
- package/api/statement/iterations/while.d.ts.map +1 -0
- package/api/statement/iterations/while.js +144 -127
- package/api/statement/iterations/while.js.map +1 -1
- package/api/utils.d.ts +1 -0
- package/api/utils.d.ts.map +1 -0
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -0
- package/package.json +5 -5
- package/scope/event.d.ts +1 -0
- package/scope/event.d.ts.map +1 -0
- package/scope/finalizer.d.ts +1 -0
- package/scope/finalizer.d.ts.map +1 -0
- package/scope/index.d.ts +1 -0
- package/scope/index.d.ts.map +1 -0
- package/scope/pool.d.ts +1 -0
- package/scope/pool.d.ts.map +1 -0
- package/scope/proxy.d.ts +1 -0
- package/scope/proxy.d.ts.map +1 -0
- package/scope/proxy.js +1 -0
- package/scope/proxy.js.map +1 -1
- package/scope/scope.d.ts +1 -0
- package/scope/scope.d.ts.map +1 -0
- package/scope/scope.js +17 -11
- package/scope/scope.js.map +1 -1
- package/scope/stack.d.ts +1 -0
- package/scope/stack.d.ts.map +1 -0
- package/scope/stack.js +21 -13
- package/scope/stack.js.map +1 -1
- package/v8/enums.d.ts +1 -0
- package/v8/enums.d.ts.map +1 -0
- package/v8/enums.js +15 -13
- package/v8/enums.js.map +1 -1
- package/v8/factory.d.ts +1 -0
- package/v8/factory.d.ts.map +1 -0
- package/v8/factory.js +6 -4
- package/v8/factory.js.map +1 -1
- package/v8/index.d.ts +1 -0
- package/v8/index.d.ts.map +1 -0
- package/v8/inline.d.ts +1 -0
- package/v8/inline.d.ts.map +1 -0
- package/v8/inline.js +10 -6
- package/v8/inline.js.map +1 -1
- package/v8/language.d.ts +1 -0
- package/v8/language.d.ts.map +1 -0
- package/v8/node.d.ts +1 -0
- package/v8/node.d.ts.map +1 -0
- package/v8/parser.d.ts +1 -0
- package/v8/parser.d.ts.map +1 -0
- package/v8/parser.js +5 -5
- package/v8/parser.js.map +1 -1
- package/v8/stream.d.ts +1 -0
- package/v8/stream.d.ts.map +1 -0
- package/v8/stream.js +19 -8
- package/v8/stream.js.map +1 -1
- package/v8/token.d.ts +1 -0
- package/v8/token.d.ts.map +1 -0
- package/v8/token.js +365 -359
- package/v8/token.js.map +1 -1
- package/visit/index.d.ts +1 -0
- package/visit/index.d.ts.map +1 -0
- package/visit/visitor.d.ts +1 -0
- package/visit/visitor.d.ts.map +1 -0
|
@@ -89,3 +89,4 @@ export declare class TaggedTemplateExpression extends TemplateLiteralExpressionN
|
|
|
89
89
|
constructor(tag: ExpressionNode, quasis: string[], expressions: ExpressionNode[], range?: [number, number], loc?: SourceLocation);
|
|
90
90
|
getTag(): ExpressionNode;
|
|
91
91
|
}
|
|
92
|
+
//# sourceMappingURL=values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/definition/values.ts"],"names":[],"mappings":"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"}
|
package/api/definition/values.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { __decorate, __metadata } from "tslib";
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
3
2
|
import { Deserializer } from '../deserialize/deserialize.js';
|
|
4
3
|
import { AbstractExpressionNode } from '../abstract.js';
|
|
5
4
|
/**
|
|
@@ -11,156 +10,186 @@ import { AbstractExpressionNode } from '../abstract.js';
|
|
|
11
10
|
* there is no way to convert identifiers to strings,
|
|
12
11
|
* but sometimes it is possible to parse strings into identifiers.
|
|
13
12
|
*/
|
|
14
|
-
let Identifier =
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
set(stack, value) {
|
|
26
|
-
return stack.set(this.name, value) ? value : void 0;
|
|
27
|
-
}
|
|
28
|
-
get(stack, thisContext) {
|
|
29
|
-
if (thisContext) {
|
|
30
|
-
return thisContext[this.name];
|
|
13
|
+
export let Identifier = (() => {
|
|
14
|
+
let _classDecorators = [Deserializer('Identifier')];
|
|
15
|
+
let _classDescriptor;
|
|
16
|
+
let _classExtraInitializers = [];
|
|
17
|
+
let _classThis;
|
|
18
|
+
var Identifier = class extends AbstractExpressionNode {
|
|
19
|
+
static {
|
|
20
|
+
__esDecorate(null, _classDescriptor = { value: this }, _classDecorators, { kind: "class", name: this.name }, null, _classExtraInitializers);
|
|
21
|
+
Identifier = _classThis = _classDescriptor.value;
|
|
22
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
31
23
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
name;
|
|
25
|
+
static fromJSON(node) {
|
|
26
|
+
return new Identifier(node.name, node.range, node.loc);
|
|
27
|
+
}
|
|
28
|
+
constructor(name, range, loc) {
|
|
29
|
+
super(range, loc);
|
|
30
|
+
this.name = name;
|
|
31
|
+
}
|
|
32
|
+
getName() {
|
|
33
|
+
return this.name;
|
|
34
|
+
}
|
|
35
|
+
set(stack, value) {
|
|
36
|
+
return stack.set(this.name, value) ? value : void 0;
|
|
37
|
+
}
|
|
38
|
+
get(stack, thisContext) {
|
|
39
|
+
if (thisContext) {
|
|
40
|
+
return thisContext[this.name];
|
|
41
|
+
}
|
|
42
|
+
return stack.get(this.name);
|
|
43
|
+
}
|
|
44
|
+
findScope(stack, scope) {
|
|
45
|
+
if (scope) {
|
|
46
|
+
return scope.getInnerScope(this.name);
|
|
47
|
+
}
|
|
48
|
+
scope = stack.findScope(this.name);
|
|
36
49
|
return scope.getInnerScope(this.name);
|
|
37
50
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
51
|
+
declareVariable(stack, propertyValue) {
|
|
52
|
+
return stack.declareVariable(this.name, propertyValue);
|
|
53
|
+
}
|
|
54
|
+
getDeclarationName() {
|
|
55
|
+
return this.toString();
|
|
56
|
+
}
|
|
57
|
+
dependency(computed) {
|
|
58
|
+
return [this];
|
|
59
|
+
}
|
|
60
|
+
dependencyPath(computed) {
|
|
61
|
+
const path = [{ computed: false, path: this.toString() }];
|
|
62
|
+
return computed ? [{ computed, path: this.toString(), computedPath: [path] }] : path;
|
|
63
|
+
}
|
|
64
|
+
toString() {
|
|
65
|
+
return String(this.name);
|
|
66
|
+
}
|
|
67
|
+
toJson() {
|
|
68
|
+
return { name: this.name };
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
return Identifier = _classThis;
|
|
72
|
+
})();
|
|
73
|
+
export let ThisExpression = (() => {
|
|
74
|
+
let _classDecorators_1 = [Deserializer('ThisExpression')];
|
|
75
|
+
let _classDescriptor_1;
|
|
76
|
+
let _classExtraInitializers_1 = [];
|
|
77
|
+
let _classThis_1;
|
|
78
|
+
var ThisExpression = class extends Identifier {
|
|
79
|
+
static {
|
|
80
|
+
__esDecorate(null, _classDescriptor_1 = { value: this }, _classDecorators_1, { kind: "class", name: this.name }, null, _classExtraInitializers_1);
|
|
81
|
+
ThisExpression = _classThis_1 = _classDescriptor_1.value;
|
|
82
|
+
__runInitializers(_classThis_1, _classExtraInitializers_1);
|
|
83
|
+
}
|
|
84
|
+
static fromJSON(node) {
|
|
85
|
+
return new ThisExpression(node.range, node.loc);
|
|
86
|
+
}
|
|
87
|
+
constructor(range, loc) {
|
|
88
|
+
super('this', range, loc);
|
|
89
|
+
}
|
|
90
|
+
toJson() {
|
|
91
|
+
return {};
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
return ThisExpression = _classThis_1;
|
|
95
|
+
})();
|
|
96
|
+
export let Literal = (() => {
|
|
97
|
+
let _classDecorators_2 = [Deserializer('Literal')];
|
|
98
|
+
let _classDescriptor_2;
|
|
99
|
+
let _classExtraInitializers_2 = [];
|
|
100
|
+
let _classThis_2;
|
|
101
|
+
var Literal = class extends AbstractExpressionNode {
|
|
102
|
+
static {
|
|
103
|
+
__esDecorate(null, _classDescriptor_2 = { value: this }, _classDecorators_2, { kind: "class", name: this.name }, null, _classExtraInitializers_2);
|
|
104
|
+
Literal = _classThis_2 = _classDescriptor_2.value;
|
|
105
|
+
__runInitializers(_classThis_2, _classExtraInitializers_2);
|
|
106
|
+
}
|
|
107
|
+
value;
|
|
108
|
+
static fromJSON(node) {
|
|
109
|
+
if (node.bigint) {
|
|
110
|
+
return new Literal(BigInt(node.bigint), node.raw, undefined, node.bigint, node.range, node.loc);
|
|
111
|
+
}
|
|
112
|
+
else if (node.regex) {
|
|
113
|
+
return new Literal(RegExp(node.regex.pattern, node.regex.flags), node.raw, node.regex, undefined, node.range, node.loc);
|
|
114
|
+
}
|
|
115
|
+
return new Literal(node.value, node.raw, undefined, undefined, node.range, node.loc);
|
|
116
|
+
}
|
|
117
|
+
regex;
|
|
118
|
+
bigint;
|
|
119
|
+
raw;
|
|
120
|
+
constructor(value, raw, regex, bigint, range, loc) {
|
|
121
|
+
super(range, loc);
|
|
122
|
+
this.value = value;
|
|
123
|
+
raw && (this.raw = raw);
|
|
124
|
+
regex && (this.regex = regex);
|
|
125
|
+
bigint && (this.bigint = bigint);
|
|
126
|
+
}
|
|
127
|
+
getValue() {
|
|
128
|
+
return this.value;
|
|
129
|
+
}
|
|
130
|
+
getRegex() {
|
|
131
|
+
return this.regex;
|
|
132
|
+
}
|
|
133
|
+
getBigint() {
|
|
134
|
+
return this.bigint;
|
|
135
|
+
}
|
|
136
|
+
geRaw() {
|
|
137
|
+
return this.raw;
|
|
138
|
+
}
|
|
139
|
+
set() {
|
|
140
|
+
throw new Error(`${this.constructor.name}#set() has no implementation.`);
|
|
141
|
+
}
|
|
142
|
+
get() {
|
|
143
|
+
return this.value;
|
|
144
|
+
}
|
|
145
|
+
findScope(stack, scope) {
|
|
146
|
+
if (scope) {
|
|
147
|
+
return scope.getInnerScope(this.value);
|
|
148
|
+
}
|
|
149
|
+
scope = stack.findScope(this.value);
|
|
119
150
|
return scope.getInnerScope(this.value);
|
|
120
151
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
dependency(computed) {
|
|
125
|
-
return computed ? [this] : [];
|
|
126
|
-
}
|
|
127
|
-
dependencyPath(computed) {
|
|
128
|
-
return computed ? [{ computed: false, path: this.toString() }] : [];
|
|
129
|
-
}
|
|
130
|
-
toString() {
|
|
131
|
-
return this.raw ?? String(this.value);
|
|
132
|
-
}
|
|
133
|
-
toJson() {
|
|
134
|
-
if (this.bigint) {
|
|
135
|
-
return {
|
|
136
|
-
bigint: this.bigint,
|
|
137
|
-
raw: this.raw,
|
|
138
|
-
};
|
|
152
|
+
dependency(computed) {
|
|
153
|
+
return computed ? [this] : [];
|
|
139
154
|
}
|
|
140
|
-
|
|
155
|
+
dependencyPath(computed) {
|
|
156
|
+
return computed ? [{ computed: false, path: this.toString() }] : [];
|
|
157
|
+
}
|
|
158
|
+
toString() {
|
|
159
|
+
return this.raw ?? String(this.value);
|
|
160
|
+
}
|
|
161
|
+
toJson() {
|
|
162
|
+
if (this.bigint) {
|
|
163
|
+
return {
|
|
164
|
+
bigint: this.bigint,
|
|
165
|
+
raw: this.raw,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
else if (this.regex) {
|
|
169
|
+
return {
|
|
170
|
+
regex: { pattern: this.regex?.pattern, flags: this.regex?.flags },
|
|
171
|
+
raw: this.raw,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
141
174
|
return {
|
|
142
|
-
|
|
175
|
+
value: this.value,
|
|
143
176
|
raw: this.raw,
|
|
144
177
|
};
|
|
145
178
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
Literal = Literal_1 = __decorate([
|
|
153
|
-
Deserializer('Literal'),
|
|
154
|
-
__metadata("design:paramtypes", [Object, String, Object, String, Array, Object])
|
|
155
|
-
], Literal);
|
|
156
|
-
export { Literal };
|
|
179
|
+
};
|
|
180
|
+
return Literal = _classThis_2;
|
|
181
|
+
})();
|
|
157
182
|
class TemplateArray extends Array {
|
|
183
|
+
raw;
|
|
158
184
|
constructor(strings) {
|
|
159
185
|
super(...strings);
|
|
160
186
|
this.raw = strings;
|
|
161
187
|
}
|
|
162
188
|
}
|
|
163
189
|
export class TemplateLiteralExpressionNode extends AbstractExpressionNode {
|
|
190
|
+
quasis;
|
|
191
|
+
expressions;
|
|
192
|
+
tag;
|
|
164
193
|
static visit(node, visitNode) {
|
|
165
194
|
node.tag && visitNode(node.tag);
|
|
166
195
|
node.expressions.forEach(visitNode);
|
|
@@ -215,36 +244,50 @@ export class TemplateLiteralExpressionNode extends AbstractExpressionNode {
|
|
|
215
244
|
};
|
|
216
245
|
}
|
|
217
246
|
}
|
|
218
|
-
let TemplateLiteral =
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
247
|
+
export let TemplateLiteral = (() => {
|
|
248
|
+
let _classDecorators_3 = [Deserializer('TemplateLiteral')];
|
|
249
|
+
let _classDescriptor_3;
|
|
250
|
+
let _classExtraInitializers_3 = [];
|
|
251
|
+
let _classThis_3;
|
|
252
|
+
var TemplateLiteral = class extends TemplateLiteralExpressionNode {
|
|
253
|
+
static {
|
|
254
|
+
__esDecorate(null, _classDescriptor_3 = { value: this }, _classDecorators_3, { kind: "class", name: this.name }, null, _classExtraInitializers_3);
|
|
255
|
+
TemplateLiteral = _classThis_3 = _classDescriptor_3.value;
|
|
256
|
+
__runInitializers(_classThis_3, _classExtraInitializers_3);
|
|
257
|
+
}
|
|
258
|
+
static fromJSON(node, deserializer) {
|
|
259
|
+
return new TemplateLiteral(node.quasis, node.expressions.map(deserializer), node.range, node.loc);
|
|
260
|
+
}
|
|
261
|
+
constructor(quasis, expressions, range, loc) {
|
|
262
|
+
super(quasis, expressions, undefined, range, loc);
|
|
263
|
+
}
|
|
264
|
+
getTag() {
|
|
265
|
+
return undefined;
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
return TemplateLiteral = _classThis_3;
|
|
269
|
+
})();
|
|
270
|
+
export let TaggedTemplateExpression = (() => {
|
|
271
|
+
let _classDecorators_4 = [Deserializer('TaggedTemplateExpression')];
|
|
272
|
+
let _classDescriptor_4;
|
|
273
|
+
let _classExtraInitializers_4 = [];
|
|
274
|
+
let _classThis_4;
|
|
275
|
+
var TaggedTemplateExpression = class extends TemplateLiteralExpressionNode {
|
|
276
|
+
static {
|
|
277
|
+
__esDecorate(null, _classDescriptor_4 = { value: this }, _classDecorators_4, { kind: "class", name: this.name }, null, _classExtraInitializers_4);
|
|
278
|
+
TaggedTemplateExpression = _classThis_4 = _classDescriptor_4.value;
|
|
279
|
+
__runInitializers(_classThis_4, _classExtraInitializers_4);
|
|
280
|
+
}
|
|
281
|
+
static fromJSON(node, deserializer) {
|
|
282
|
+
return new TaggedTemplateExpression(deserializer(node.tag), node.quasis, node.expressions.map(deserializer), node.range, node.loc);
|
|
283
|
+
}
|
|
284
|
+
constructor(tag, quasis, expressions, range, loc) {
|
|
285
|
+
super(quasis, expressions, tag, range, loc);
|
|
286
|
+
}
|
|
287
|
+
getTag() {
|
|
288
|
+
return super.getTag();
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
return TaggedTemplateExpression = _classThis_4;
|
|
292
|
+
})();
|
|
250
293
|
//# sourceMappingURL=values.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.js","sourceRoot":"","sources":["../../../../src/expressions/api/definition/values.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tDeclarationExpression, ExpressionNode, NodeDeserializer,\n\tCanFindScope, ExpressionEventPath, VisitNodeType, SourceLocation\n} from '../expression.js';\nimport type { Context, Scope } from '../../scope/scope.js';\nimport type { Stack } from '../../scope/stack.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\nimport { AbstractExpressionNode } from '../abstract.js';\n\n/**\n * An identifier is a sequence of characters in the code that identifies a variable, function, or property.\n * In JavaScript, identifiers are case-sensitive and can contain Unicode letters, $, _, and digits (0-9),\n * but may not start with a digit.\n * An identifier differs from a string in that a string is data,\n * while an identifier is part of the code. In JavaScript,\n * there is no way to convert identifiers to strings,\n * but sometimes it is possible to parse strings into identifiers.\n */\n@Deserializer('Identifier')\nexport class Identifier extends AbstractExpressionNode implements DeclarationExpression, CanFindScope {\n\tstatic fromJSON(node: Identifier): Identifier {\n\t\treturn new Identifier(node.name, node.range, node.loc);\n\t}\n\tconstructor(protected name: string | number, range?: [number, number], loc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetName() {\n\t\treturn this.name;\n\t}\n\tset(stack: Stack, value: any) {\n\t\treturn stack.set(this.name, value) ? value : void 0;\n\t}\n\tget(stack: Stack, thisContext?: any) {\n\t\tif (thisContext) {\n\t\t\treturn thisContext[this.name];\n\t\t}\n\t\treturn stack.get(this.name);\n\t}\n\tfindScope<T extends object>(stack: Stack): Scope<T>;\n\tfindScope<T extends object>(stack: Stack, scope: Scope<any>): Scope<T>;\n\tfindScope<T extends object>(stack: Stack, scope?: Scope<any>): Scope<T> | undefined {\n\t\tif (scope) {\n\t\t\treturn scope.getInnerScope(this.name);\n\t\t}\n\t\tscope = stack.findScope(this.name);\n\t\treturn scope.getInnerScope(this.name);\n\t}\n\tdeclareVariable(stack: Stack, propertyValue: any): any {\n\t\treturn stack.declareVariable(this.name, propertyValue);\n\t}\n\tgetDeclarationName(): string {\n\t\treturn this.toString();\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn [this];\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\tconst path: ExpressionEventPath[] = [{ computed: false, path: this.toString() }];\n\t\treturn computed ? [{ computed, path: this.toString(), computedPath: [path] }] : path;\n\t}\n\ttoString(): string {\n\t\treturn String(this.name);\n\t}\n\ttoJson(): object {\n\t\treturn { name: this.name };\n\t}\n}\n\n@Deserializer('ThisExpression')\nexport class ThisExpression extends Identifier {\n\tstatic fromJSON(node: ThisExpression): ThisExpression {\n\t\treturn new ThisExpression(node.range, node.loc);\n\t}\n\tconstructor(\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper('this', range, loc);\n\t}\n\ttoJson(): object {\n\t\treturn {};\n\t}\n}\n\n@Deserializer('Literal')\nexport class Literal<T> extends AbstractExpressionNode implements CanFindScope {\n\tstatic fromJSON(node: Literal<any>):\n\t\tLiteral<string>\n\t\t| Literal<number>\n\t\t| Literal<boolean>\n\t\t| Literal<RegExp>\n\t\t| Literal<bigint>\n\t\t| Literal<null>\n\t\t| Literal<undefined> {\n\t\tif (node.bigint) {\n\t\t\treturn new Literal(BigInt(node.bigint), node.raw, undefined, node.bigint, node.range, node.loc);\n\t\t} else if (node.regex) {\n\t\t\treturn new Literal(RegExp(node.regex.pattern, node.regex.flags), node.raw, node.regex, undefined, node.range, node.loc);\n\t\t}\n\t\treturn new Literal(node.value, node.raw, undefined, undefined, node.range, node.loc);\n\t}\n\ttype: 'Literal';\n\tregex?: { pattern: string, flags: string };\n\tbigint?: string;\n\traw?: string\n\tconstructor(\n\t\tpublic value: T,\n\t\traw?: string,\n\t\tregex?: { pattern: string, flags: string },\n\t\tbigint?: string,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t\traw && (this.raw = raw);\n\t\tregex && (this.regex = regex);\n\t\tbigint && (this.bigint = bigint);\n\t}\n\tgetValue() {\n\t\treturn this.value;\n\t}\n\tgetRegex() {\n\t\treturn this.regex;\n\t}\n\tgetBigint() {\n\t\treturn this.bigint;\n\t}\n\tgeRaw() {\n\t\treturn this.raw;\n\t}\n\tset() {\n\t\tthrow new Error(`${this.constructor.name}#set() has no implementation.`);\n\t}\n\tget(): T {\n\t\treturn this.value;\n\t}\n\tfindScope<V extends Context>(stack: Stack): Scope<V>;\n\tfindScope<V extends Context>(stack: Stack, scope: Scope<Record<PropertyKey, V>>): Scope<V>;\n\tfindScope<V extends Context>(stack: Stack, scope?: Scope<Record<PropertyKey, V>>): Scope<V> | undefined {\n\t\tif (scope) {\n\t\t\treturn scope.getInnerScope(this.value as any);\n\t\t}\n\t\tscope = stack.findScope(this.value as any);\n\t\treturn scope.getInnerScope(this.value as any);\n\t}\n\tdependency(computed: true): ExpressionNode[] {\n\t\treturn computed ? [this] : [];\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn computed ? [{ computed: false, path: this.toString() }] : [];\n\t}\n\ttoString(): string {\n\t\treturn this.raw ?? String(this.value);\n\t}\n\ttoJson(): object {\n\t\tif (this.bigint) {\n\t\t\treturn {\n\t\t\t\tbigint: this.bigint,\n\t\t\t\traw: this.raw,\n\t\t\t};\n\t\t} else if (this.regex) {\n\t\t\treturn {\n\t\t\t\tregex: { pattern: this.regex?.pattern, flags: this.regex?.flags },\n\t\t\t\traw: this.raw,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tvalue: this.value,\n\t\t\traw: this.raw,\n\t\t};\n\t}\n}\n\nclass TemplateArray extends Array<string> implements TemplateStringsArray {\n\traw: readonly string[];\n\tconstructor(strings: string[]) {\n\t\tsuper(...strings);\n\t\tthis.raw = strings;\n\t}\n}\n\nexport class TemplateLiteralExpressionNode extends AbstractExpressionNode {\n\tstatic visit(node: TemplateLiteralExpressionNode, visitNode: VisitNodeType): void {\n\t\tnode.tag && visitNode(node.tag);\n\t\tnode.expressions.forEach(visitNode);\n\t}\n\tconstructor(\n\t\tprotected quasis: string[],\n\t\tprotected expressions: ExpressionNode[],\n\t\tprotected tag?: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetTag() {\n\t\treturn this.tag;\n\t}\n\tgetExpressions() {\n\t\treturn this.expressions;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`TemplateLiteralExpressionNode#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\tconst tagged: Function = this.tag?.get(stack) || String.raw;\n\t\tconst templateStringsArray = new TemplateArray(this.quasis);\n\t\ttemplateStringsArray.raw = templateStringsArray;\n\t\tconst values = this.expressions.map(expr => expr.get(stack));\n\t\treturn tagged(templateStringsArray, ...values);\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.expressions.flatMap(exp => exp.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.expressions.flatMap(exp => exp.dependencyPath(computed));\n\t}\n\ttoString(): string {\n\t\tlet str = this.tag?.toString() || '';\n\t\tstr += '`';\n\t\tlet i = 0;\n\t\tfor (; i < this.quasis.length - 1; i++) {\n\t\t\tstr += this.quasis[i];\n\t\t\tstr += '${';\n\t\t\tstr += this.expressions[i].toString();\n\t\t\tstr += '}';\n\t\t}\n\t\tstr += this.quasis[i];\n\t\tstr += '`';\n\t\treturn str;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\tquasis: this.quasis,\n\t\t\texpressions: this.expressions.map(expr => expr.toJSON()),\n\t\t\ttag: this.tag?.toJSON(),\n\t\t};\n\t}\n}\n\n@Deserializer('TemplateLiteral')\nexport class TemplateLiteral extends TemplateLiteralExpressionNode {\n\tstatic fromJSON(node: TemplateLiteral, deserializer: NodeDeserializer): TemplateLiteralExpressionNode {\n\t\treturn new TemplateLiteral(\n\t\t\tnode.quasis,\n\t\t\tnode.expressions.map(deserializer),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tdeclare protected tag: undefined;\n\tconstructor(\n\t\tquasis: string[],\n\t\texpressions: ExpressionNode[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(quasis, expressions, undefined, range, loc);\n\t}\n\toverride getTag(): undefined {\n\t\treturn undefined;\n\t}\n}\n\n@Deserializer('TaggedTemplateExpression')\nexport class TaggedTemplateExpression extends TemplateLiteralExpressionNode {\n\tstatic fromJSON(node: TaggedTemplateExpression, deserializer: NodeDeserializer): TemplateLiteralExpressionNode {\n\t\treturn new TaggedTemplateExpression(\n\t\t\tdeserializer(node.tag),\n\t\t\tnode.quasis,\n\t\t\tnode.expressions.map(deserializer),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tdeclare protected tag: ExpressionNode;\n\tconstructor(\n\t\ttag: ExpressionNode,\n\t\tquasis: string[],\n\t\texpressions: ExpressionNode[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(quasis, expressions, tag, range, loc);\n\t}\n\toverride getTag(): ExpressionNode {\n\t\treturn super.getTag()!;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"values.js","sourceRoot":"","sources":["../../../../src/expressions/api/definition/values.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tDeclarationExpression, ExpressionNode, NodeDeserializer,\n\tCanFindScope, ExpressionEventPath, VisitNodeType, SourceLocation\n} from '../expression.js';\nimport type { Context, Scope } from '../../scope/scope.js';\nimport type { Stack } from '../../scope/stack.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\nimport { AbstractExpressionNode } from '../abstract.js';\n\n/**\n * An identifier is a sequence of characters in the code that identifies a variable, function, or property.\n * In JavaScript, identifiers are case-sensitive and can contain Unicode letters, $, _, and digits (0-9),\n * but may not start with a digit.\n * An identifier differs from a string in that a string is data,\n * while an identifier is part of the code. In JavaScript,\n * there is no way to convert identifiers to strings,\n * but sometimes it is possible to parse strings into identifiers.\n */\n@Deserializer('Identifier')\nexport class Identifier extends AbstractExpressionNode implements DeclarationExpression, CanFindScope {\n\tstatic fromJSON(node: Identifier): Identifier {\n\t\treturn new Identifier(node.name, node.range, node.loc);\n\t}\n\tconstructor(protected name: string | number, range?: [number, number], loc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetName() {\n\t\treturn this.name;\n\t}\n\tset(stack: Stack, value: any) {\n\t\treturn stack.set(this.name, value) ? value : void 0;\n\t}\n\tget(stack: Stack, thisContext?: any) {\n\t\tif (thisContext) {\n\t\t\treturn thisContext[this.name];\n\t\t}\n\t\treturn stack.get(this.name);\n\t}\n\tfindScope<T extends object>(stack: Stack): Scope<T>;\n\tfindScope<T extends object>(stack: Stack, scope: Scope<any>): Scope<T>;\n\tfindScope<T extends object>(stack: Stack, scope?: Scope<any>): Scope<T> | undefined {\n\t\tif (scope) {\n\t\t\treturn scope.getInnerScope(this.name);\n\t\t}\n\t\tscope = stack.findScope(this.name);\n\t\treturn scope.getInnerScope(this.name);\n\t}\n\tdeclareVariable(stack: Stack, propertyValue: any): any {\n\t\treturn stack.declareVariable(this.name, propertyValue);\n\t}\n\tgetDeclarationName(): string {\n\t\treturn this.toString();\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn [this];\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\tconst path: ExpressionEventPath[] = [{ computed: false, path: this.toString() }];\n\t\treturn computed ? [{ computed, path: this.toString(), computedPath: [path] }] : path;\n\t}\n\ttoString(): string {\n\t\treturn String(this.name);\n\t}\n\ttoJson(): object {\n\t\treturn { name: this.name };\n\t}\n}\n\n@Deserializer('ThisExpression')\nexport class ThisExpression extends Identifier {\n\tstatic fromJSON(node: ThisExpression): ThisExpression {\n\t\treturn new ThisExpression(node.range, node.loc);\n\t}\n\tconstructor(\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper('this', range, loc);\n\t}\n\ttoJson(): object {\n\t\treturn {};\n\t}\n}\n\n@Deserializer('Literal')\nexport class Literal<T> extends AbstractExpressionNode implements CanFindScope {\n\tstatic fromJSON(node: Literal<any>):\n\t\tLiteral<string>\n\t\t| Literal<number>\n\t\t| Literal<boolean>\n\t\t| Literal<RegExp>\n\t\t| Literal<bigint>\n\t\t| Literal<null>\n\t\t| Literal<undefined> {\n\t\tif (node.bigint) {\n\t\t\treturn new Literal(BigInt(node.bigint), node.raw, undefined, node.bigint, node.range, node.loc);\n\t\t} else if (node.regex) {\n\t\t\treturn new Literal(RegExp(node.regex.pattern, node.regex.flags), node.raw, node.regex, undefined, node.range, node.loc);\n\t\t}\n\t\treturn new Literal(node.value, node.raw, undefined, undefined, node.range, node.loc);\n\t}\n\tdeclare type: 'Literal';\n\tregex?: { pattern: string, flags: string };\n\tbigint?: string;\n\traw?: string\n\tconstructor(\n\t\tpublic value: T,\n\t\traw?: string,\n\t\tregex?: { pattern: string, flags: string },\n\t\tbigint?: string,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t\traw && (this.raw = raw);\n\t\tregex && (this.regex = regex);\n\t\tbigint && (this.bigint = bigint);\n\t}\n\tgetValue() {\n\t\treturn this.value;\n\t}\n\tgetRegex() {\n\t\treturn this.regex;\n\t}\n\tgetBigint() {\n\t\treturn this.bigint;\n\t}\n\tgeRaw() {\n\t\treturn this.raw;\n\t}\n\tset() {\n\t\tthrow new Error(`${this.constructor.name}#set() has no implementation.`);\n\t}\n\tget(): T {\n\t\treturn this.value;\n\t}\n\tfindScope<V extends Context>(stack: Stack): Scope<V>;\n\tfindScope<V extends Context>(stack: Stack, scope: Scope<Record<PropertyKey, V>>): Scope<V>;\n\tfindScope<V extends Context>(stack: Stack, scope?: Scope<Record<PropertyKey, V>>): Scope<V> | undefined {\n\t\tif (scope) {\n\t\t\treturn scope.getInnerScope(this.value as any);\n\t\t}\n\t\tscope = stack.findScope(this.value as any);\n\t\treturn scope.getInnerScope(this.value as any);\n\t}\n\tdependency(computed: true): ExpressionNode[] {\n\t\treturn computed ? [this] : [];\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn computed ? [{ computed: false, path: this.toString() }] : [];\n\t}\n\ttoString(): string {\n\t\treturn this.raw ?? String(this.value);\n\t}\n\ttoJson(): object {\n\t\tif (this.bigint) {\n\t\t\treturn {\n\t\t\t\tbigint: this.bigint,\n\t\t\t\traw: this.raw,\n\t\t\t};\n\t\t} else if (this.regex) {\n\t\t\treturn {\n\t\t\t\tregex: { pattern: this.regex?.pattern, flags: this.regex?.flags },\n\t\t\t\traw: this.raw,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tvalue: this.value,\n\t\t\traw: this.raw,\n\t\t};\n\t}\n}\n\nclass TemplateArray extends Array<string> implements TemplateStringsArray {\n\traw: readonly string[];\n\tconstructor(strings: string[]) {\n\t\tsuper(...strings);\n\t\tthis.raw = strings;\n\t}\n}\n\nexport class TemplateLiteralExpressionNode extends AbstractExpressionNode {\n\tstatic visit(node: TemplateLiteralExpressionNode, visitNode: VisitNodeType): void {\n\t\tnode.tag && visitNode(node.tag);\n\t\tnode.expressions.forEach(visitNode);\n\t}\n\tconstructor(\n\t\tprotected quasis: string[],\n\t\tprotected expressions: ExpressionNode[],\n\t\tprotected tag?: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetTag() {\n\t\treturn this.tag;\n\t}\n\tgetExpressions() {\n\t\treturn this.expressions;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`TemplateLiteralExpressionNode#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\tconst tagged: Function = this.tag?.get(stack) || String.raw;\n\t\tconst templateStringsArray = new TemplateArray(this.quasis);\n\t\ttemplateStringsArray.raw = templateStringsArray;\n\t\tconst values = this.expressions.map(expr => expr.get(stack));\n\t\treturn tagged(templateStringsArray, ...values);\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.expressions.flatMap(exp => exp.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.expressions.flatMap(exp => exp.dependencyPath(computed));\n\t}\n\ttoString(): string {\n\t\tlet str = this.tag?.toString() || '';\n\t\tstr += '`';\n\t\tlet i = 0;\n\t\tfor (; i < this.quasis.length - 1; i++) {\n\t\t\tstr += this.quasis[i];\n\t\t\tstr += '${';\n\t\t\tstr += this.expressions[i].toString();\n\t\t\tstr += '}';\n\t\t}\n\t\tstr += this.quasis[i];\n\t\tstr += '`';\n\t\treturn str;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\tquasis: this.quasis,\n\t\t\texpressions: this.expressions.map(expr => expr.toJSON()),\n\t\t\ttag: this.tag?.toJSON(),\n\t\t};\n\t}\n}\n\n@Deserializer('TemplateLiteral')\nexport class TemplateLiteral extends TemplateLiteralExpressionNode {\n\tstatic fromJSON(node: TemplateLiteral, deserializer: NodeDeserializer): TemplateLiteralExpressionNode {\n\t\treturn new TemplateLiteral(\n\t\t\tnode.quasis,\n\t\t\tnode.expressions.map(deserializer),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tdeclare protected tag: undefined;\n\tconstructor(\n\t\tquasis: string[],\n\t\texpressions: ExpressionNode[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(quasis, expressions, undefined, range, loc);\n\t}\n\toverride getTag(): undefined {\n\t\treturn undefined;\n\t}\n}\n\n@Deserializer('TaggedTemplateExpression')\nexport class TaggedTemplateExpression extends TemplateLiteralExpressionNode {\n\tstatic fromJSON(node: TaggedTemplateExpression, deserializer: NodeDeserializer): TemplateLiteralExpressionNode {\n\t\treturn new TaggedTemplateExpression(\n\t\t\tdeserializer(node.tag),\n\t\t\tnode.quasis,\n\t\t\tnode.expressions.map(deserializer),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tdeclare protected tag: ExpressionNode;\n\tconstructor(\n\t\ttag: ExpressionNode,\n\t\tquasis: string[],\n\t\texpressions: ExpressionNode[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(quasis, expressions, tag, range, loc);\n\t}\n\toverride getTag(): ExpressionNode {\n\t\treturn super.getTag()!;\n\t}\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExpressionNode, ExpressionNodConstructor } from '../expression.js';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const Deserializer: (param: string) => (constructor: any, context: ClassDecoratorContext<new (...args: any) => any>) => any;
|
|
3
3
|
export declare function getDeserializerType(target: ExpressionNodConstructor<ExpressionNode>): string;
|
|
4
4
|
export declare function serializeNode(node: ExpressionNode): string;
|
|
5
5
|
/**
|
|
@@ -9,3 +9,4 @@ export declare function serializeNode(node: ExpressionNode): string;
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function deserialize(node: ExpressionNode): ExpressionNode;
|
|
11
11
|
export declare function deserializeNode(node: string): ExpressionNode;
|
|
12
|
+
//# sourceMappingURL=deserialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/deserialize/deserialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAIjF,eAAO,MAAM,YAAY,yGAKxB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,CAAC,cAAc,CAAC,UAEnF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,UAEjD;AAGD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,kBAO/C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,kBAG3C"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
+
import { makeClassDecorator } from '@ibyar/decorators';
|
|
1
2
|
import { expressionTypes } from './type-store.js';
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return target;
|
|
7
|
-
};
|
|
8
|
-
}
|
|
3
|
+
export const Deserializer = makeClassDecorator((type, target) => {
|
|
4
|
+
target.type = type;
|
|
5
|
+
expressionTypes.set(type, target);
|
|
6
|
+
});
|
|
9
7
|
export function getDeserializerType(target) {
|
|
10
8
|
return target.type;
|
|
11
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../../../src/expressions/api/deserialize/deserialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../../../src/expressions/api/deserialize/deserialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAC7C,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;IAChB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC,CACD,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,MAAgD;IACnF,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAoB;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAGD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAoB;IAC/C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAO,IAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACjE,IAAI,QAAQ,EAAE;QACb,OAAO,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KACnC;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACrF;AACF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC","sourcesContent":["import type { ExpressionNode, ExpressionNodConstructor } from '../expression.js';\nimport { makeClassDecorator } from '@ibyar/decorators';\nimport { expressionTypes } from './type-store.js';\n\nexport const Deserializer = makeClassDecorator<string, ExpressionNodConstructor<ExpressionNode>>(\n\t(type, target) => {\n\t\ttarget.type = type;\n\t\texpressionTypes.set(type, target);\n\t}\n);\n\nexport function getDeserializerType(target: ExpressionNodConstructor<ExpressionNode>) {\n\treturn target.type;\n}\n\nexport function serializeNode(node: ExpressionNode) {\n\treturn JSON.stringify(node);\n}\n\n\n/**\n * convert from json expression `JSON.stringify(node)` or `serializeNode` to `ExpressionNode`\n * @param node as type `NodeJsonType`\n * @returns ExpressionNode\n */\nexport function deserialize(node: ExpressionNode) {\n\tconst fromJSON = expressionTypes.get((<any>node).type)?.fromJSON;\n\tif (fromJSON) {\n\t\treturn fromJSON(node, deserialize);\n\t} else {\n\t\tthrow new Error(`Couldn't find Expression class for name: ${JSON.stringify(node)}.`);\n\t}\n}\n\nexport function deserializeNode(node: string) {\n\tconst exp = JSON.parse(node);\n\treturn deserialize(exp);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-store.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/deserialize/type-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAGjF,eAAO,MAAM,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,cAAc,CAAC,CAAa,CAAC"}
|
package/api/expression.d.ts
CHANGED
|
@@ -207,3 +207,4 @@ export interface CanFindScope {
|
|
|
207
207
|
findScope<V extends Context>(stack: Stack, scope: Scope<Record<PropertyKey, V>>): Scope<V>;
|
|
208
208
|
findScope<V extends Context>(stack: Stack, scope?: Scope<Record<PropertyKey, V>>): Scope<V> | undefined;
|
|
209
209
|
}
|
|
210
|
+
//# sourceMappingURL=expression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/expressions/api/expression.ts"],"names":[],"mappings":"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"}
|
package/api/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/expressions/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,cAAc,8BAA8B,CAAC;AAE7C,cAAc,cAAc,CAAC;AAE7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAErC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAE5C,cAAc,sCAAsC,CAAC;AAErD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC"}
|
package/api/module/common.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/module/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EACrD,cAAc,EAAE,aAAa,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG9D,8BAAsB,eAAgB,SAAQ,sBAAsB;IACvD,SAAS,CAAC,KAAK,EAAE,UAAU;gBAAjB,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc;IAGvF,QAAQ;IAGR,YAAY;IAGZ,MAAM,IAAI,MAAM;CAKhB;AAID,qBACa,eAAgB,SAAQ,sBAAsB;IAezD,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,KAAK;IAfd,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,GAAG,eAAe;IAQvF,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;gBAM1D,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,EACjC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAC9B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,MAAM;IAGN,QAAQ;IAGR,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAG5B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,GAAG,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAK/D,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,cAAc,EAAE;IAG7C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,mBAAmB,EAAE;IAGtD,QAAQ,IAAI,MAAM;IAGlB,MAAM,IAAI,MAAM;CAMhB"}
|