UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

34 lines (32 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transpile = void 0; const tslib_1 = require("tslib"); const ts_utils_1 = require("@neo-one/ts-utils"); const typescript_concatenator_1 = require("@neo-one/typescript-concatenator"); const typescript_1 = tslib_1.__importDefault(require("typescript")); exports.transpile = ({ sourceFile, context }) => { const isExternalFile = (node, _importPath, decl) => { if (typescript_1.default.isImportDeclaration(decl) && !ts_utils_1.tsUtils.importExport.hasValueReference(context.program, context.languageService, decl)) { return true; } return context.builtins.isBuiltinFile(node); }; const concatenator = new typescript_concatenator_1.Concatenator({ context: { typeChecker: context.typeChecker, program: context.program, languageService: context.languageService, getSymbol: context.analysis.getSymbol.bind(context.analysis), isExternalFile, }, sourceFile, }); const sourceFiles = concatenator.sourceFiles; if (sourceFiles.length === 0 || sourceFiles.length === 1) { return undefined; } return ts_utils_1.tsUtils.printBundle(context.program, sourceFiles, concatenator.substituteNode); }; //# sourceMappingURL=transpile.js.map