Skip to content

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, and stop 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.

Released under the Apache-2.0 License.