first commit
This commit is contained in:
24
node_modules/tsutils/util/control-flow.d.ts
generated
vendored
Normal file
24
node_modules/tsutils/util/control-flow.d.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
import * as ts from 'typescript';
|
||||
export declare function endsControlFlow(statement: ts.Statement | ts.BlockLike, checker?: ts.TypeChecker): boolean;
|
||||
export declare type ControlFlowStatement = ts.BreakStatement | ts.ContinueStatement | ts.ReturnStatement | ts.ThrowStatement | ts.ExpressionStatement & {
|
||||
expression: ts.CallExpression;
|
||||
};
|
||||
export interface ControlFlowEnd {
|
||||
/**
|
||||
* Statements that may end control flow at this statement.
|
||||
* Does not contain control flow statements that jump only inside the statement, for example a `continue` inside a nested for loop.
|
||||
*/
|
||||
readonly statements: ReadonlyArray<ControlFlowStatement>;
|
||||
/** `true` if control flow definitely ends. */
|
||||
readonly end: boolean;
|
||||
}
|
||||
export declare function getControlFlowEnd(statement: ts.Statement | ts.BlockLike, checker?: ts.TypeChecker): ControlFlowEnd;
|
||||
export declare enum SignatureEffect {
|
||||
Never = 1,
|
||||
Asserts = 2
|
||||
}
|
||||
/**
|
||||
* Dermines whether a top level CallExpression has a control flow effect according to TypeScript's rules.
|
||||
* This handles functions returning `never` and `asserts`.
|
||||
*/
|
||||
export declare function callExpressionAffectsControlFlow(node: ts.CallExpression, checker: ts.TypeChecker): SignatureEffect | undefined;
|
||||
Reference in New Issue
Block a user