UNPKG

@igorivaniuk/tlb-parser

Version:

Parse TLB syntax into TypeScript objects

31 lines (30 loc) 1.15 kB
"use strict"; // Only used for tests now, CLI will be awailable later // TODO: build normal CLI var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = __importDefault(require("fs")); const util_1 = __importDefault(require("util")); const index_1 = require("./index"); const input = fs_1.default.readFileSync(process.argv[2], 'utf-8'); const visit_1 = require("./ast/visit"); class TestVisitor extends visit_1.NodeVisitor { constructor() { super(); this.visited = {}; } genericVisit(node) { if (this.visited[node.constructor.name] === undefined) { this.visited[node.constructor.name] = 0; } this.visited[node.constructor.name] += 1; return super.genericVisit(node); } } const tree = (0, index_1.ast)(input); const visitor = new TestVisitor(); visitor.visit(tree); console.log(JSON.stringify(visitor.visited, null, 2)); console.log(util_1.default.inspect(tree, { showHidden: false, depth: null, colors: true }));