1.2.4 • Published 2 months ago

@jbpionnier/ddd v1.2.4

Weekly downloads
13
License
MIT
Repository
github
Last release
2 months ago

ts-ddd

npm version Build Status npm

Utilities types for Domain-Driven Design in TypeScript

!WARNING Work in progress.

Installation

npm install @jbpionnier/ddd

Usage

  • ICommandBus / Command / CommandHandler
  • IQueryBus / Query / QueryHandler
  • IEventBus / Event / EventHandler
  • AggregateRoot
  • DomainEvent / DomainEventStream
  • Entity / ValueObject
  • Repository
  • EventStream / Saga
  • EventStore

ICommandBus / Command / CommandHandler

import { ICommandBus, ICommandHandler, Command } from '@jbpionnier/ddd'

class MyCommand implements Command {
  constructor(public readonly id: string) {}
}

@CommandHandler(MyCommand)
class MyCommandHandler implements ICommandHandler<ImportMediaCommand> {
  handle(command: MyCommand): void {
    console.log('Handling command', command)
  }
}
// Create the command bus
const commandBus: ICommandBus = new CommandBus()
commandBus.register(new MyCommandHandler())

// Execute the command
commandBus.execute(new MyCommand('123'))
1.2.4

2 months ago

1.2.3

3 months ago

1.2.2

5 months ago

1.2.1

5 months ago

1.2.0

1 year ago

1.1.5

2 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.3

4 years ago

0.0.2

5 years ago

0.0.1

5 years ago