demo/typescript.js
function nodeEndsWith(n, expectedLastToken, sourceFile) {
        var children = n.getChildren(sourceFile);
        if (children.length) {
            var last = ts.lastOrUndefined(children);
            if (last.kind === expectedLastToken) {
                return true;
            }
            else if (last.kind === 23 /* SemicolonToken */ && children.length !== 1) {
                return children[children.length - 2].kind === expectedLastToken;
            }
        }
        return false;
    }
function nodeEndsWith(n, expectedLastToken, sourceFile) {
        var children = n.getChildren(sourceFile);
        if (children.length) {
            var last = ts.lastOrUndefined(children);
            if (last.kind === expectedLastToken) {
                return true;
            }
            else if (last.kind === 23 /* SemicolonToken */ && children.length !== 1) {
                return children[children.length - 2].kind === expectedLastToken;
            }
        }
        return false;
    }
function nodeEndsWith ( n , expectedLastToken , sourceFile ) { var children = n . getChildren ( sourceFile ) ; if ( children . length ) { var last = ts . lastOrUndefined ( children ) ; if ( last . kind === expectedLastToken ) { return true ; } else if ( last . kind === 23 /* SemicolonToken */ && children . length !== 1 ) { return children [ children . length - 2 ] . kind === expectedLastToken ; } } return false ; }
/*
Checks if node ends with 'expectedLastToken'.
If child at position 'length - 1' is 'SemicolonToken' it is skipped and 'expectedLastToken' is compared with child at position 'length - 2'.
/ * Checks if node ends with expectedLastToken . If child at position length - 1 is SemicolonToken it is skipped and expectedLastToken is compared with child at position length - 2 .