UNPKG

@directus/sdk

Version:

Directus JavaScript SDK

14 lines (12 loc) 911 B
import { UnpackList } from "./utils.cjs"; import { ItemType, RelationalFields } from "./schema.cjs"; import { MergeObjects, Query } from "./query.cjs"; //#region src/types/deep.d.ts /** * Deep filter object */ type QueryDeep<Schema, Item> = UnpackList<Item> extends infer FlatItem ? RelationalFields<Schema, FlatItem> extends never ? never : { [Field in RelationalFields<Schema, FlatItem> as ExtractCollection<Schema, FlatItem[Field]> extends any[] ? Field : never]?: ExtractCollection<Schema, FlatItem[Field]> extends infer CollectionItem ? Query<Schema, CollectionItem> extends infer TQuery ? MergeObjects<QueryDeep<Schema, CollectionItem>, { [Key in keyof Omit<TQuery, "deep" | "alias" | "fields"> as `_${string & Key}`]: TQuery[Key] }> : never : never } : never; type ExtractCollection<Schema, Item> = Extract<Item, ItemType<Schema>>; //#endregion export { QueryDeep }; //# sourceMappingURL=deep.d.cts.map