@webda/core
Version:
Expose API with Lambda
42 lines (41 loc) • 1.06 kB
TypeScript
import { CoreModel } from "../models/coremodel.js";
import MapperService, { MapperParameters, MapUpdates } from "./mapper.js";
export declare class AggregatorParameters extends MapperParameters {
/**
* @default index
*/
key: string;
constructor(params: any);
}
/**
* Service that aggregate several CoreModel into one
*
* Similar to a Mapper except that the target is constant
*
* @WebdaModda Aggregator
*/
export default class AggregatorService<T extends AggregatorParameters = AggregatorParameters> extends MapperService<T> {
/**
* Create index if not existing
*
* @inheritdoc
*/
init(): Promise<this>;
/**
* @override
*/
loadParameters(params: any): AggregatorParameters;
/**
* Make sure the aggregate document exist
*/
createAggregate(): Promise<void>;
/**
* Create an aggregation
*
* @param object
* @param updates
* @returns
*/
handleMap(object: CoreModel, updates: MapUpdates): Promise<void>;
}
export { AggregatorService };