2.8.1 • Published 6 months ago

@xlit/mediator v2.8.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

@xlit/mediator

Command and query mediator

Installation

npm i @xlit/mediator

Getting started

Define command handler with decorator.

import { commandHandler } from '@xlit/mediator';

class FooCommand {
  kind = 'FooCommand';
}

@commandHandler('FooCommand')
class FooCommandHandler {
  handle(cmd: FooCommand): Promise<void> {
    // do something
  }
}

Define query handler with decorator.

import { queryHandler } from '@xlit/mediator';

class BarQuery {
  kind = 'BarQuery';
}

type BarDto = string;

@queryHandler('BarQuery')
class BarQueryHandler {
  handle(query: BarQuery): Promise<BarDto> {
    // do something
    return Promise.resolve('barbar');
  }
}

Send command and query

import { FooCommand } from './FooCommand.js';
import { BarQuery } from './BarQuery.js';

const mediator = Mediator.instance();

await mediator.send(new FooCommand()); // send command
const result = await mediator.send(new BarQuery()); // send query
2.8.1

6 months ago

2.8.0

6 months ago

2.7.5

7 months ago

2.7.4

7 months ago

2.7.3

7 months ago

2.7.2

7 months ago

2.7.1

7 months ago

2.7.0

7 months ago

2.6.14

7 months ago

2.6.13

7 months ago

2.6.12

7 months ago

2.6.11

8 months ago

2.6.10

8 months ago

2.6.9

8 months ago

2.6.8

8 months ago

2.6.7

8 months ago

2.6.6

8 months ago

2.6.5

8 months ago

2.6.4

9 months ago

2.6.3

9 months ago

2.6.2

9 months ago

2.6.1

9 months ago

2.6.0

9 months ago

2.5.1

10 months ago

2.5.0

10 months ago

2.4.0

10 months ago