{"version":3,"file":"validateParams.js","names":[],"sources":["esm/validateParams.js"],"sourcesContent":["class ParamValidationError extends Error {\n  routerCode = \"VALIDATE_PARAMS\";\n  issues;\n  params;\n  constructor(message, params, issues = []) {\n    super(message);\n    this.name = \"ParamValidationError\";\n    this.params = params;\n    this.issues = issues;\n  }\n}\nclass RouteValidationError extends Error {\n  routerCode = \"VALIDATE_ROUTE\";\n  details;\n  constructor(message, details) {\n    super(message);\n    this.name = \"RouteValidationError\";\n    this.details = details;\n  }\n}\nfunction isStandardSchema(value) {\n  return typeof value === \"object\" && value !== null && \"~standard\" in value && typeof value[\"~standard\"]?.validate === \"function\";\n}\nfunction isZodLikeSchema(value) {\n  return typeof value === \"object\" && value !== null && typeof value.parse === \"function\";\n}\nfunction isValidatorFn(value) {\n  return typeof value === \"function\";\n}\nfunction validateParams(validator, input) {\n  if (isStandardSchema(validator)) {\n    const result = validator[\"~standard\"].validate(input);\n    if (result.issues) {\n      throw new ParamValidationError(\n        \"Route param validation failed\",\n        input,\n        result.issues\n      );\n    }\n    return result.value;\n  }\n  if (isZodLikeSchema(validator)) {\n    if (validator.safeParse) {\n      const result = validator.safeParse(input);\n      if (!result.success) {\n        throw new ParamValidationError(\"Route param validation failed\", input, [\n          result.error\n        ]);\n      }\n      return result.data;\n    }\n    try {\n      return validator.parse(input);\n    } catch (error) {\n      throw new ParamValidationError(\"Route param validation failed\", input, [error]);\n    }\n  }\n  if (isValidatorFn(validator)) {\n    try {\n      return validator(input);\n    } catch (error) {\n      throw new ParamValidationError(\"Route param validation failed\", input, [error]);\n    }\n  }\n  throw new Error(\"Invalid validator provided to validateParams\");\n}\nfunction zodParamValidator(schema) {\n  return schema;\n}\nexport {\n  ParamValidationError,\n  RouteValidationError,\n  validateParams,\n  zodParamValidator\n};\n//# sourceMappingURL=validateParams.js.map\n"],"mappings":";AAAA,IAAM,uBAAN,cAAmC,MAAM;CACvC,aAAa;CACb;CACA;CACA,YAAY,SAAS,QAAQ,SAAS,CAAC,GAAG;EACxC,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,KAAK,SAAS;EACd,KAAK,SAAS;CAChB;AACF;AACA,IAAM,uBAAN,cAAmC,MAAM;CACvC,aAAa;CACb;CACA,YAAY,SAAS,SAAS;EAC5B,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,KAAK,UAAU;CACjB;AACF;AACA,SAAS,iBAAiB,OAAO;CAC/B,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,eAAe,SAAS,OAAO,MAAM,YAAY,EAAE,aAAa;AACxH;AACA,SAAS,gBAAgB,OAAO;CAC9B,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,MAAM,UAAU;AAC/E;AACA,SAAS,cAAc,OAAO;CAC5B,OAAO,OAAO,UAAU;AAC1B;AACA,SAAS,eAAe,WAAW,OAAO;CACxC,IAAI,iBAAiB,SAAS,GAAG;EAC/B,MAAM,SAAS,UAAU,YAAY,CAAC,SAAS,KAAK;EACpD,IAAI,OAAO,QAAQ;GACjB,MAAM,IAAI,qBACR,iCACA,OACA,OAAO,MACT;EACF;EACA,OAAO,OAAO;CAChB;CACA,IAAI,gBAAgB,SAAS,GAAG;EAC9B,IAAI,UAAU,WAAW;GACvB,MAAM,SAAS,UAAU,UAAU,KAAK;GACxC,IAAI,CAAC,OAAO,SAAS;IACnB,MAAM,IAAI,qBAAqB,iCAAiC,OAAO,CACrE,OAAO,KACT,CAAC;GACH;GACA,OAAO,OAAO;EAChB;EACA,IAAI;GACF,OAAO,UAAU,MAAM,KAAK;EAC9B,SAAS,OAAO;GACd,MAAM,IAAI,qBAAqB,iCAAiC,OAAO,CAAC,KAAK,CAAC;EAChF;CACF;CACA,IAAI,cAAc,SAAS,GAAG;EAC5B,IAAI;GACF,OAAO,UAAU,KAAK;EACxB,SAAS,OAAO;GACd,MAAM,IAAI,qBAAqB,iCAAiC,OAAO,CAAC,KAAK,CAAC;EAChF;CACF;CACA,MAAM,IAAI,MAAM,8CAA8C;AAChE;AACA,SAAS,kBAAkB,QAAQ;CACjC,OAAO;AACT"}