@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
26 lines (24 loc) • 3.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ts_utils_1 = require("@neo-one/ts-utils");
const compile_1 = require("./compile");
const createContext_1 = require("./createContext");
exports.getSemanticDiagnostics = ({ filePath, host, languageService, }) => {
const context = createContext_1.createContextForLanguageService(filePath, languageService, host);
let sourceFile;
try {
sourceFile = ts_utils_1.tsUtils.file.getSourceFileOrThrow(context.program, filePath);
compile_1.compileForDiagnostics({
sourceFile,
context,
sourceMaps: {},
});
}
catch (_a) {
}
if (sourceFile !== undefined) {
return context.diagnostics.filter((diagnostic) => diagnostic.file === undefined || sourceFile === diagnostic.file);
}
return context.diagnostics;
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdldFNlbWFudGljRGlhZ25vc3RpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnREFBNEM7QUFFNUMsdUNBQWtEO0FBQ2xELG1EQUFrRTtBQUdyRCxRQUFBLHNCQUFzQixHQUFHLENBQUMsRUFDckMsUUFBUSxFQUNSLElBQUksRUFDSixlQUFlLEdBS2hCLEVBQWdDLEVBQUU7SUFDakMsTUFBTSxPQUFPLEdBQUcsK0NBQStCLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRixJQUFJLFVBQXFDLENBQUM7SUFDMUMsSUFBSTtRQUNGLFVBQVUsR0FBRyxrQkFBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLCtCQUFxQixDQUFDO1lBQ3BCLFVBQVU7WUFDVixPQUFPO1lBQ1AsVUFBVSxFQUFFLEVBQUU7U0FDZixDQUFDLENBQUM7S0FDSjtJQUFDLFdBQU07S0FFUDtJQUVELElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRTtRQUM1QixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3BIO0lBRUQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQzdCLENBQUMsQ0FBQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9nZXRTZW1hbnRpY0RpYWdub3N0aWNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHNVdGlscyB9IGZyb20gJ0BuZW8tb25lL3RzLXV0aWxzJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IGNvbXBpbGVGb3JEaWFnbm9zdGljcyB9IGZyb20gJy4vY29tcGlsZSc7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0Rm9yTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9jcmVhdGVDb250ZXh0JztcbmltcG9ydCB7IENvbXBpbGVySG9zdCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZ2V0U2VtYW50aWNEaWFnbm9zdGljcyA9ICh7XG4gIGZpbGVQYXRoLFxuICBob3N0LFxuICBsYW5ndWFnZVNlcnZpY2UsXG59OiB7XG4gIHJlYWRvbmx5IGZpbGVQYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGhvc3Q6IENvbXBpbGVySG9zdDtcbiAgcmVhZG9ubHkgbGFuZ3VhZ2VTZXJ2aWNlOiB0cy5MYW5ndWFnZVNlcnZpY2U7XG59KTogUmVhZG9ubHlBcnJheTx0cy5EaWFnbm9zdGljPiA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSBjcmVhdGVDb250ZXh0Rm9yTGFuZ3VhZ2VTZXJ2aWNlKGZpbGVQYXRoLCBsYW5ndWFnZVNlcnZpY2UsIGhvc3QpO1xuICBsZXQgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSB8IHVuZGVmaW5lZDtcbiAgdHJ5IHtcbiAgICBzb3VyY2VGaWxlID0gdHNVdGlscy5maWxlLmdldFNvdXJjZUZpbGVPclRocm93KGNvbnRleHQucHJvZ3JhbSwgZmlsZVBhdGgpO1xuICAgIGNvbXBpbGVGb3JEaWFnbm9zdGljcyh7XG4gICAgICBzb3VyY2VGaWxlLFxuICAgICAgY29udGV4dCxcbiAgICAgIHNvdXJjZU1hcHM6IHt9LFxuICAgIH0pO1xuICB9IGNhdGNoIHtcbiAgICAvLyBkbyBub3RoaW5nLCBzaG91bGQgbmV2ZXIgaGFwcGVuXG4gIH1cblxuICBpZiAoc291cmNlRmlsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGNvbnRleHQuZGlhZ25vc3RpY3MuZmlsdGVyKChkaWFnbm9zdGljKSA9PiBkaWFnbm9zdGljLmZpbGUgPT09IHVuZGVmaW5lZCB8fCBzb3VyY2VGaWxlID09PSBkaWFnbm9zdGljLmZpbGUpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQuZGlhZ25vc3RpY3M7XG59O1xuIl19