{"version":3,"file":"get-rule-for-path.mjs","names":[],"sources":["../../src/validate/get-rule-for-path.ts"],"sourcesContent":["import type { FormRulesRecord } from '../types';\n\nexport function getRuleForPath<T>(\n  path: string,\n  rules: FormRulesRecord<T> | undefined\n): ((value: any, values: any, path: string, signal: AbortSignal) => any) | null {\n  if (!rules) {\n    return null;\n  }\n\n  const segments = path.split('.');\n  let current: any = rules;\n\n  for (let i = 0; i < segments.length; i++) {\n    const segment = segments[i];\n\n    if (/^\\d+$/.test(segment)) {\n      continue;\n    }\n\n    if (current == null || typeof current !== 'object') {\n      return null;\n    }\n\n    current = current[segment];\n  }\n\n  if (typeof current === 'function') {\n    return current;\n  }\n\n  return null;\n}\n"],"mappings":";;AAEA,SAAgB,eACd,MACA,OAC8E;CAC9E,IAAI,CAAC,OACH,OAAO;CAGT,MAAM,WAAW,KAAK,MAAM,GAAG;CAC/B,IAAI,UAAe;CAEnB,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,UAAU,SAAS;EAEzB,IAAI,QAAQ,KAAK,OAAO,GACtB;EAGF,IAAI,WAAW,QAAQ,OAAO,YAAY,UACxC,OAAO;EAGT,UAAU,QAAQ;CACpB;CAEA,IAAI,OAAO,YAAY,YACrB,OAAO;CAGT,OAAO;AACT"}