# PassRegistry (/docs/api/classes/PassRegistry)



Defined in: [packages/core/src/passes/registry.ts:78](https://github.com/austenstone/actio/blob/2b01e694a0f76521d8c073f3c6a2e48917d2c9d9/packages/core/src/passes/registry.ts#L78)

A mutable collection of passes. Lets external code add or remove transforms
without editing core, then run the complete transform pipeline in dependency
order. `run()` resolves final compile-time text interpolation after all
registered passes have executed.

## Constructors [#constructors]

### Constructor [#constructor]

```ts
new PassRegistry(initial?): PassRegistry;
```

Defined in: [packages/core/src/passes/registry.ts:81](https://github.com/austenstone/actio/blob/2b01e694a0f76521d8c073f3c6a2e48917d2c9d9/packages/core/src/passes/registry.ts#L81)

#### Parameters [#parameters]

##### initial? [#initial]

`Iterable`\<[`Pass`](../interfaces/Pass.mdx)> = `[]`

#### Returns [#returns]

`PassRegistry`

## Methods [#methods]

### has() [#has]

```ts
has(name): boolean;
```

Defined in: [packages/core/src/passes/registry.ts:99](https://github.com/austenstone/actio/blob/2b01e694a0f76521d8c073f3c6a2e48917d2c9d9/packages/core/src/passes/registry.ts#L99)

#### Parameters [#parameters-1]

##### name [#name]

`string`

#### Returns [#returns-1]

`boolean`

***

### list() [#list]

```ts
list(): Pass[];
```

Defined in: [packages/core/src/passes/registry.ts:104](https://github.com/austenstone/actio/blob/2b01e694a0f76521d8c073f3c6a2e48917d2c9d9/packages/core/src/passes/registry.ts#L104)

Registered passes in dependency order.

#### Returns [#returns-2]

[`Pass`](../interfaces/Pass.mdx)\[]

***

### register() [#register]

```ts
register(pass): this;
```

Defined in: [packages/core/src/passes/registry.ts:86](https://github.com/austenstone/actio/blob/2b01e694a0f76521d8c073f3c6a2e48917d2c9d9/packages/core/src/passes/registry.ts#L86)

Add a pass. Throws if a pass with the same name is already registered.

#### Parameters [#parameters-2]

##### pass [#pass]

[`Pass`](../interfaces/Pass.mdx)

#### Returns [#returns-3]

`this`

***

### run() [#run]

```ts
run(ctx): void;
```

Defined in: [packages/core/src/passes/registry.ts:109](https://github.com/austenstone/actio/blob/2b01e694a0f76521d8c073f3c6a2e48917d2c9d9/packages/core/src/passes/registry.ts#L109)

Run every registered pass, then resolve final compile-time text interpolation.

#### Parameters [#parameters-3]

##### ctx [#ctx]

[`ParseContext`](../interfaces/ParseContext.mdx)

#### Returns [#returns-4]

`void`

***

### unregister() [#unregister]

```ts
unregister(name): boolean;
```

Defined in: [packages/core/src/passes/registry.ts:95](https://github.com/austenstone/actio/blob/2b01e694a0f76521d8c073f3c6a2e48917d2c9d9/packages/core/src/passes/registry.ts#L95)

Remove a pass by name. Returns true if one was removed.

#### Parameters [#parameters-4]

##### name [#name-1]

`string`

#### Returns [#returns-5]

`boolean`


## Sitemap

Browse the full documentation: [Markdown sitemap](https://austenstone.github.io/actio/sitemap.md) · [XML sitemap](https://austenstone.github.io/actio/sitemap.xml)