popurelate
Version:
Easily populate and filter documents using data from related collections.
203 lines (202 loc) • 6.2 kB
TypeScript
import { Pipeline, RawPipeline } from "..";
export declare class PipeLineIsHelper {
limit: (pipeline: Pipeline) => pipeline is {
limit: number;
} & {
query?: undefined;
sort?: undefined;
skip?: undefined;
populate?: undefined;
project?: undefined;
withCount?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
skip: (pipeline: Pipeline) => pipeline is {
skip: number;
} & {
query?: undefined;
sort?: undefined;
limit?: undefined;
populate?: undefined;
project?: undefined;
withCount?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
sort: (pipeline: Pipeline) => pipeline is {
sort: {
[x: string]: any;
};
} & {
query?: undefined;
limit?: undefined;
skip?: undefined;
populate?: undefined;
project?: undefined;
withCount?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
project: (pipeline: Pipeline) => pipeline is {
project: {
[x: string]: any;
};
} & {
query?: undefined;
sort?: undefined;
limit?: undefined;
skip?: undefined;
populate?: undefined;
withCount?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
addFields: (pipeline: Pipeline) => pipeline is {
addFields: {
[x: string]: any;
};
} & {
query?: undefined;
sort?: undefined;
limit?: undefined;
skip?: undefined;
populate?: undefined;
project?: undefined;
withCount?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
count?: undefined;
};
query: (pipeline: Pipeline) => pipeline is {
query: {
[x: string]: any;
};
} & {
sort?: undefined;
limit?: undefined;
skip?: undefined;
populate?: undefined;
project?: undefined;
withCount?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
rawPipeline: (pipeline: Pipeline) => pipeline is {
rawPipeline: any;
} & {
query?: undefined;
sort?: undefined;
limit?: undefined;
skip?: undefined;
populate?: undefined;
project?: undefined;
withCount?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
populate: (pipeline: Pipeline) => pipeline is {
parentIdField: string;
myIdField: string;
field: string;
populate: import("..").PopulatePipelineOptions;
} & {
query?: undefined;
sort?: undefined;
limit?: undefined;
skip?: undefined;
project?: undefined;
withCount?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
count: (pipeline: Pipeline) => pipeline is {
count: true;
countKey: string;
} & {
query?: undefined;
sort?: undefined;
limit?: undefined;
skip?: undefined;
populate?: undefined;
project?: undefined;
withCount?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
};
withCount: (pipeline: Pipeline) => pipeline is {
withCount: true;
countKey: string;
docsKey: string;
docsPipelines: Pipeline[];
} & {
query?: undefined;
sort?: undefined;
limit?: undefined;
skip?: undefined;
populate?: undefined;
project?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
countLike: (pipeline: Pipeline) => pipeline is {
withCount: true;
countKey: string;
docsKey: string;
docsPipelines: Pipeline[];
} & {
query?: undefined;
sort?: undefined;
limit?: undefined;
skip?: undefined;
populate?: undefined;
project?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
singleRequiredPopulation: (pipeline: Pipeline) => pipeline is {
parentIdField: string;
myIdField: string;
field: string;
populate: import("..").PopulatePipelineOptions;
} & {
query?: undefined;
sort?: undefined;
limit?: undefined;
skip?: undefined;
project?: undefined;
withCount?: undefined;
rawPipeline?: undefined;
invisible?: undefined;
addFields?: undefined;
count?: undefined;
};
changingDocCount: (pipeline: Pipeline) => boolean;
changingDocOrder: (pipeline: Pipeline) => boolean;
changingCountOrOrder: (pipeline: Pipeline) => boolean;
orderAndCountImportant: (pipeline: Pipeline) => boolean;
orderAndCountImportantForRawPipeline: (pipeline: RawPipeline) => boolean;
rawPipelineChangingDocOrder: (pipeline: RawPipeline) => boolean;
rawPipelineChangingDocCount: (pipeline: RawPipeline) => boolean;
}
export declare const defaultPipelineIs: PipeLineIsHelper;
export declare type PipelineTypes = "query" | "project" | "addFields" | "sort" | "populate" | "limit" | "skip" | "withCount" | "count" | "rawPipeline";
export declare const getPipelineType: (pipeline: Pipeline, is?: PipeLineIsHelper) => PipelineTypes | null;