@fairfox/polly 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tools/teach/src/cli.js +40 -13
- package/dist/tools/teach/src/cli.js.map +3 -3
- package/dist/tools/teach/src/index.js +40 -13
- package/dist/tools/teach/src/index.js.map +3 -3
- package/dist/tools/verify/src/cli.js +40 -13
- package/dist/tools/verify/src/cli.js.map +3 -3
- package/package.json +1 -1
|
@@ -3715,11 +3715,24 @@ class TypeExtractor {
|
|
|
3715
3715
|
const stateType = stateFilePath ? this.extractStateType(stateFilePath) : this.findStateType();
|
|
3716
3716
|
const messageTypes = this.findMessageTypes();
|
|
3717
3717
|
const fields = stateType ? this.analyzeFields(stateType) : [];
|
|
3718
|
+
const handlerAnalysis = this.extractHandlerAnalysis();
|
|
3719
|
+
const validMessageTypes = this.filterAndLogMessageTypes(messageTypes, handlerAnalysis.messageTypes);
|
|
3720
|
+
const validHandlers = this.filterAndLogHandlers(handlerAnalysis.handlers);
|
|
3721
|
+
return {
|
|
3722
|
+
stateType,
|
|
3723
|
+
messageTypes: validMessageTypes,
|
|
3724
|
+
fields,
|
|
3725
|
+
handlers: validHandlers
|
|
3726
|
+
};
|
|
3727
|
+
}
|
|
3728
|
+
extractHandlerAnalysis() {
|
|
3718
3729
|
const configFilePath = this.project.getCompilerOptions()["configFilePath"];
|
|
3719
3730
|
const tsConfigPath = typeof configFilePath === "string" ? configFilePath : "tsconfig.json";
|
|
3720
3731
|
const handlerExtractor = new HandlerExtractor(tsConfigPath);
|
|
3721
|
-
|
|
3722
|
-
|
|
3732
|
+
return handlerExtractor.extractHandlers();
|
|
3733
|
+
}
|
|
3734
|
+
filterAndLogMessageTypes(messageTypes, handlerMessageTypes) {
|
|
3735
|
+
const allMessageTypes = Array.from(new Set([...messageTypes, ...handlerMessageTypes]));
|
|
3723
3736
|
const validMessageTypes = [];
|
|
3724
3737
|
const invalidMessageTypes = [];
|
|
3725
3738
|
for (const msgType of allMessageTypes) {
|
|
@@ -3729,18 +3742,32 @@ class TypeExtractor {
|
|
|
3729
3742
|
invalidMessageTypes.push(msgType);
|
|
3730
3743
|
}
|
|
3731
3744
|
}
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3745
|
+
this.logInvalidMessageTypes(invalidMessageTypes);
|
|
3746
|
+
return validMessageTypes;
|
|
3747
|
+
}
|
|
3748
|
+
logInvalidMessageTypes(invalidMessageTypes) {
|
|
3749
|
+
if (invalidMessageTypes.length === 0 || !process.env["POLLY_DEBUG"])
|
|
3750
|
+
return;
|
|
3751
|
+
console.log(`[WARN] Filtered out ${invalidMessageTypes.length} invalid message type(s):`);
|
|
3752
|
+
for (const invalid of invalidMessageTypes) {
|
|
3753
|
+
console.log(`[WARN] - "${invalid}" (not a valid TLA+ identifier)`);
|
|
3754
|
+
}
|
|
3755
|
+
}
|
|
3756
|
+
filterAndLogHandlers(handlers) {
|
|
3757
|
+
const validHandlers = handlers.filter((h) => this.isValidTLAIdentifier(h.messageType));
|
|
3758
|
+
this.logInvalidHandlers(handlers, validHandlers);
|
|
3759
|
+
return validHandlers;
|
|
3760
|
+
}
|
|
3761
|
+
logInvalidHandlers(allHandlers, validHandlers) {
|
|
3762
|
+
const filteredHandlerCount = allHandlers.length - validHandlers.length;
|
|
3763
|
+
if (filteredHandlerCount === 0 || !process.env["POLLY_DEBUG"])
|
|
3764
|
+
return;
|
|
3765
|
+
console.log(`[WARN] Filtered out ${filteredHandlerCount} handler(s) with invalid message types:`);
|
|
3766
|
+
for (const handler of allHandlers) {
|
|
3767
|
+
if (!this.isValidTLAIdentifier(handler.messageType)) {
|
|
3768
|
+
console.log(`[WARN] - Handler for "${handler.messageType}" at ${handler.location.file}:${handler.location.line}`);
|
|
3736
3769
|
}
|
|
3737
3770
|
}
|
|
3738
|
-
return {
|
|
3739
|
-
stateType,
|
|
3740
|
-
messageTypes: validMessageTypes,
|
|
3741
|
-
fields,
|
|
3742
|
-
handlers: handlerAnalysis.handlers
|
|
3743
|
-
};
|
|
3744
3771
|
}
|
|
3745
3772
|
isValidTLAIdentifier(s) {
|
|
3746
3773
|
if (!s || s.length === 0) {
|
|
@@ -4499,4 +4526,4 @@ main().catch((error) => {
|
|
|
4499
4526
|
process.exit(1);
|
|
4500
4527
|
});
|
|
4501
4528
|
|
|
4502
|
-
//# debugId=
|
|
4529
|
+
//# debugId=3B4BC06E615961E764756E2164756E21
|