1 | import ts from 'typescript';
|
2 | import * as guards from './guards';
|
3 | import * as node_ from './node';
|
4 | import * as utils from './utils';
|
5 | export function isAmbientNode(node) {
|
6 | const ambient = (ts.getCombinedModifierFlags(node) & ts.ModifierFlags.Ambient) === ts.ModifierFlags.Ambient;
|
7 | return ambient || ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node);
|
8 | }
|
9 | export function isAmbient(node) {
|
10 | if (isAmbientNode(node) || node.getSourceFile().isDeclarationFile) {
|
11 | return true;
|
12 | }
|
13 | for (const ancestor of node_.getAncestors(node)) {
|
14 | if (guards.isDeclaration(ancestor) && isAmbientNode(ancestor)) {
|
15 | return true;
|
16 | }
|
17 | }
|
18 | return false;
|
19 | }
|
20 | export function getReturnTypeNode(node) {
|
21 | return utils.getValueOrUndefined(node.type);
|
22 | }
|
23 |
|
24 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlY2xhcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QixPQUFPLEtBQUssTUFBTSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEtBQUssS0FBSyxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEtBQUssS0FBSyxNQUFNLFNBQVMsQ0FBQztBQUVqQyxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQW9CO0lBQ2hELE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFFNUcsT0FBTyxPQUFPLElBQUksRUFBRSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFvQjtJQUM1QyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsaUJBQWlCLEVBQUU7UUFDakUsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUdELEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMvQyxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdELE9BQU8sSUFBSSxDQUFDO1NBQ2I7S0FDRjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFzRDtJQUN0RixPQUFPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsImZpbGUiOiJuZW8tb25lLXRzLXV0aWxzL3NyYy9kZWNsYXJhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlIG5vLWJpdHdpc2VcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCAqIGFzIGd1YXJkcyBmcm9tICcuL2d1YXJkcyc7XG5pbXBvcnQgKiBhcyBub2RlXyBmcm9tICcuL25vZGUnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FtYmllbnROb2RlKG5vZGU6IHRzLkRlY2xhcmF0aW9uKTogYm9vbGVhbiB7XG4gIGNvbnN0IGFtYmllbnQgPSAodHMuZ2V0Q29tYmluZWRNb2RpZmllckZsYWdzKG5vZGUpICYgdHMuTW9kaWZpZXJGbGFncy5BbWJpZW50KSA9PT0gdHMuTW9kaWZpZXJGbGFncy5BbWJpZW50O1xuXG4gIHJldHVybiBhbWJpZW50IHx8IHRzLmlzSW50ZXJmYWNlRGVjbGFyYXRpb24obm9kZSkgfHwgdHMuaXNUeXBlQWxpYXNEZWNsYXJhdGlvbihub2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQW1iaWVudChub2RlOiB0cy5EZWNsYXJhdGlvbik6IGJvb2xlYW4ge1xuICBpZiAoaXNBbWJpZW50Tm9kZShub2RlKSB8fCBub2RlLmdldFNvdXJjZUZpbGUoKS5pc0RlY2xhcmF0aW9uRmlsZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLWxvb3Atc3RhdGVtZW50XG4gIGZvciAoY29uc3QgYW5jZXN0b3Igb2Ygbm9kZV8uZ2V0QW5jZXN0b3JzKG5vZGUpKSB7XG4gICAgaWYgKGd1YXJkcy5pc0RlY2xhcmF0aW9uKGFuY2VzdG9yKSAmJiBpc0FtYmllbnROb2RlKGFuY2VzdG9yKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmV0dXJuVHlwZU5vZGUobm9kZTogdHMuTWV0aG9kRGVjbGFyYXRpb24gfCB0cy5HZXRBY2Nlc3NvckRlY2xhcmF0aW9uKTogdHMuVHlwZU5vZGUgfCB1bmRlZmluZWQge1xuICByZXR1cm4gdXRpbHMuZ2V0VmFsdWVPclVuZGVmaW5lZChub2RlLnR5cGUpO1xufVxuIl19
|