---
title: ChartGuard
description: "A guard: a lent guard by name, with or without params, `jr2.sentBy`, `jr2.failure`, or `not`/`and`/`or`."
---

# `ChartGuard`

Type, in `@jr2/orchestrator/src/chart.ts`. The signature of an export, or a type that it names, names this type. The [Authoring surface](../authoring-surface.md) page lists each export. This type is not an export of `@jr2/orchestrator`, so a workflow module does not import it by name.

```ts
type ChartGuard =
  | string
  | { type: string; params?: ChartValue }
  | { not: ChartGuard }
  | { and: ChartGuard[] }
  | { or: ChartGuard[] };
```

A guard: a lent guard by name, with or without params, `jr2.sentBy`, `jr2.failure`, or
`not`/`and`/`or`.
