dino-core
Version:
A dependency injection framework for NodeJS applications
21 lines (20 loc) • 811 B
TypeScript
import { type ApplicationContext } from '../context/ApplicationContext';
import { Component } from '../main';
import { type EnvironmentConfiguration } from '../model/environment.configuration';
interface Deps {
environment: EnvironmentConfiguration;
applicationContext: ApplicationContext;
}
/**
* Provide a basic implementation of the behavioural Command pattern.
*
* Both EnvironmentConfiguration and ApplicationContext are automatically made
* available to concrete classes
*/
export declare abstract class Command<I, R> extends Component {
protected readonly environment: EnvironmentConfiguration;
protected readonly applicationContext: ApplicationContext;
constructor({ environment, applicationContext }: Deps);
abstract execute(input: I | undefined): Promise<R>;
}
export {};