@mbc-cqrs-serverless/core
Version:
CQRS and event base core
20 lines (19 loc) • 930 B
TypeScript
import { CommandEntity, DataEntity } from '../interfaces';
export interface SerializerOptions {
keepAttributes?: boolean;
flattenDepth?: number;
}
/**
* Converts internal DynamoDB structure to external flat structure
* @param item Internal item (CommandEntity or DataEntity)
* @param options Serialization options
* @returns Flattened external structure
*/
export declare function serializeToExternal<T extends CommandEntity | DataEntity>(item: T | null | undefined, options?: SerializerOptions): Record<string, any> | null;
/**
* Converts external flat structure to internal DynamoDB structure
* @param data External flat structure
* @param EntityClass Entity class to instantiate (CommandEntity or DataEntity)
* @returns Internal structure
*/
export declare function deserializeToInternal<T extends CommandEntity | DataEntity>(data: Record<string, any> | null | undefined, EntityClass: new () => T): T | null;