1 | import ts from 'typescript';
|
2 | import * as node_ from './node';
|
3 | import * as statement from './statement';
|
4 | import * as utils from './utils';
|
5 | export function getSourceFiles(program) {
|
6 | return program.getSourceFiles();
|
7 | }
|
8 | export function getSourceFile(program, fileName) {
|
9 | return utils.getValueOrUndefined(program.getSourceFile(fileName));
|
10 | }
|
11 | export function getSourceFileOrThrow(program, fileName) {
|
12 | return utils.throwIfNullOrUndefined(getSourceFile(program, fileName), `source file: ${fileName}`);
|
13 | }
|
14 | export function isDeclarationFile(node) {
|
15 | return node.isDeclarationFile;
|
16 | }
|
17 | export function getFilePath(node) {
|
18 | return node.fileName;
|
19 | }
|
20 | export function getText(node) {
|
21 | return node_.getSourceFile(node).getFullText();
|
22 | }
|
23 | export function getImportDeclarations(node) {
|
24 | return statement.getStatements(node).filter(ts.isImportDeclaration);
|
25 | }
|
26 | export function getExportDeclarations(node) {
|
27 | return statement.getStatements(node).filter(ts.isExportDeclaration);
|
28 | }
|
29 | export function getExportAssignments(node) {
|
30 | return statement.getStatements(node).filter(ts.isExportAssignment);
|
31 | }
|
32 | export 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 | }
|
40 | export 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==
|