UNPKG

sol-merger

Version:

Merges all import files into single file.

52 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ImportsAnalyzer = void 0; const importVisitor_1 = require("./antlr/visitors/importVisitor"); class ImportsAnalyzer { static isAllImport(parentImport) { return (!parentImport || (parentImport !== null && parentImport.globalRenameImport === null && parentImport.namedImports === null)); } static isRenameGlobalImport(parentImport) { return parentImport && parentImport.globalRenameImport !== null; } constructor(contents) { this.contents = contents; } /** * Analyzes all the imports of the file */ analyzeImports() { const imports = []; const importDirectives = []; const visitor = new importVisitor_1.SolidityImportVisitor(this.contents); visitor.visit((i) => { importDirectives.push(i); }); for (const importDirective of importDirectives) { const analyzedImport = this.analyzeImport(importDirective); imports.push(analyzedImport); } return imports; } /** * Single import statement to process. Basicly it analizes next things: * * 1. Rename of the global import if any * 2. Named imports if any * 3. Extract filename from import * */ analyzeImport(importVisitResult) { return { file: importVisitResult.filename, globalRenameImport: importVisitResult.globalRename, importStatement: this.contents.substring(importVisitResult.start, importVisitResult.end + 1), namedImports: importVisitResult.namedImports, }; } } exports.ImportsAnalyzer = ImportsAnalyzer; //# sourceMappingURL=importsAnalyzer.js.map