---
url: /api/@ufo-soft/caelus/core/classes/Registry.md
---
# Class: Registry

Defined in: [core.ts:63](https://github.com/ufo-soft/caelus/blob/31cc32fc3d2008e3b0d484d65d10bba2a91a5897/packages/caelus/src/core.ts#L63)

## Constructors

### Constructor

> **new Registry**(): `Registry`

#### Returns

`Registry`

## Methods

### all()

> **all**(): [`Registration`](../interfaces/Registration.md)\[]

Defined in: [core.ts:74](https://github.com/ufo-soft/caelus/blob/31cc32fc3d2008e3b0d484d65d10bba2a91a5897/packages/caelus/src/core.ts#L74)

#### Returns

[`Registration`](../interfaces/Registration.md)\[]

***

### invoke()

> **invoke**(`name`, `args`): `Promise`<[`Outcome`](../type-aliases/Outcome.md)<`unknown`>>

Defined in: [core.ts:80](https://github.com/ufo-soft/caelus/blob/31cc32fc3d2008e3b0d484d65d10bba2a91a5897/packages/caelus/src/core.ts#L80)

Always a promise, so a handler and a remote registry look the same to the caller.
The handler runs synchronously up to its first await.

#### Parameters

##### name

`string`

##### args

[`Args`](../type-aliases/Args.md)

#### Returns

`Promise`<[`Outcome`](../type-aliases/Outcome.md)<`unknown`>>

***

### register()

> **register**(`registrations`): `void`

Defined in: [core.ts:66](https://github.com/ufo-soft/caelus/blob/31cc32fc3d2008e3b0d484d65d10bba2a91a5897/packages/caelus/src/core.ts#L66)

#### Parameters

##### registrations

[`Registration`](../interfaces/Registration.md) | readonly [`Registration`](../interfaces/Registration.md)\[]

#### Returns

`void`

***

### retrieve()

> **retrieve**(`name`): [`Registration`](../interfaces/Registration.md) | `undefined`

Defined in: [core.ts:70](https://github.com/ufo-soft/caelus/blob/31cc32fc3d2008e3b0d484d65d10bba2a91a5897/packages/caelus/src/core.ts#L70)

#### Parameters

##### name

`string`

#### Returns

[`Registration`](../interfaces/Registration.md) | `undefined`
