{"version":3,"file":"validate.mjs","names":[],"sources":["../../../../../../../@warlock.js/seal/src/factory/validate.ts"],"sourcesContent":["import { getSealConfig } from \"../config\";\r\nimport type { SchemaContext, ValidationResult } from \"../types\";\r\nimport type { BaseValidator } from \"../validators\";\r\nimport { type ValidateOptions } from \"./validators\";\r\n\r\n/**\r\n * Validate data against a schema\r\n */\r\nexport const validate = async <T extends BaseValidator>(\r\n  schema: T,\r\n  data: any, // Temporarily use any - will fix type inference\r\n  { context: extendedContext, ...configurations }: ValidateOptions = getSealConfig() || {},\r\n): Promise<ValidationResult> => {\r\n  const context: SchemaContext = {\r\n    allValues: data,\r\n    parent: null,\r\n    value: data,\r\n    key: \"\",\r\n    path: \"\",\r\n    context: extendedContext,\r\n    rootContext: extendedContext,\r\n    translateRule(ruleTranslation) {\r\n      return configurations.translateRule?.(ruleTranslation) ?? \"\";\r\n    },\r\n    translateAttribute(attributeTranslation) {\r\n      return configurations.translateAttribute?.(attributeTranslation) ?? \"\";\r\n    },\r\n    configurations,\r\n  };\r\n\r\n  return await schema.validate(data, context);\r\n};\r\n"],"mappings":";;;;;;AAQA,MAAa,WAAW,OACtB,QACA,MACA,EAAE,SAAS,iBAAiB,GAAG,mBAAoC,cAAc,KAAK,CAAC,MACzD;CAC9B,MAAM,UAAyB;EAC7B,WAAW;EACX,QAAQ;EACR,OAAO;EACP,KAAK;EACL,MAAM;EACN,SAAS;EACT,aAAa;EACb,cAAc,iBAAiB;GAC7B,OAAO,eAAe,gBAAgB,eAAe,KAAK;EAC5D;EACA,mBAAmB,sBAAsB;GACvC,OAAO,eAAe,qBAAqB,oBAAoB,KAAK;EACtE;EACA;CACF;CAEA,OAAO,MAAM,OAAO,SAAS,MAAM,OAAO;AAC5C"}