mongozen-1
Version:
Type-safe, developer-friendly MongoDB aggregation pipeline builder for TypeScript, with auto-relation support and full IntelliSense. Works great with NestJS, Mongoose, or Node.js apps.
8 lines (6 loc) • 320 B
TypeScript
type AutoRelations<Models extends Record<string, object>> = {
[K in keyof Models]: {
[FK in keyof Models[K]]: FK extends `${infer Ref1}Id` | `${infer Ref2}_id` ? Ref1 extends keyof Models ? Ref1 : Ref2 extends keyof Models ? Ref2 : never : never;
}[keyof Models[K]][];
};
export type { AutoRelations };