"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateFilterUtils = generateFilterUtils;
function generateFilterUtils() {
    return `import { z } from 'zod'

export const stringFilterInputSchema = z.object({
  values: z.array(z.string()).optional(),
  contains: z.string().optional(),
  startsWith: z.string().optional(),
  endsWith: z.string().optional(),
  exclude: z.string().optional(),
})

export const numberFilterInputSchema = z.object({
  values: z.array(z.number()).optional(),
  min: z.number().optional(),
  max: z.number().optional(),
})

export const dateFilterInputSchema = z.object({
  values: z.array(z.string()).optional(),
  start: z.string().optional(),
  end: z.string().optional(),
})

export const booleanFilterInputSchema = z.object({
  values: z.array(z.boolean()).optional(),
})

export const parseBooleanQuery = (query: string): boolean[] | undefined => {
  const normalized = query.trim().toLowerCase()
  if (normalized === 'true') {
    return [true]
  }
  if (normalized === 'false') {
    return [false]
  }
  return undefined
}

export const toFilterActionLabel = (value: string): string =>
  value
    .replaceAll(/([A-Z])([A-Z][a-z])/g, '$1 $2')
    .replaceAll(/([a-z])([A-Z])/g, '$1 $2')
    .replaceAll(/[-_]+/g, ' ')
    .replace(/^./, (char) => char.toUpperCase())
`;
}
//# sourceMappingURL=filter-utils.generator.js.map