# extractControlFlow

**Kind:** Function

**Source:** [`atloria-monorepo/libs/parser-core/src/parsers/backend/control-flow.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/libs/parser-core/src/parsers/backend/control-flow.ts#L141)

Read the guards and catches out of a class (or any node holding statements).

Only `if` statements whose branch is a single `throw` or `return` count as guards. A condition
wrapping a block of real work is control flow but not a refusal, and calling it one would put a
sentence on the page that misdescribes the code.

## Signature

```ts
function extractControlFlow(node: ts.Node): ControlFlow
```

## Parameters

| Name | Type |
|---|---|
| `node` | `ts.Node` |

**Returns:** `ControlFlow`
