@m1212e/rumble 0.16.23 → 0.16.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/index.d.mts CHANGED
@@ -167,10 +167,18 @@ type DrizzleQueryFunctionInput<DB extends DrizzleInstance, QueryField extends ke
167
167
  type DrizzleTableValueType<DB extends DrizzleInstance, QueryField extends keyof DrizzleQueryFunction<DB>> = NonNullable<Awaited<ReturnType<DrizzleQueryFunction<DB>[QueryField]["findFirst"]>>>;
168
168
  //#endregion
169
169
  //#region lib/runtimeFiltersPlugin/filterTypes.d.ts
170
- type Filter<Context, T> = (p: {
170
+ type Prefetch<Context, ReturnType> = (params: {
171
171
  context: Context;
172
- entities: T[];
173
- }) => T[] | Promise<T[]>;
172
+ }) => Promise<ReturnType>;
173
+ type Filter<Context, FilteredEntityType, PrefetchReturnType = never> = (p: {
174
+ context: Context;
175
+ entities: FilteredEntityType[];
176
+ prefetched: PrefetchReturnType;
177
+ }) => FilteredEntityType[] | Promise<FilteredEntityType[]>;
178
+ type FilterPrefetchCombo<Context, FilteredEntityType, PrefetchReturnType = never> = {
179
+ filter: Filter<Context, FilteredEntityType, PrefetchReturnType>;
180
+ prefetch?: Prefetch<Context, PrefetchReturnType>;
181
+ };
174
182
  //#endregion
175
183
  //#region lib/args/whereArgsImplementer.d.ts
176
184
  type NumberWhereInputArgument = {
@@ -4323,10 +4331,13 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
4323
4331
  when: (queryFilter: DrizzleQueryFunctionInput<DB, key> | ((context: UserContext) => DrizzleQueryFunctionInput<DB, key> | "allow" | undefined)) => void;
4324
4332
  };
4325
4333
  filter: (action: Action | Action[]) => {
4334
+ prefetch: <PrefetchReturnType>(prefetch: Prefetch<UserContext, PrefetchReturnType>) => {
4335
+ by: (explicitFilter: Filter<UserContext, DrizzleTableValueType<DB, key>, PrefetchReturnType>) => void;
4336
+ };
4326
4337
  by: (explicitFilter: Filter<UserContext, DrizzleTableValueType<DB, key>>) => void;
4327
4338
  };
4328
4339
  _: {
4329
- runtimeFilters: Map<Action, Filter<UserContext, any>[]>;
4340
+ runtimeFilters: Map<Action, FilterPrefetchCombo<UserContext, any, any>[]>;
4330
4341
  queryFilters: Map<Action, "unrestricted" | (DrizzleQueryFunctionInput<DB, key> | ((context: UserContext) => DrizzleQueryFunctionInput<DB, key> | "allow" | undefined))[]>;
4331
4342
  };
4332
4343
  } } : never) & {