@forge/lint
5.14.1-next.75.15.0-next.8
out/lint/linters/endpoint-linter/invoke-endpoint-linter.jsout/lint/linters/endpoint-linter/invoke-endpoint-linter.js+39
Index: package/out/lint/linters/endpoint-linter/invoke-endpoint-linter.js
===================================================================
--- package/out/lint/linters/endpoint-linter/invoke-endpoint-linter.js
+++ package/out/lint/linters/endpoint-linter/invoke-endpoint-linter.js
@@ -0,0 +1,39 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.InvokeEndpointLinter = void 0;
+const tslib_1 = require("tslib");
+const base_linter_1 = tslib_1.__importDefault(require("../../base-linter"));
+const invoke_endpoint_interface_1 = require("./invoke-endpoint-interface");
+const invoke_endpoint_verifier_1 = require("./verifiers/invoke-endpoint-verifier");
+const invoke_endpoint_call_visitor_1 = require("./visitors/invoke-endpoint-call-visitor");
+class InvokeEndpointLinter extends base_linter_1.default {
+ manifest;
+ constructor(environment, manifest, logger) {
+ super(environment, logger);
+ this.manifest = manifest;
+ }
+ async bootstrap() {
+ this.nodeVisitors = [new invoke_endpoint_call_visitor_1.InvokeEndpointCallVisitor()];
+ this.verifiers = {
+ invokeEndpoint: new invoke_endpoint_verifier_1.InvokeEndpointVerifier(this.environment, this.manifest)
+ };
+ }
+ addLintCriteriaMatch(usage, filepath) {
+ const criteriaMatches = this.matches.get(filepath);
+ if (usage.type === invoke_endpoint_interface_1.InvokeEndpointTypes.DIRECT_CALL || usage.type === invoke_endpoint_interface_1.InvokeEndpointTypes.MEMBER_CALL) {
+ criteriaMatches.invokeEndpoint.invokeEndpointCalls.push(usage);
+ }
+ else if (usage.type === invoke_endpoint_interface_1.InvokeEndpointTypes.IMPORT_LIST) {
+ criteriaMatches.invokeEndpoint.imports.push(...usage.imports);
+ }
+ }
+ setupMatchesMap(filePath) {
+ this.matches.set(filePath, {
+ invokeEndpoint: {
+ invokeEndpointCalls: [],
+ imports: []
+ }
+ });
+ }
+}
+exports.InvokeEndpointLinter = InvokeEndpointLinter;