@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
|
@@ -1794,11 +1794,24 @@ class TypeExtractor {
|
|
|
1794
1794
|
const stateType = stateFilePath ? this.extractStateType(stateFilePath) : this.findStateType();
|
|
1795
1795
|
const messageTypes = this.findMessageTypes();
|
|
1796
1796
|
const fields = stateType ? this.analyzeFields(stateType) : [];
|
|
1797
|
+
const handlerAnalysis = this.extractHandlerAnalysis();
|
|
1798
|
+
const validMessageTypes = this.filterAndLogMessageTypes(messageTypes, handlerAnalysis.messageTypes);
|
|
1799
|
+
const validHandlers = this.filterAndLogHandlers(handlerAnalysis.handlers);
|
|
1800
|
+
return {
|
|
1801
|
+
stateType,
|
|
1802
|
+
messageTypes: validMessageTypes,
|
|
1803
|
+
fields,
|
|
1804
|
+
handlers: validHandlers
|
|
1805
|
+
};
|
|
1806
|
+
}
|
|
1807
|
+
extractHandlerAnalysis() {
|
|
1797
1808
|
const configFilePath = this.project.getCompilerOptions()["configFilePath"];
|
|
1798
1809
|
const tsConfigPath = typeof configFilePath === "string" ? configFilePath : "tsconfig.json";
|
|
1799
1810
|
const handlerExtractor = new HandlerExtractor(tsConfigPath);
|
|
1800
|
-
|
|
1801
|
-
|
|
1811
|
+
return handlerExtractor.extractHandlers();
|
|
1812
|
+
}
|
|
1813
|
+
filterAndLogMessageTypes(messageTypes, handlerMessageTypes) {
|
|
1814
|
+
const allMessageTypes = Array.from(new Set([...messageTypes, ...handlerMessageTypes]));
|
|
1802
1815
|
const validMessageTypes = [];
|
|
1803
1816
|
const invalidMessageTypes = [];
|
|
1804
1817
|
for (const msgType of allMessageTypes) {
|
|
@@ -1808,18 +1821,32 @@ class TypeExtractor {
|
|
|
1808
1821
|
invalidMessageTypes.push(msgType);
|
|
1809
1822
|
}
|
|
1810
1823
|
}
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1824
|
+
this.logInvalidMessageTypes(invalidMessageTypes);
|
|
1825
|
+
return validMessageTypes;
|
|
1826
|
+
}
|
|
1827
|
+
logInvalidMessageTypes(invalidMessageTypes) {
|
|
1828
|
+
if (invalidMessageTypes.length === 0 || !process.env["POLLY_DEBUG"])
|
|
1829
|
+
return;
|
|
1830
|
+
console.log(`[WARN] Filtered out ${invalidMessageTypes.length} invalid message type(s):`);
|
|
1831
|
+
for (const invalid of invalidMessageTypes) {
|
|
1832
|
+
console.log(`[WARN] - "${invalid}" (not a valid TLA+ identifier)`);
|
|
1833
|
+
}
|
|
1834
|
+
}
|
|
1835
|
+
filterAndLogHandlers(handlers) {
|
|
1836
|
+
const validHandlers = handlers.filter((h) => this.isValidTLAIdentifier(h.messageType));
|
|
1837
|
+
this.logInvalidHandlers(handlers, validHandlers);
|
|
1838
|
+
return validHandlers;
|
|
1839
|
+
}
|
|
1840
|
+
logInvalidHandlers(allHandlers, validHandlers) {
|
|
1841
|
+
const filteredHandlerCount = allHandlers.length - validHandlers.length;
|
|
1842
|
+
if (filteredHandlerCount === 0 || !process.env["POLLY_DEBUG"])
|
|
1843
|
+
return;
|
|
1844
|
+
console.log(`[WARN] Filtered out ${filteredHandlerCount} handler(s) with invalid message types:`);
|
|
1845
|
+
for (const handler of allHandlers) {
|
|
1846
|
+
if (!this.isValidTLAIdentifier(handler.messageType)) {
|
|
1847
|
+
console.log(`[WARN] - Handler for "${handler.messageType}" at ${handler.location.file}:${handler.location.line}`);
|
|
1815
1848
|
}
|
|
1816
1849
|
}
|
|
1817
|
-
return {
|
|
1818
|
-
stateType,
|
|
1819
|
-
messageTypes: validMessageTypes,
|
|
1820
|
-
fields,
|
|
1821
|
-
handlers: handlerAnalysis.handlers
|
|
1822
|
-
};
|
|
1823
1850
|
}
|
|
1824
1851
|
isValidTLAIdentifier(s) {
|
|
1825
1852
|
if (!s || s.length === 0) {
|
|
@@ -4717,4 +4744,4 @@ Prompt: `);
|
|
|
4717
4744
|
}
|
|
4718
4745
|
main();
|
|
4719
4746
|
|
|
4720
|
-
//# debugId=
|
|
4747
|
+
//# debugId=0F12F69FA7B798A364756E2164756E21
|