Skip to content

Abstract Class: ConverterBase<TSource, TTarget>

Defined in: packages/core/src/converters/ConverterBase.ts:36

ConverterBase — Generic Base for Bidirectional Converters

Provides batch conversion with null filtering in both directions. Domain-specific converters extend this class and only implement the single-item abstract methods: convertFrom and convertTo.

Example

typescript
import { ToolConverterBase, Tool } from '@vinkius-core/mcp-fusion';

interface ToolDto { id: string; label: string }

class MyToolConverter extends ToolConverterBase<ToolDto> {
    convertFrom(tool: Tool): ToolDto {
        return { id: tool.name, label: tool.title ?? tool.name };
    }
    convertTo(dto: ToolDto): Tool {
        const tool = new Tool(dto.id);
        tool.title = dto.label;
        return tool;
    }
}

const converter = new MyToolConverter();
const dtos = converter.convertFromBatch(tools);  // Tool[] → ToolDto[]
const tools = converter.convertToBatch(dtos);     // ToolDto[] → Tool[]

See

Extended by

Type Parameters

Type ParameterDescription
TSourceThe domain model type (e.g. Group, Tool)
TTargetThe external/DTO type

Constructors

Constructor

ts
new ConverterBase<TSource, TTarget>(): ConverterBase<TSource, TTarget>;

Returns

ConverterBase<TSource, TTarget>

Methods

convertFrom()

ts
abstract convertFrom(source): TTarget;

Defined in: packages/core/src/converters/ConverterBase.ts:56

Convert a single source item to a target item.

Parameters

ParameterTypeDescription
sourceTSourceDomain model instance

Returns

TTarget

The converted DTO


convertFromBatch()

ts
convertFromBatch(sources): TTarget[];

Defined in: packages/core/src/converters/ConverterBase.ts:44

Convert a batch of source items to target items. Null/undefined results from single-item conversion are filtered out.

Parameters

ParameterTypeDescription
sourcesTSource[]Array of domain model instances

Returns

TTarget[]

Array of converted DTOs (nulls removed)


convertTo()

ts
abstract convertTo(target): TSource;

Defined in: packages/core/src/converters/ConverterBase.ts:77

Convert a single target item back to a source item.

Parameters

ParameterTypeDescription
targetTTargetDTO instance

Returns

TSource

The domain model instance


convertToBatch()

ts
convertToBatch(targets): TSource[];

Defined in: packages/core/src/converters/ConverterBase.ts:65

Convert a batch of target items back to source items. Null/undefined results from single-item conversion are filtered out.

Parameters

ParameterTypeDescription
targetsTTarget[]Array of DTOs

Returns

TSource[]

Array of domain model instances (nulls removed)