import { g as PredicateFn } from "./hook-context-BsxU1vfN.mjs"; import { a as ResolverPropertyOptions, i as resolveData, n as resolveQuery, r as resolveResult, t as resolve } from "./resolve-Cmxskunj.mjs"; import { HookContext } from "@feathersjs/feathers"; //#region src/resolvers/resolver-condition.d.ts type ResolverCondition = (options: ResolverPropertyOptions) => boolean; //#endregion //#region src/resolvers/helpers/omit/omit.d.ts /** * Returns a resolver property that removes the field by returning `undefined`. * When a condition is provided, the field is only omitted if the condition returns `true`. * * @example * ```ts * import { resolveResult, omit, fromPredicate } from 'feathers-utils/resolvers' * import { isProvider } from 'feathers-utils/predicates' * * resolveResult({ * password: omit(), * secret: omit(fromPredicate(isProvider('external'))), * }) * ``` */ declare function omit(condition?: ResolverCondition): (options: ResolverPropertyOptions) => any; //#endregion //#region src/resolvers/helpers/trim/trim.d.ts /** * Returns a resolver property that trims whitespace from string values. * Non-string values are passed through unchanged. * * @example * ```ts * import { resolveData, trim } from 'feathers-utils/resolvers' * * resolveData({ * name: trim(), * }) * ``` */ declare function trim(condition?: ResolverCondition): (options: ResolverPropertyOptions) => any; //#endregion //#region src/resolvers/helpers/lowercase/lowercase.d.ts /** * Returns a resolver property that converts string values to lowercase. * Non-string values are passed through unchanged. * * @example * ```ts * import { resolveData, lowercase } from 'feathers-utils/resolvers' * * resolveData({ * email: lowercase(), * }) * ``` */ declare function lowercase(condition?: ResolverCondition): (options: ResolverPropertyOptions) => any; //#endregion //#region src/resolvers/helpers/defaults/defaults.d.ts /** * Returns a resolver property that sets a default value when the current value * is `undefined` or `null`. Accepts a static value or a function that receives * the hook context. * * @example * ```ts * import { resolveData, defaults } from 'feathers-utils/resolvers' * * resolveData({ * role: defaults('user'), * createdBy: defaults((context) => context.params.user?.id), * }) * ``` */ declare function defaults(defaultValue: unknown | ((context: H) => unknown), condition?: ResolverCondition): (options: ResolverPropertyOptions) => any; //#endregion //#region src/resolvers/helpers/set-now/set-now.d.ts /** * Returns a resolver property that sets the field to the current timestamp * (`Date.now()`). Always overwrites the existing value. * * @example * ```ts * import { resolveData, setNow } from 'feathers-utils/resolvers' * * resolveData({ * createdAt: setNow(), * }) * ``` */ declare function setNow(condition?: ResolverCondition): (options: ResolverPropertyOptions) => any; //#endregion //#region src/resolvers/from-predicate/from-predicate.d.ts /** * Adapts an existing predicate function (like `isProvider`, `isContext`) into a * resolver condition. The predicate receives the hook context extracted from the * resolver options. Only synchronous predicates are supported. * * @example * ```ts * import { resolveResult, omit, fromPredicate } from 'feathers-utils/resolvers' * import { isProvider } from 'feathers-utils/predicates' * * resolveResult({ * password: omit(fromPredicate(isProvider('external'))), * }) * ``` */ declare function fromPredicate(predicate: PredicateFn): ResolverCondition; //#endregion export { type ResolverCondition, defaults, fromPredicate, lowercase, omit, resolve, resolveData, resolveQuery, resolveResult, setNow, trim }; //# sourceMappingURL=resolvers.d.mts.map