UNPKG

popurelate

Version:

Easily populate and filter documents using data from related collections.

15 lines (14 loc) 911 B
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">;