BaseService
This file defines the BaseService
class, which serves as the base class for all services in the @sodacore/core
library. It provides a logger and empty lifecycle methods (init
, start
, stop
) intended to be overridden by subclasses.
Features
- Logging: Provides a protected
logger
property for use in derived services. - Lifecycle Hooks: Defines
init
,start
, andstop
methods for service lifecycle management, intended to be overridden by subclasses.
Usage
typescript
import BaseService from './base/service';
class MyService extends BaseService {
async init() {
this.logger.info('Initializing MyService');
// Custom initialization logic
}
async start() {
this.logger.info('Starting MyService');
// Custom start logic
}
async stop() {
this.logger.info('Stopping MyService');
// Custom stop logic
}
}
API
Properties
- logger: An injected instance of the
Logger
class, available to subclasses.
Methods
async init(): Promise<void>
Lifecycle hook for initialization. Intended to be overridden by subclasses.
async start(): Promise<void>
Lifecycle hook for starting the service. Intended to be overridden by subclasses.
async stop(): Promise<void>
Lifecycle hook for stopping the service. Intended to be overridden by subclasses.
Notes
- Extend this class for all services to ensure consistent lifecycle management and logging.
- The class uses dependency injection for the logger.