@bikky/replication 1.0.16 → 1.0.18
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/Constants/ReplicableRegistry.d.ts +2 -0
- package/Constants/ReplicableRegistry.js +16 -10
- package/Constants/ReplicableRegistry.js.map +1 -1
- package/Constants/SetupNetworking.js +1 -1
- package/Constants/SetupNetworking.js.map +1 -1
- package/Constants/Versions.js.map +1 -1
- package/Expressions/CreateEvaluator.js +16 -7
- package/Expressions/CreateEvaluator.js.map +1 -1
- package/Expressions/Traverser.d.ts +1 -1
- package/Expressions/Traverser.js +95 -36
- package/Expressions/Traverser.js.map +1 -1
- package/Expressions/TypeRegistry/ChainCollections.d.ts +1 -1
- package/Expressions/TypeRegistry/ChainCollections.js.map +1 -1
- package/Expressions/TypeRegistry/ChainTypes.d.ts +5 -5
- package/Expressions/TypeRegistry/ChainTypes.js +28 -13
- package/Expressions/TypeRegistry/ChainTypes.js.map +1 -1
- package/Expressions/TypeRegistry/CustomAPI.d.ts +1 -1
- package/Expressions/TypeRegistry/CustomAPI.js.map +1 -1
- package/Expressions/TypeRegistry/Primitive.d.ts +1 -1
- package/Expressions/TypeRegistry/Primitive.js.map +1 -1
- package/Expressions/TypeRegistry/Registry.js.map +1 -1
- package/Expressions/TypeRegistry/ReplAPI.d.ts +1 -1
- package/Expressions/TypeRegistry/ReplAPI.js.map +1 -1
- package/Expressions/TypeRegistry/Scope.d.ts +1 -1
- package/Expressions/__tests__/ExpressionExamples.d.ts +3 -3
- package/Expressions/__tests__/ExpressionExamples.js +16 -7
- package/Expressions/__tests__/ExpressionExamples.js.map +1 -1
- package/Replicatable.d.ts +1 -1
- package/Replicatable.js +1 -1
- package/Replicatable.js.map +1 -1
- package/Tracking/Types.d.ts +1 -1
- package/Transformers/Definitions.d.ts +1 -1
- package/Transformers/Definitions.js +1 -1
- package/Transformers/Definitions.js.map +1 -1
- package/Transformers/Loader.d.ts +1 -1
- package/Transformers/Loader.js +1 -1
- package/Transformers/Loader.js.map +1 -1
- package/Transformers/Progress.js.map +1 -1
- package/Transformers/__tests__/Replicable.Transformers.Definitions.test.js +1 -1
- package/Transformers/__tests__/Replicable.Transformers.Definitions.test.js.map +1 -1
- package/Transformers/__tests__/Replicable.Transformers.Loader.test.js +1 -1
- package/Transformers/__tests__/Replicable.Transformers.Loader.test.js.map +1 -1
- package/package.json +2 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/Constants/Errors.d.ts +0 -27
- package/Constants/Errors.js +0 -76
- package/Constants/Errors.js.map +0 -1
- package/Constants/Logging.d.ts +0 -18
- package/Constants/Logging.js +0 -97
- package/Constants/Logging.js.map +0 -1
- package/Constants/SourceMaps.d.ts +0 -10
- package/Constants/SourceMaps.js +0 -13
- package/Constants/SourceMaps.js.map +0 -1
- package/Expressions/Compiler/GrammarRegistry.d.ts +0 -20
- package/Expressions/Compiler/GrammarRegistry.js +0 -51
- package/Expressions/Compiler/GrammarRegistry.js.map +0 -1
|
@@ -2,7 +2,9 @@ import { Class } from "@bikky/smart-collections";
|
|
|
2
2
|
import { Primitive } from "./SerialisationTypes.js";
|
|
3
3
|
import type { ReplicableClass } from "../Tracking/Class.js";
|
|
4
4
|
import type { AbstractClass, CustomClass } from "../Tracking/Types.js";
|
|
5
|
+
import { Logging } from "@bikky/logging";
|
|
5
6
|
export declare namespace ReplicableRegistry {
|
|
7
|
+
function SetLogLevel(level: Logging.Verbosity): void;
|
|
6
8
|
function Initialise(): Promise<void>;
|
|
7
9
|
/**
|
|
8
10
|
* This function is only for testing!
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
/// <reference path="../node_modules/@bikky/logging/Source/Globals.d.ts" />
|
|
1
2
|
import { ArrayMap, InheritableArrayMetastore, OpenPromise, SmartArray, } from "@bikky/smart-collections";
|
|
2
3
|
import { describeObject, getPrimitiveClass, isPrimitiveType, TypeSymbol, } from "./SerialisationTypes.js";
|
|
3
4
|
import { Progress } from "../Transformers/Progress.js";
|
|
4
|
-
import { Logging } from "
|
|
5
|
+
import { Logging } from "@bikky/logging";
|
|
6
|
+
import * as console from "node:console";
|
|
5
7
|
const InheritanceMap = new InheritableArrayMetastore("TypeParent");
|
|
6
8
|
//This is an array because you can have type aliases that link to multiple types
|
|
7
9
|
// E.g. Location -> InventorySlot, Entity, Tile, null, etc.
|
|
@@ -10,7 +12,11 @@ const DataNameMap = new Map();
|
|
|
10
12
|
const ParentSymbol = Symbol("parent");
|
|
11
13
|
export var ReplicableRegistry;
|
|
12
14
|
(function (ReplicableRegistry) {
|
|
13
|
-
console.
|
|
15
|
+
console.setLogLevel(import.meta.url, Logging.Verbosity.None);
|
|
16
|
+
function SetLogLevel(level) {
|
|
17
|
+
console.setLogLevel(import.meta.url, level);
|
|
18
|
+
}
|
|
19
|
+
ReplicableRegistry.SetLogLevel = SetLogLevel;
|
|
14
20
|
//Keep a list of all the repliable types that have been registered,
|
|
15
21
|
// as they finish load mark them off the list.
|
|
16
22
|
// When the list is empty or the list hasn't changed for a period of time.
|
|
@@ -31,15 +37,15 @@ export var ReplicableRegistry;
|
|
|
31
37
|
if (pendingTypes.length > 0) {
|
|
32
38
|
let typeNames = new Set(pendingTypes.map((type) => typeof type === "string" ? type.replace("Definition", "") :
|
|
33
39
|
typeof type === "function" ? type.name : "" + type));
|
|
34
|
-
console.
|
|
35
|
-
// console.
|
|
40
|
+
console.warnFormatted(import.meta.url, "Types that failed to load because their dependancies didn't load: ", [...typeNames].join(", "));
|
|
41
|
+
// console.logFormatted(import.meta.url, "Replacing all types that didn't load with unknown.");
|
|
36
42
|
// let unknown = __getReplicableFor("unknown")!;
|
|
37
43
|
// for (let type of pendingTypes) {
|
|
38
44
|
// typeMap.set(type, unknown);
|
|
39
45
|
// typeFinishedLoad.resolve(type, unknown);
|
|
40
46
|
// }
|
|
41
47
|
}
|
|
42
|
-
console.
|
|
48
|
+
console.infoFormatted(import.meta.url, "Replicable Types load complete.");
|
|
43
49
|
loadComplete.complete();
|
|
44
50
|
}
|
|
45
51
|
function ResetLoadTimeout() {
|
|
@@ -77,7 +83,7 @@ export var ReplicableRegistry;
|
|
|
77
83
|
}
|
|
78
84
|
ReplicableRegistry.ResetForTests = ResetForTests;
|
|
79
85
|
function OnTypeLoaded(type, originalClass) {
|
|
80
|
-
console.
|
|
86
|
+
console.infoFormatted(import.meta.url, `${Date.now()}: Finished loading ${type.opts.typescriptTypeName}`);
|
|
81
87
|
//Support for @DelayUntil classes.
|
|
82
88
|
if (!TypeMap.includes(originalClass, type)) {
|
|
83
89
|
TypeMap.push(originalClass, type);
|
|
@@ -155,14 +161,14 @@ export var ReplicableRegistry;
|
|
|
155
161
|
ReplicableRegistry.ReplaceClass = ReplaceClass;
|
|
156
162
|
async function MarkLoadStarted(markerName) {
|
|
157
163
|
externalLoadingMarkers.push(markerName);
|
|
158
|
-
console.
|
|
164
|
+
console.debugFormatted(import.meta.url, "Started loading", markerName);
|
|
159
165
|
}
|
|
160
166
|
ReplicableRegistry.MarkLoadStarted = MarkLoadStarted;
|
|
161
167
|
async function MarkLoadComplete(markerName) {
|
|
162
168
|
if (!externalLoadingMarkers.includes(markerName)) {
|
|
163
169
|
throw new Error("Can't mark loading as complete for marker that hasn't started.");
|
|
164
170
|
}
|
|
165
|
-
console.
|
|
171
|
+
console.debugFormatted(import.meta.url, "Completed loading", markerName);
|
|
166
172
|
externalLoadingMarkers.splice(externalLoadingMarkers.indexOf(markerName));
|
|
167
173
|
if (externalLoadingMarkers.length == 0) {
|
|
168
174
|
ResetLoadTimeout();
|
|
@@ -172,7 +178,7 @@ export var ReplicableRegistry;
|
|
|
172
178
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
173
179
|
function __GetReplicablesFor(type) {
|
|
174
180
|
if (!TypeMap.has(type)) {
|
|
175
|
-
console.
|
|
181
|
+
console.warnFormatted(import.meta.url, `Unable to find type ${describeObject(type)} in type map, is it missing a @Type or @Struct decorator?`);
|
|
176
182
|
}
|
|
177
183
|
let result = TypeMap.get(type);
|
|
178
184
|
return result;
|
|
@@ -182,7 +188,7 @@ export var ReplicableRegistry;
|
|
|
182
188
|
function __GetReplOrPrimFor(type) {
|
|
183
189
|
let result = isPrimitiveType(type) ? [type] : TypeMap.get(type);
|
|
184
190
|
if (!result) {
|
|
185
|
-
console.
|
|
191
|
+
console.warnFormatted(import.meta.url, `Unable to find type ${describeObject(type)} in type map, is it missing a @Type or @Struct decorator?`);
|
|
186
192
|
}
|
|
187
193
|
return result;
|
|
188
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplicableRegistry.js","sourceRoot":"","sources":["ReplicableRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EAER,yBAAyB,EACzB,WAAW,EACX,UAAU,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,eAAe,EAEf,UAAU,GACV,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ReplicableRegistry.js","sourceRoot":"","sources":["ReplicableRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ CustomReplicableType(Versions.v1_0_0, {
|
|
|
29
29
|
},
|
|
30
30
|
DefinitionType: "Messenger.ReplicatedID",
|
|
31
31
|
DefinitionIncludes: [[["Messenger"], "@bikky/networking"]],
|
|
32
|
-
DataIsType(val) {
|
|
32
|
+
DataIsType(version, val) {
|
|
33
33
|
return Messenger.ReplicatedID.IsUUID(val);
|
|
34
34
|
},
|
|
35
35
|
Reference(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetupNetworking.js","sourceRoot":"","sources":["SetupNetworking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"SetupNetworking.js","sourceRoot":"","sources":["SetupNetworking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,SAAS,CAAC,wBAAwB,CAAC,CAAC,IAAI,EAAC,EAAE;IAC1C,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,0BAA0B,CAAC,CAAC,IAAI,EAAC,EAAE;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,IAAI,aAAa,GAAG,EAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAC,CAAC;AAClD,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE;IACrC,IAAI,EAAE,cAAc;IACpB,MAAM,CAAC,MAAuD;QAC5D,MAAM,CAAC,IAAY,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/C,OAAO,MAAM,CAAC,IAAW,CAAC;IAC3B,CAAC;IACD,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC1D,UAAU,CAAE,OAAiB,EAAE,GAAQ;QACtC,OAAO,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1C,CAAC;IACD,SAAS,CAAC,KAAU;QACnB,OAAO,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IACD,WAAW,CAAC,KAAY;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,SAAS,EAAE,aAAa;CACxB,EAAE;IACF,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,cAAc;CAClC,CAAC,CAAC;AACH,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAC7E,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Versions.js","sourceRoot":"","sources":["Versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,4BAAgB,CAAA;IAChB,yBAAa,CAAA;AACd,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;
|
|
1
|
+
{"version":3,"file":"Versions.js","sourceRoot":"","sources":["Versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,4BAAgB,CAAA;IAChB,yBAAa,CAAA;AACd,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAID,MAAM,uBAAuB,GAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,gBAAgB,GAAG,IAAK,OAAO,CAAS,QAAQ,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE;IACtC,GAAG;QACF,OAAO,uBAAuB,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,UAAU,UAAU,CAAC,GAAG,QAA+B;IAC5D,IAAI,GAAG,GAAa,EAAE,CAAC;IACvB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAI,OAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,EAAE,CAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;gBACnC,GAAG,GAAG,IAAI,CAAC;gBACX,MAAM,GAAG,OAAiB,CAAC;gBAC3B,MAAM;YACP,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,GAAG,GAAG,IAAI,CAAC;gBACX,MAAM,GAAG,OAAiB,CAAC;gBAC3B,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,MAAa,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC5B,IAAI,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;QACrD,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACzB,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,uBAAuB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;SACI,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACvD,CAAC;AACF,CAAC;AAGD,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,MAAc;IACzD,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAID,MAAM,UAAU,eAAe,CAAC,OAAY;IAC3C,OAAO,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO,CAAC,GAAG,uBAAuB,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAClD,IAAI,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,uBAAuB,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,OAAO,gBAAgB,CAAC;AACzB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { CreateASTFromString } from "./Compiler/Parser.js";
|
|
|
2
2
|
import { OrderASTSequentially, OrderedNodeSequencesToTrees } from "./Traverser.js";
|
|
3
3
|
import { EvaluationString } from "./EvaluatorString.js";
|
|
4
4
|
import { ExpressionType, matchExpression } from "./EvaluatorSteps.js";
|
|
5
|
-
import {
|
|
5
|
+
import { ErrorStack } from "@bikky/logging";
|
|
6
6
|
const expressionCache = new Map();
|
|
7
7
|
function CompareConfigs(a, b) {
|
|
8
8
|
if (a.startType === b.startType &&
|
|
@@ -34,15 +34,21 @@ export function CreateExpression(rawText, sourceFile, config) {
|
|
|
34
34
|
let expressions = [];
|
|
35
35
|
let type;
|
|
36
36
|
let i = 0;
|
|
37
|
+
let stack = new ErrorStack({ SourceFile: sourceFile, Version: config.version });
|
|
37
38
|
let prepared_text = rawText
|
|
38
39
|
.replace(matchExpression, (match, index) => {
|
|
39
40
|
let ast = CreateASTFromString(config.version, match.slice(2, -1), sourceFile);
|
|
40
|
-
if (!ast)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
if (!ast) {
|
|
42
|
+
stack.sourceMappedError("EXPCE01", `Failed to parse expression: ${rawText}`, {
|
|
43
|
+
line: 0,
|
|
44
|
+
column: index,
|
|
45
|
+
sourceMap: {
|
|
46
|
+
SourceFile: sourceFile,
|
|
47
|
+
Version: config.version,
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return match;
|
|
51
|
+
}
|
|
46
52
|
sources.push(ast);
|
|
47
53
|
let orderedAST = OrderASTSequentially(ast);
|
|
48
54
|
expressions.push({
|
|
@@ -54,6 +60,9 @@ export function CreateExpression(rawText, sourceFile, config) {
|
|
|
54
60
|
return "@{" + i++ + "}";
|
|
55
61
|
})
|
|
56
62
|
.trim();
|
|
63
|
+
if (stack.hasErrors()) {
|
|
64
|
+
throw new Error(stack.toString("EXPCE02"));
|
|
65
|
+
}
|
|
57
66
|
let finalExpression;
|
|
58
67
|
if (prepared_text === "@{0}") {
|
|
59
68
|
finalExpression = expressions[0].expression;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateEvaluator.js","sourceRoot":"","sources":["CreateEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAA2B,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"CreateEvaluator.js","sourceRoot":"","sources":["CreateEvaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,5 +24,5 @@ interface PreparedCall {
|
|
|
24
24
|
}
|
|
25
25
|
type PreparedAST = (PreparedToken | PreparedOp | PreparedCast | PreparedCall)[];
|
|
26
26
|
export declare function OrderASTSequentially(ast: FileNode): PreparedAST[];
|
|
27
|
-
export declare function OrderedNodeSequencesToTrees(orderedNodes: PreparedAST[], config: Required<ExpressionConfiguration
|
|
27
|
+
export declare function OrderedNodeSequencesToTrees(orderedNodes: PreparedAST[], config: Required<ExpressionConfiguration>, sourceFile: string): EvaluationChain[];
|
|
28
28
|
export {};
|
package/Expressions/Traverser.js
CHANGED
|
@@ -2,27 +2,31 @@ import { describeObject } from "../Constants/SerialisationTypes.js";
|
|
|
2
2
|
import { ExpressionAST } from "./Compiler/BuiltinGrammar.js";
|
|
3
3
|
import { isToken } from "./Compiler/Tokenizer.js";
|
|
4
4
|
import { EvaluationChain } from "./EvaluatorChain.js";
|
|
5
|
-
import { ExpressionSyntaxError } from "../Constants/Errors.js";
|
|
6
5
|
import { ChainType } from "./TypeRegistry/ChainTypes.js";
|
|
7
6
|
import "./TypeRegistry/Primitive.js";
|
|
8
7
|
import { ChainFunction, ChainProperty } from "./TypeRegistry/Accessors.js";
|
|
9
8
|
import { ExpressionScopes, ValidExpressionTypes } from "./TypeRegistry/Registry.js";
|
|
10
9
|
var GetTypeChain = ValidExpressionTypes.GetTypeChain;
|
|
11
10
|
import { Pointer } from "../Transformers/Reference.js";
|
|
11
|
+
import { ErrorStack } from "@bikky/logging";
|
|
12
12
|
export function OrderASTSequentially(ast) {
|
|
13
|
+
let stack = new ErrorStack({
|
|
14
|
+
SourceFile: ast.sourceLocation,
|
|
15
|
+
Version: ast.version
|
|
16
|
+
});
|
|
13
17
|
let order;
|
|
14
|
-
function RearrangeSubexpression(nodes) {
|
|
18
|
+
function RearrangeSubexpression(nodes, stack) {
|
|
15
19
|
let params = [];
|
|
16
20
|
for (let arg of nodes) {
|
|
17
21
|
let oldOrder = order;
|
|
18
22
|
order = [];
|
|
19
|
-
RearrangeNodes(arg);
|
|
23
|
+
RearrangeNodes(arg, stack);
|
|
20
24
|
params.push(order);
|
|
21
25
|
order = oldOrder;
|
|
22
26
|
}
|
|
23
27
|
return params;
|
|
24
28
|
}
|
|
25
|
-
function RearrangeNodes(node) {
|
|
29
|
+
function RearrangeNodes(node, stack) {
|
|
26
30
|
if (isToken(node)) {
|
|
27
31
|
order.push({ type: "Token", node });
|
|
28
32
|
return;
|
|
@@ -39,13 +43,13 @@ export function OrderASTSequentially(ast) {
|
|
|
39
43
|
if (ExpressionAST.IsStatementNode(node) || ExpressionAST.IsExpressionNode(node)) {
|
|
40
44
|
//Do we care? probably not.
|
|
41
45
|
// if (isToken(node.values.expression)) return;
|
|
42
|
-
RearrangeNodes(node.values.expression);
|
|
46
|
+
RearrangeNodes(node.values.expression, stack);
|
|
43
47
|
return;
|
|
44
48
|
}
|
|
45
49
|
if (ExpressionAST.IsArrayAccessSequenceNode(node)) {
|
|
46
|
-
RearrangeNodes(node.values.identifier);
|
|
50
|
+
RearrangeNodes(node.values.identifier, stack);
|
|
47
51
|
for (let access of node.values.accessor) {
|
|
48
|
-
RearrangeNodes(access.values.index);
|
|
52
|
+
RearrangeNodes(access.values.index, stack);
|
|
49
53
|
}
|
|
50
54
|
return;
|
|
51
55
|
}
|
|
@@ -53,11 +57,11 @@ export function OrderASTSequentially(ast) {
|
|
|
53
57
|
if (ExpressionAST.IsParenthetisedExpressionNode(node))
|
|
54
58
|
return;
|
|
55
59
|
if (ExpressionAST.IsBinaryExpressionNode(node)) {
|
|
56
|
-
RearrangeNodes(node.values.lhs);
|
|
60
|
+
RearrangeNodes(node.values.lhs, stack);
|
|
57
61
|
order.push({
|
|
58
62
|
type: "Op",
|
|
59
63
|
node: node.values.operator,
|
|
60
|
-
params: RearrangeSubexpression([node.values.rhs])
|
|
64
|
+
params: RearrangeSubexpression([node.values.rhs], stack)
|
|
61
65
|
});
|
|
62
66
|
return;
|
|
63
67
|
}
|
|
@@ -65,7 +69,7 @@ export function OrderASTSequentially(ast) {
|
|
|
65
69
|
order.push({
|
|
66
70
|
type: "Op",
|
|
67
71
|
node: node.values.operator,
|
|
68
|
-
params: RearrangeSubexpression([node.values.value])
|
|
72
|
+
params: RearrangeSubexpression([node.values.value], stack)
|
|
69
73
|
});
|
|
70
74
|
return;
|
|
71
75
|
}
|
|
@@ -82,22 +86,27 @@ export function OrderASTSequentially(ast) {
|
|
|
82
86
|
if (ExpressionAST.IsFunctionCallNode(node)) {
|
|
83
87
|
let temp = order;
|
|
84
88
|
order = [];
|
|
85
|
-
RearrangeNodes(node.values.name);
|
|
89
|
+
RearrangeNodes(node.values.name, stack);
|
|
86
90
|
let function_name = order;
|
|
87
91
|
order = temp;
|
|
88
92
|
let last = function_name.pop();
|
|
89
93
|
if (!isToken(last.node)) {
|
|
90
|
-
|
|
94
|
+
stack.sourceMappedError("EXPTOAS01", `Function call should always be preceeded by an identifier.`, {
|
|
95
|
+
line: last.node.line,
|
|
96
|
+
column: last.node.column,
|
|
97
|
+
sourceMap: stack.source
|
|
98
|
+
});
|
|
99
|
+
throw new Error(stack.toString("EXPTOAS02"));
|
|
91
100
|
}
|
|
92
101
|
order.splice(order.length, 0, ...function_name, {
|
|
93
102
|
type: "Call",
|
|
94
103
|
node: last.node,
|
|
95
|
-
params: RearrangeSubexpression(node.values.arguments ?? [])
|
|
104
|
+
params: RearrangeSubexpression(node.values.arguments ?? [], stack)
|
|
96
105
|
});
|
|
97
106
|
return;
|
|
98
107
|
}
|
|
99
108
|
if (ExpressionAST.IsCastNode(node) || ExpressionAST.IsForceCastNode(node)) {
|
|
100
|
-
RearrangeNodes(node.values.expression);
|
|
109
|
+
RearrangeNodes(node.values.expression, stack);
|
|
101
110
|
order.push({
|
|
102
111
|
type: ExpressionAST.IsForceCastNode(node) ? "ForceCast" : "Cast",
|
|
103
112
|
node: node.values.castType
|
|
@@ -105,14 +114,14 @@ export function OrderASTSequentially(ast) {
|
|
|
105
114
|
return;
|
|
106
115
|
}
|
|
107
116
|
if (ExpressionAST.IsMemberAccessNode(node)) {
|
|
108
|
-
RearrangeNodes(node.values.context);
|
|
109
|
-
RearrangeNodes(node.values.memberName);
|
|
117
|
+
RearrangeNodes(node.values.context, stack);
|
|
118
|
+
RearrangeNodes(node.values.memberName, stack);
|
|
110
119
|
}
|
|
111
120
|
}
|
|
112
121
|
let orderedNodes = [];
|
|
113
122
|
for (let statement of ast.values.lines) {
|
|
114
123
|
order = [];
|
|
115
|
-
RearrangeNodes(statement);
|
|
124
|
+
RearrangeNodes(statement, stack);
|
|
116
125
|
orderedNodes.push(order);
|
|
117
126
|
}
|
|
118
127
|
return orderedNodes;
|
|
@@ -144,7 +153,11 @@ function TypesMatchRequirements(version, typesToCheck, requirements) {
|
|
|
144
153
|
}
|
|
145
154
|
return misMatches;
|
|
146
155
|
}
|
|
147
|
-
function OrderNodesToTree(statement, config) {
|
|
156
|
+
function OrderNodesToTree(statement, config, sourceFile) {
|
|
157
|
+
let stack = new ErrorStack({
|
|
158
|
+
SourceFile: sourceFile,
|
|
159
|
+
Version: config.version
|
|
160
|
+
});
|
|
148
161
|
let startType = config.startType;
|
|
149
162
|
let [globalChain, scopeChain] = ExpressionScopes.GetScopeChain(startType);
|
|
150
163
|
if (!scopeChain) {
|
|
@@ -203,7 +216,12 @@ function OrderNodesToTree(statement, config) {
|
|
|
203
216
|
if (!(type instanceof ChainType)) {
|
|
204
217
|
type = GetTypeChain(type);
|
|
205
218
|
if (!type) {
|
|
206
|
-
|
|
219
|
+
stack.sourceMappedError("EXPTONTT01", `Error, unknown type ${describeObject(type)}.`, {
|
|
220
|
+
line: statement[0].node.line,
|
|
221
|
+
column: statement[0].node.column,
|
|
222
|
+
sourceMap: stack.source
|
|
223
|
+
});
|
|
224
|
+
throw new Error(stack.toString("EXPTONTT02"));
|
|
207
225
|
}
|
|
208
226
|
}
|
|
209
227
|
let [prep, ...rest] = statement;
|
|
@@ -212,14 +230,19 @@ function OrderNodesToTree(statement, config) {
|
|
|
212
230
|
//Step 1: Lookup the property on the current type.
|
|
213
231
|
let accessor;
|
|
214
232
|
if (config.duringLoad) {
|
|
215
|
-
accessor = type.getData(config.version, prep.node.data, prep.node, isBase ? [scopeChain, globalChain] : []);
|
|
233
|
+
accessor = type.getData(config.version, prep.node.data, prep.node, isBase ? [scopeChain, globalChain] : [], stack);
|
|
216
234
|
}
|
|
217
235
|
else {
|
|
218
|
-
accessor = type.getLive(config.version, prep.node.data, prep.node, isBase ? [scopeChain, globalChain] : []);
|
|
236
|
+
accessor = type.getLive(config.version, prep.node.data, prep.node, isBase ? [scopeChain, globalChain] : [], stack);
|
|
219
237
|
}
|
|
220
238
|
if (accessor instanceof ChainFunction && accessor.parameters.length > 0) {
|
|
221
|
-
|
|
222
|
-
+ ` but ${prep.node.data} is a function on type ${type.debugName}.`,
|
|
239
|
+
stack.sourceMappedError("EXPTONTT03", `Error, tried to access property ${prep.node.data}`
|
|
240
|
+
+ ` but ${prep.node.data} is a function on type ${type.debugName}.`, {
|
|
241
|
+
line: prep.node.line,
|
|
242
|
+
column: prep.node.column,
|
|
243
|
+
sourceMap: stack.source
|
|
244
|
+
});
|
|
245
|
+
throw new Error(stack.toString("EXPTONTT04"));
|
|
223
246
|
}
|
|
224
247
|
let step = {
|
|
225
248
|
node: type,
|
|
@@ -240,25 +263,46 @@ function OrderNodesToTree(statement, config) {
|
|
|
240
263
|
}
|
|
241
264
|
case "Call": {
|
|
242
265
|
if (config.duringLoad) {
|
|
243
|
-
|
|
266
|
+
stack.sourceMappedError("EXPTONTT05", `Error, cannot call functions during load time.`, {
|
|
267
|
+
line: prep.node.line,
|
|
268
|
+
column: prep.node.column,
|
|
269
|
+
sourceMap: stack.source
|
|
270
|
+
});
|
|
271
|
+
throw new Error(stack.toString("EXPTONTT06"));
|
|
244
272
|
}
|
|
245
273
|
else {
|
|
246
274
|
//Get function.
|
|
247
|
-
let accessor = type.getLive(config.version, prep.node.data, prep.node, isBase ? [scopeChain, globalChain] : []);
|
|
275
|
+
let accessor = type.getLive(config.version, prep.node.data, prep.node, isBase ? [scopeChain, globalChain] : [], stack);
|
|
248
276
|
if (!(accessor instanceof ChainFunction)) {
|
|
249
|
-
|
|
277
|
+
stack.sourceMappedError("EXPTONTT07", `Error, ${prep.node.data} is not a function.`, {
|
|
278
|
+
line: prep.node.line,
|
|
279
|
+
column: prep.node.column,
|
|
280
|
+
sourceMap: stack.source
|
|
281
|
+
});
|
|
282
|
+
throw new Error(stack.toString("EXPTONTT08"));
|
|
250
283
|
}
|
|
251
284
|
//Get parameters.
|
|
252
|
-
let params = prep.params.map((e) => OrderNodesToTree(e, config));
|
|
285
|
+
let params = prep.params.map((e) => OrderNodesToTree(e, config, sourceFile));
|
|
253
286
|
//Verify parameters.
|
|
254
287
|
if (params.length < accessor.parameters.length) {
|
|
255
|
-
|
|
256
|
-
+ ` instead got ${params.length} arguments.`,
|
|
288
|
+
stack.sourceMappedError("EXPTONTT09", `Error, expected ${accessor.parameters.length} arguments,`
|
|
289
|
+
+ ` instead got ${params.length} arguments.`, {
|
|
290
|
+
line: prep.node.line,
|
|
291
|
+
column: prep.node.column,
|
|
292
|
+
sourceMap: stack.source
|
|
293
|
+
});
|
|
294
|
+
throw new Error(stack.toString("EXPTONTT10"));
|
|
257
295
|
}
|
|
258
296
|
for (let i = 0; i < accessor.parameters.length; i++) {
|
|
259
297
|
if (!TypesMatchRequirements(config.version, params[i].outputTypes, accessor.parameters[i])) {
|
|
260
|
-
|
|
261
|
-
+ `
|
|
298
|
+
stack.sourceMappedError("EXPTONTT11", `Error, the ${i + 1}-nth parameter is of type`
|
|
299
|
+
+ ` ${params[i].outputTypes.map((e) => describeObject(e)).join(", ")}`
|
|
300
|
+
+ ` but should be ${accessor.parameters[i].map((e) => describeObject(e)).join(", ")}.`, {
|
|
301
|
+
line: prep.node.line,
|
|
302
|
+
column: prep.node.column,
|
|
303
|
+
sourceMap: stack.source
|
|
304
|
+
});
|
|
305
|
+
throw new Error(stack.toString("EXPTONTT12"));
|
|
262
306
|
}
|
|
263
307
|
}
|
|
264
308
|
let step = {
|
|
@@ -282,7 +326,12 @@ function OrderNodesToTree(statement, config) {
|
|
|
282
326
|
break;
|
|
283
327
|
}
|
|
284
328
|
case "Op": {
|
|
285
|
-
|
|
329
|
+
stack.sourceMappedError("EXPTONTT13", `Error, cannot use operators during load time.`, {
|
|
330
|
+
line: prep.node.line,
|
|
331
|
+
column: prep.node.column,
|
|
332
|
+
sourceMap: stack.source
|
|
333
|
+
});
|
|
334
|
+
throw new Error(stack.toString("EXPTONTT14"));
|
|
286
335
|
}
|
|
287
336
|
case "Cast":
|
|
288
337
|
case "ForceCast": {
|
|
@@ -295,7 +344,12 @@ function OrderNodesToTree(statement, config) {
|
|
|
295
344
|
for (let type of possibleTypes) {
|
|
296
345
|
let chain = ToChainType(type);
|
|
297
346
|
if (!chain) {
|
|
298
|
-
|
|
347
|
+
stack.sourceMappedError("EXPTONTT15", `Error, unknown type ${describeObject(type)}.`, {
|
|
348
|
+
line: prep.node.line,
|
|
349
|
+
column: prep.node.column,
|
|
350
|
+
sourceMap: stack.source
|
|
351
|
+
});
|
|
352
|
+
throw new Error(stack.toString("EXPTONTT16"));
|
|
299
353
|
}
|
|
300
354
|
if (newType.isCastableCompile(config.version, chain)) {
|
|
301
355
|
oneValidType = true;
|
|
@@ -303,7 +357,12 @@ function OrderNodesToTree(statement, config) {
|
|
|
303
357
|
}
|
|
304
358
|
}
|
|
305
359
|
if (!oneValidType) {
|
|
306
|
-
|
|
360
|
+
stack.sourceMappedError("EXPTONTT17", `Error, cannot cast from ${lastStep.node.debugName} to ${newType.debugName}.`, {
|
|
361
|
+
line: prep.node.line,
|
|
362
|
+
column: prep.node.column,
|
|
363
|
+
sourceMap: stack.source
|
|
364
|
+
});
|
|
365
|
+
throw new Error(stack.toString("EXPTONTT18"));
|
|
307
366
|
}
|
|
308
367
|
}
|
|
309
368
|
let step = {
|
|
@@ -338,10 +397,10 @@ function OrderNodesToTree(statement, config) {
|
|
|
338
397
|
let resultTypes = Array.from(finalTypes);
|
|
339
398
|
return new EvaluationChain(fakeStep.next[0], resultTypes, isDataOnlyTime, config);
|
|
340
399
|
}
|
|
341
|
-
export function OrderedNodeSequencesToTrees(orderedNodes, config) {
|
|
400
|
+
export function OrderedNodeSequencesToTrees(orderedNodes, config, sourceFile) {
|
|
342
401
|
let allExpressions = [];
|
|
343
402
|
for (let statement of orderedNodes) {
|
|
344
|
-
allExpressions.push(OrderNodesToTree(statement, config));
|
|
403
|
+
allExpressions.push(OrderNodesToTree(statement, config, sourceFile));
|
|
345
404
|
}
|
|
346
405
|
return allExpressions;
|
|
347
406
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Traverser.js","sourceRoot":"","sources":["Traverser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Traverser.js","sourceRoot":"","sources":["Traverser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,6BAA6B,CAAC;AAGrC,OAAO,EAAiB,aAAa,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACpF,IAAO,YAAY,GAAG,oBAAoB,CAAC,YAAY,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA0B5C,MAAM,UAAU,oBAAoB,CAAC,GAAa;IACjD,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC;QAC1B,UAAU,EAAE,GAAG,CAAC,cAAc;QAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;KACpB,CAAC,CAAC;IACH,IAAI,KAAkB,CAAC;IAEvB,SAAS,sBAAsB,CAAC,KAA4C,EAAE,KAAiB;QAC9F,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,KAAK,GAAG,EAAE,CAAC;YACX,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,GAAG,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,SAAS,cAAc,CAAC,IAAsD,EAAE,KAAiB;QAChG,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,OAAO;QACR,CAAC;QACD,2BAA2B;QAC3B,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO;QAC3C,IAAI,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAAE,OAAO;QAClD,IAAI,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9C,IAAI,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC;YAAE,OAAO;QAC1D,IAAI,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjF,2BAA2B;YAC3B,+CAA+C;YAC/C,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO;QACR,CAAC;QACD,IAAI,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACzC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO;QACR,CAAC;QACD,qDAAqD;QACrD,IAAI,aAAa,CAAC,6BAA6B,CAAC,IAAI,CAAC;YAAE,OAAO;QAE9D,IAAI,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC1B,MAAM,EAAE,sBAAsB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAkB;aACzE,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,IAAI,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC1B,MAAM,EAAE,sBAAsB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAkB;aAC3E,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,IAAI,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,OAAO;QACjD,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,OAAO;QAC7C,IAAI,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAAE,OAAO;QACxD,IAAI,aAAa,CAAC,2BAA2B,CAAC,IAAI,CAAC;YAAE,OAAO;QAC5D,IAAI,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAAE,OAAO;QACzG,IAAI,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,KAAK,GAAG,EAAE,CAAC;YACX,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,IAAI,GAAG,aAAa,CAAC,GAAG,EAAG,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE,4DAA4D,EAAE;oBAClG,IAAI,EAAG,IAAI,CAAC,IAAmB,CAAC,IAAI;oBACpC,MAAM,EAAG,IAAI,CAAC,IAAmB,CAAC,MAAM;oBACxC,SAAS,EAAE,KAAK,CAAC,MAAM;iBACvB,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE;gBAC/C,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,CAAC;aAClE,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3E,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA,CAAC,CAAC,MAAM;gBAC/D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,IAAI,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;IAED,IAAI,YAAY,GAAkB,EAAE,CAAC;IACrC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxC,KAAK,GAAG,EAAE,CAAC;QACX,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,SAAS,WAAW,CAAC,IAAS;IAC7B,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC;AACjD,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA0B,EAAE,YAAmB,EAAE,YAAyB;IACzG,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,mBAAmB;IACnB,aAAa,EAAE,KAAK,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,cAAc,CAAC,SAAS,CAAC,KAAK,cAAc,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAC;QACrJ,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;QACjD,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;YACtC,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;gBAC/B,SAAS,aAAa,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAmB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvF,SAAS,aAAa,CAAC;YACxB,CAAC;QACF,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAsB,EAAE,MAAyC,EAAE,UAAkB;IAC9G,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC;QAC1B,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,MAAM,CAAC,OAAO;KACvB,CAAC,CAAC;IACH,IAAI,SAAS,GAAW,MAAM,CAAC,SAAS,CAAC;IACzC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6CAA6C;cACvD,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;IAC7H,CAAC;IACD,IAAI,WAAW,GAAgB,CAAC,UAAW,CAAC,CAAC;IAC7C,IAAI,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,iCAAiC,cAAc,CAAC,SAAS,CAAC,GAAG;cACvE,IAAI,cAAc,CAAC,SAAS,CAAC,gDAAgD;cAC7E,iCAAiC,cAAc,CAAC,SAAS,CAAC,qBAAqB;cAC/E,sCAAsC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,iBAAiB,GAAgB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACjE,IAAI,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,kBAAkB;kBAC7F,8BAA8B,cAAc,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,GAAG,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,GAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC,GAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;YAC7B,GAAG,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC,GAAI,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;YAC7B,GAAG,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,GAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,IAAI,cAAc,GAAY,MAAM,CAAC,UAAU,CAAC;IAChD,mBAAmB;IACnB,oBAAoB;IACpB,kCAAkC;IAClC,mBAAmB;IACnB,iBAAiB;IAEjB,IAAI,UAAU,GAAG,IAAI,GAAG,EAAa,CAAC;IAEtC,SAAS,YAAY,CAAC,QAAmB,EAAE,KAAkB;QAC5D,uBAAuB;QACvB,IAAI,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACnF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YAC/G,IAAI,eAAe,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YACtI,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,QAAQ,eAAe,QAAQ;kBACtF,iCAAiC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjG,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,YAAY,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACpF,IAAI,QAAQ,CAAC,UAAU,YAAY,aAAa,EAAE,CAAC;YAClD,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC7C,CAAC;IACF,CAAC;IAED,SAAS,iBAAiB,CAAC,QAA6B,EAAE,IAAe,EAAE,SAAsB,EAAE,MAAM,GAAG,KAAK;QAChH,IAAI,CAAC,CAAC,IAAI,YAAY,SAAS,CAAC,EAAE,CAAC;YAClC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,uBAAuB,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;oBACrF,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;oBAC5B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;oBAChC,SAAS,EAAE,KAAK,CAAC,MAAM;iBACvB,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;QAChC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACd,kDAAkD;gBAClD,IAAI,QAAuB,CAAC;gBAC5B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACvB,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjI,CAAC;qBACI,CAAC;oBACL,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjI,CAAC;gBACD,IAAI,QAAQ,YAAY,aAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzE,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,mCAAmC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;0BACtE,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,IAAI,CAAC,SAAS,GAAG,EAAE;wBACrF,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;wBACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;wBACxB,SAAS,EAAE,KAAK,CAAC,MAAM;qBACvB,CAAC,CAAC;oBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,IAAI,GAAc;oBACrB,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,QAAQ;oBACpB,IAAI,EAAE,QAAQ,CAAC,QAAQ;iBACvB,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBACf,KAAK,IAAI,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;wBACxC,iBAAiB,CAAC,IAA2B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC7D,CAAC;gBACF,CAAC;qBACI,CAAC;oBACL,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACb,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACvB,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,gDAAgD,EAAE;wBACvF,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;wBACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;wBACxB,SAAS,EAAE,KAAK,CAAC,MAAM;qBACvB,CAAC,CAAC;oBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/C,CAAC;qBACI,CAAC;oBACL,eAAe;oBACf,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAkC,CAAC;oBACrK,IAAI,CAAC,CAAC,QAAQ,YAAY,aAAa,CAAC,EAAE,CAAC;wBAC1C,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE;4BACpF,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;4BACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;4BACxB,SAAS,EAAE,KAAK,CAAC,MAAM;yBACvB,CAAC,CAAC;wBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC/C,CAAC;oBACD,iBAAiB;oBACjB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;oBAC7E,oBAAoB;oBACpB,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;wBAChD,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,mBAAmB,QAAQ,CAAC,UAAU,CAAC,MAAM,aAAa;8BAC1E,gBAAgB,MAAM,CAAC,MAAM,aAAa,EAAE;4BACjE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;4BACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;4BACxB,SAAS,EAAE,KAAK,CAAC,MAAM;yBACvB,CAAC,CAAC;wBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC/C,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC5F,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,2BAA2B;kCACvD,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;kCACpE,kBAAkB,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gCACjH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gCACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;gCACxB,SAAS,EAAE,KAAK,CAAC,MAAM;6BACvB,CAAC,CAAC;4BACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;wBAC/C,CAAC;oBACF,CAAC;oBACD,IAAI,IAAI,GAAc;wBACrB,IAAI,EAAE,IAAI;wBACV,UAAU,EAAE,QAAQ;wBACpB,IAAI,EAAE,CAAC,KAAqB,EAAE,EAAE;4BAC/B,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrE,CAAC;qBACD,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;wBACf,KAAK,IAAI,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;4BACxC,iBAAiB,CAAC,IAA2B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBAC7D,CAAC;oBACF,CAAC;yBACI,CAAC;wBACL,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAC1C,CAAC;gBACF,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACX,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,+CAA+C,EAAE;oBACtF,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;oBACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;oBACxB,SAAS,EAAE,KAAK,CAAC,MAAM;iBACvB,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,MAAM,CAAC;YAAC,KAAK,WAAW,CAAC,CAAC,CAAC;gBAC/B,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;gBAC5C,IAAI,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;gBACpD,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,kGAAkG;gBAClG,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;oBACzB,qCAAqC;oBACrC,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;wBAChC,IAAI,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;4BACZ,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,uBAAuB,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;gCACrF,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gCACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;gCACxB,SAAS,EAAE,KAAK,CAAC,MAAM;6BACvB,CAAC,CAAC;4BACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;wBAC/C,CAAC;wBACD,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;4BAClE,YAAY,GAAG,IAAI,CAAC;4BACpB,MAAM;wBACP,CAAC;oBACF,CAAC;oBACD,IAAI,CAAC,YAAY,EAAE,CAAC;wBACnB,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,2BAA2B,QAAQ,CAAC,IAAI,CAAC,SAAS,OAAO,OAAO,CAAC,SAAS,GAAG,EAAE;4BACpH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;4BACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;4BACxB,SAAS,EAAE,KAAK,CAAC,MAAM;yBACvB,CAAC,CAAC;wBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC/C,CAAC;gBACF,CAAC;gBACD,IAAI,IAAI,GAAc;oBACrB,IAAI,EAAE,OAAO;oBACb,wDAAwD;oBACxD,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,IAAI,EAAE,CAAC,KAAqB,EAAE,EAAE;wBAC/B,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC/E,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,OAAmB,EAAE,MAAM,CAAC,EAAE,CAAC;4BACjE,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;wBAC/F,CAAC;wBACD,OAAO,KAAK,CAAC,IAAI,CAAC;oBACnB,CAAC;iBACD,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBACf,iBAAiB,CAAC,IAA2B,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC/D,CAAC;qBACI,CAAC;oBACL,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/B,CAAC;gBACD,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,QAAQ,GAAG;QACd,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,EAAiB;KACvB,CAAC;IACF,iBAAiB,CAAC,QAAsC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAEvF,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,YAA2B,EAAE,MAAyC,EAAE,UAAkB;IACrI,IAAI,cAAc,GAAsB,EAAE,CAAC;IAC3C,KAAK,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;QACpC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,cAAc,CAAC;AACvB,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { ChainMap, ChainProperty } from "./Accessors.js";
|
|
|
3
3
|
import { ChainType } from "./ChainTypes.js";
|
|
4
4
|
import { ExpressionGrammar } from "../Compiler/ExpressionGrammar.js";
|
|
5
5
|
import Node = ExpressionGrammar.Node;
|
|
6
|
-
import { ErrorStack } from "
|
|
6
|
+
import { ErrorStack } from "@bikky/logging";
|
|
7
7
|
export declare class DictType extends ChainType {
|
|
8
8
|
types: ChainType[];
|
|
9
9
|
constructor(name: string, types: ChainType[]);
|