import { A as Promisable, T as AnyFallback, n as ResultSingleHookContext, t as DataSingleHookContext } from "./hook-context-BsxU1vfN.mjs"; import { HookContext, NextFunction } from "@feathersjs/feathers"; //#region src/resolvers/resolvers.internal.d.ts interface ResolverPropertyOptions { value: V | undefined; data: T; context: C; properties: ResolverStatus; i: number; } type ResolverProperty = (options: ResolverPropertyOptions) => Promisable; type ResolverObject = { [K in keyof T & string]?: ResolverProperty }; interface ResolverStatus { path: string[]; stack: ResolverProperty[]; } //#endregion //#region src/resolvers/resolve-data/resolve-data.d.ts type Data$1 = AnyFallback, Record>; /** * Resolves and transforms `context.data` using a map of resolver functions. * Each property in the resolver object receives the current value and can return * a transformed value. Runs before `next()` in the hook pipeline. * * @example * ```ts * import { resolveData, lowercase } from 'feathers-utils/resolvers' * * app.service('users').hooks({ * before: { * create: [resolveData({ email: lowercase() })] * } * }) * ``` */ declare const resolveData: >(resolvers: ResolverObject) => { (context: H, next: NextFunction): Promise; (context: H): Promisable; }; //#endregion //#region src/resolvers/resolve-result/resolve-result.d.ts type Result$1 = AnyFallback, Record>; /** * Resolves and transforms `context.result` using a map of resolver functions. * Each property in the resolver object receives the current value and can return * a transformed value. Runs after `next()` in the hook pipeline. * * @example * ```ts * import { resolveResult, omit } from 'feathers-utils/resolvers' * * app.service('users').hooks({ * after: { * all: [resolveResult({ password: omit() })] * } * }) * ``` */ declare const resolveResult: >(resolvers: ResolverObject) => { (context: H, next: NextFunction): Promise; (context: H): Promisable; }; //#endregion //#region src/resolvers/resolve-query/resolve-query.d.ts /** * Resolves and transforms `context.params.query` using a map of resolver functions. * Each property in the resolver object receives the current query value and can return * a transformed value. Runs before `next()` in the hook pipeline. * * @example * ```ts * import { resolveQuery, defaults } from 'feathers-utils/resolvers' * * app.service('users').hooks({ * before: { * find: [resolveQuery({ active: defaults(true) })] * } * }) * ``` */ declare const resolveQuery: (resolvers: ResolverObject) => { (context: H, next: NextFunction): Promise; (context: H): Promisable; }; //#endregion //#region src/resolvers/resolve/resolve.d.ts type Data = AnyFallback, Record>; type Result = AnyFallback, Record>; /** * Combines `data`, `query`, and `result` resolvers into a single around hook. * Data and query resolvers run before `next()`, while the result resolver runs after. * At least one resolver must be provided. * * @example * ```ts * import { resolve, lowercase, omit } from 'feathers-utils/resolvers' * * app.service('users').hooks({ * around: { * all: [resolve({ * data: { email: lowercase() }, * result: { password: omit() }, * })] * } * }) * ``` * * @see https://utils.feathersjs.com/resolvers/resolve.html */ declare const resolve: , R = Result>(resolverProperties: { data?: ResolverObject; query?: ResolverObject; result?: ResolverObject; }) => (context: H, next?: NextFunction) => Promise; //#endregion export { ResolverPropertyOptions as a, resolveData as i, resolveQuery as n, resolveResult as r, resolve as t }; //# sourceMappingURL=resolve-Cmxskunj.d.mts.map