popurelate
Version:
Easily populate and filter documents using data from related collections.
15 lines (14 loc) • 911 B
TypeScript
import { AggregatorOptions, Pipeline } from "..";
import { PipeLineIsHelper } from "./is";
import { Counter, WrappedPipeline } from "./types";
export interface OptimizerHelperArg {
getFieldsOfPipeline: (pipeline: Pipeline, helper: OptimizerHelper) => OptimizerHints;
pipelineIs?: PipeLineIsHelper;
}
export declare type OptimizerHelper = OptimizerHelperArg & {
pipelineIs: PipeLineIsHelper;
};
export declare const createDefaultOptimizer: (helpers: OptimizerHelperArg) => (useOptimizer: boolean, options: AggregatorOptions) => AggregatorOptions;
export declare const wrapPipeline: (pipeline: Pipeline, counter: Counter) => WrappedPipeline;
export declare const copyChangingFields: (IAmChangingFields: WrappedPipeline["IAmChangingFields"]) => WrappedPipeline["IAmChangingFields"];
export declare type OptimizerHints = Pick<WrappedPipeline, "IAmDependedOnFields" | "IAmChangingFields">;