UNPKG

6.69 kBJavaScriptView Raw
1import ts from 'typescript';
2import * as node_ from './node';
3import * as statement from './statement';
4import * as utils from './utils';
5export function getSourceFiles(program) {
6 return program.getSourceFiles();
7}
8export function getSourceFile(program, fileName) {
9 return utils.getValueOrUndefined(program.getSourceFile(fileName));
10}
11export function getSourceFileOrThrow(program, fileName) {
12 return utils.throwIfNullOrUndefined(getSourceFile(program, fileName), `source file: ${fileName}`);
13}
14export function isDeclarationFile(node) {
15 return node.isDeclarationFile;
16}
17export function getFilePath(node) {
18 return node.fileName;
19}
20export function getText(node) {
21 return node_.getSourceFile(node).getFullText();
22}
23export function getImportDeclarations(node) {
24 return statement.getStatements(node).filter(ts.isImportDeclaration);
25}
26export function getExportDeclarations(node) {
27 return statement.getStatements(node).filter(ts.isExportDeclaration);
28}
29export function getExportAssignments(node) {
30 return statement.getStatements(node).filter(ts.isExportAssignment);
31}
32export function createSourceMapRange(node) {
33 const file = node_.getSourceFile(node);
34 return {
35 pos: node.pos,
36 end: node.end,
37 source: file === undefined ? undefined : ts.createSourceMapSource(getFilePath(file), getText(node)),
38 };
39}
40export function getExportedSymbols(typeChecker, node) {
41 const symbol = node_.getSymbol(typeChecker, node);
42 return symbol === undefined ? [] : typeChecker.getExportsOfModule(symbol);
43}
44
45//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxLQUFLLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxTQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBRWpDLE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBbUI7SUFDaEQsT0FBTyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBbUIsRUFBRSxRQUFnQjtJQUNqRSxPQUFPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUFtQixFQUFFLFFBQWdCO0lBQ3hFLE9BQU8sS0FBSyxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUUsZ0JBQWdCLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDcEcsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFtQjtJQUNuRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFtQjtJQUM3QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsSUFBYTtJQUNuQyxPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxJQUFtQjtJQUN2RCxPQUFPLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsSUFBbUI7SUFDdkQsT0FBTyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQW1CO0lBQ3RELE9BQU8sU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxJQUFhO0lBQ2hELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUE4QixDQUFDO0lBRXBFLE9BQU87UUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7UUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7UUFDYixNQUFNLEVBQUUsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNwRyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxXQUEyQixFQUFFLElBQW1CO0lBQ2pGLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRWxELE9BQU8sTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDNUUsQ0FBQyIsImZpbGUiOiJuZW8tb25lLXRzLXV0aWxzL3NyYy9maWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0ICogYXMgbm9kZV8gZnJvbSAnLi9ub2RlJztcbmltcG9ydCAqIGFzIHN0YXRlbWVudCBmcm9tICcuL3N0YXRlbWVudCc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNvdXJjZUZpbGVzKHByb2dyYW06IHRzLlByb2dyYW0pOiByZWFkb25seSB0cy5Tb3VyY2VGaWxlW10ge1xuICByZXR1cm4gcHJvZ3JhbS5nZXRTb3VyY2VGaWxlcygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U291cmNlRmlsZShwcm9ncmFtOiB0cy5Qcm9ncmFtLCBmaWxlTmFtZTogc3RyaW5nKTogdHMuU291cmNlRmlsZSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB1dGlscy5nZXRWYWx1ZU9yVW5kZWZpbmVkKHByb2dyYW0uZ2V0U291cmNlRmlsZShmaWxlTmFtZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U291cmNlRmlsZU9yVGhyb3cocHJvZ3JhbTogdHMuUHJvZ3JhbSwgZmlsZU5hbWU6IHN0cmluZyk6IHRzLlNvdXJjZUZpbGUge1xuICByZXR1cm4gdXRpbHMudGhyb3dJZk51bGxPclVuZGVmaW5lZChnZXRTb3VyY2VGaWxlKHByb2dyYW0sIGZpbGVOYW1lKSwgYHNvdXJjZSBmaWxlOiAke2ZpbGVOYW1lfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEZWNsYXJhdGlvbkZpbGUobm9kZTogdHMuU291cmNlRmlsZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gbm9kZS5pc0RlY2xhcmF0aW9uRmlsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVQYXRoKG5vZGU6IHRzLlNvdXJjZUZpbGUpOiBzdHJpbmcge1xuICByZXR1cm4gbm9kZS5maWxlTmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRleHQobm9kZTogdHMuTm9kZSk6IHN0cmluZyB7XG4gIHJldHVybiBub2RlXy5nZXRTb3VyY2VGaWxlKG5vZGUpLmdldEZ1bGxUZXh0KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbXBvcnREZWNsYXJhdGlvbnMobm9kZTogdHMuU291cmNlRmlsZSk6IHJlYWRvbmx5IHRzLkltcG9ydERlY2xhcmF0aW9uW10ge1xuICByZXR1cm4gc3RhdGVtZW50LmdldFN0YXRlbWVudHMobm9kZSkuZmlsdGVyKHRzLmlzSW1wb3J0RGVjbGFyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXhwb3J0RGVjbGFyYXRpb25zKG5vZGU6IHRzLlNvdXJjZUZpbGUpOiByZWFkb25seSB0cy5FeHBvcnREZWNsYXJhdGlvbltdIHtcbiAgcmV0dXJuIHN0YXRlbWVudC5nZXRTdGF0ZW1lbnRzKG5vZGUpLmZpbHRlcih0cy5pc0V4cG9ydERlY2xhcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEV4cG9ydEFzc2lnbm1lbnRzKG5vZGU6IHRzLlNvdXJjZUZpbGUpOiByZWFkb25seSB0cy5FeHBvcnRBc3NpZ25tZW50W10ge1xuICByZXR1cm4gc3RhdGVtZW50LmdldFN0YXRlbWVudHMobm9kZSkuZmlsdGVyKHRzLmlzRXhwb3J0QXNzaWdubWVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTb3VyY2VNYXBSYW5nZShub2RlOiB0cy5Ob2RlKTogdHMuU291cmNlTWFwUmFuZ2Uge1xuICBjb25zdCBmaWxlID0gbm9kZV8uZ2V0U291cmNlRmlsZShub2RlKSBhcyB0cy5Tb3VyY2VGaWxlIHwgdW5kZWZpbmVkO1xuXG4gIHJldHVybiB7XG4gICAgcG9zOiBub2RlLnBvcyxcbiAgICBlbmQ6IG5vZGUuZW5kLFxuICAgIHNvdXJjZTogZmlsZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogdHMuY3JlYXRlU291cmNlTWFwU291cmNlKGdldEZpbGVQYXRoKGZpbGUpLCBnZXRUZXh0KG5vZGUpKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEV4cG9ydGVkU3ltYm9scyh0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIsIG5vZGU6IHRzLlNvdXJjZUZpbGUpOiByZWFkb25seSB0cy5TeW1ib2xbXSB7XG4gIGNvbnN0IHN5bWJvbCA9IG5vZGVfLmdldFN5bWJvbCh0eXBlQ2hlY2tlciwgbm9kZSk7XG5cbiAgcmV0dXJuIHN5bWJvbCA9PT0gdW5kZWZpbmVkID8gW10gOiB0eXBlQ2hlY2tlci5nZXRFeHBvcnRzT2ZNb2R1bGUoc3ltYm9sKTtcbn1cbiJdfQ==