2.8.1 • Published 2 years ago

@xlit/mediator v2.8.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years 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

2 years ago

2.8.0

2 years ago

2.7.5

2 years ago

2.7.4

2 years ago

2.7.3

2 years ago

2.7.2

2 years ago

2.7.1

2 years ago

2.7.0

2 years ago

2.6.14

2 years ago

2.6.13

2 years ago

2.6.12

2 years ago

2.6.11

2 years ago

2.6.10

2 years ago

2.6.9

2 years ago

2.6.8

2 years ago

2.6.7

2 years ago

2.6.6

2 years ago

2.6.5

2 years ago

2.6.4

2 years ago

2.6.3

2 years ago

2.6.2

2 years ago

2.6.1

2 years ago

2.6.0

2 years ago

2.5.1

2 years ago

2.5.0

2 years ago

2.4.0

2 years ago