UNPKG

github-users-parser

Version:
39 lines (38 loc) 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultVisitor = void 0; const tree_1 = require("antlr4ts/tree"); class DefaultVisitor extends tree_1.AbstractParseTreeVisitor { constructor(emailAddresses) { super(); this.emailAddresses = new Set(emailAddresses); this.owners = new Set(); this.lookup = new Map(); console.log(`emailAddresses: ${emailAddresses}`); } defaultResult() { } visitFile(ctx) { super.visitChildren(ctx); } hasEmailAddressCaseInsensitive(email) { for (const emailAddress of this.emailAddresses) { if (emailAddress.toLowerCase() === email.toLowerCase()) { return true; } } return false; } visitEntry(ctx) { const email = ctx.EMAIL().text; const handle = ctx.GITHUB_HANDLE().text; if (this.hasEmailAddressCaseInsensitive(email)) { console.log(`email: ${email}, handle: ${handle}`); this.owners.add(handle); } this.lookup.set(email.toLowerCase(), handle); } getOwners() { return Array.from(this.owners); } } exports.DefaultVisitor = DefaultVisitor;