{"version":3,"file":"standard.cjs","names":[],"sources":["../src/standard.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type {\n  StandardEnvDefinition,\n  StandardValidationIssue,\n  StandardValidationResult,\n} from \"./types\";\n\nexport function defineStandardEnv<T extends Omit<StandardEnvDefinition, \"_standard\">>(\n  definition: T,\n): T & { readonly _standard: true } {\n  if (definition.client) {\n    for (const key of Object.keys(definition.client)) {\n      if (!key.startsWith(\"VITE_\")) {\n        throw new Error(\n          `[vite-env] Client env var \"${key}\" must be prefixed with VITE_.\\n` +\n            `  Rename it to \"VITE_${key}\" or move it to \"server\" if it's secret.`,\n        );\n      }\n    }\n  }\n\n  return { ...definition, _standard: true as const };\n}\n\nexport function isStandardEnvDefinition(def: unknown): def is StandardEnvDefinition {\n  return (\n    def != null &&\n    typeof def === \"object\" &&\n    \"_standard\" in def &&\n    (def as Record<string, unknown>)._standard === true\n  );\n}\n\nexport async function validateStandardEnv(\n  def: StandardEnvDefinition,\n  rawEnv: Record<string, string>,\n): Promise<StandardValidationResult> {\n  const combinedShape: Record<string, StandardSchemaV1> = {\n    ...def.server,\n    ...def.client,\n  };\n\n  const errors: StandardValidationIssue[] = [];\n  const data: Record<string, unknown> = {};\n\n  for (const [key, schema] of Object.entries(combinedShape)) {\n    const result = await schema[\"~standard\"].validate(rawEnv[key]);\n\n    if (\"issues\" in result && result.issues) {\n      for (const issue of result.issues) {\n        errors.push({\n          message: issue.message,\n          path: [key, ...(issue.path ?? [])],\n        });\n      }\n    } else {\n      data[key] = (result as { value: unknown }).value;\n    }\n  }\n\n  if (errors.length > 0) {\n    return { success: false, data: null, errors };\n  }\n\n  return { success: true, data, errors: [] as const };\n}\n"],"mappings":";;AAOA,SAAgB,kBACd,YACkC;AAClC,KAAI,WAAW;OACR,MAAM,OAAO,OAAO,KAAK,WAAW,OAAO,CAC9C,KAAI,CAAC,IAAI,WAAW,QAAQ,CAC1B,OAAM,IAAI,MACR,8BAA8B,IAAI,uDACR,IAAI,0CAC/B;;AAKP,QAAO;EAAE,GAAG;EAAY,WAAW;EAAe;;AAGpD,SAAgB,wBAAwB,KAA4C;AAClF,QACE,OAAO,QACP,OAAO,QAAQ,YACf,eAAe,OACd,IAAgC,cAAc;;AAInD,eAAsB,oBACpB,KACA,QACmC;CACnC,MAAM,gBAAkD;EACtD,GAAG,IAAI;EACP,GAAG,IAAI;EACR;CAED,MAAM,SAAoC,EAAE;CAC5C,MAAM,OAAgC,EAAE;AAExC,MAAK,MAAM,CAAC,KAAK,WAAW,OAAO,QAAQ,cAAc,EAAE;EACzD,MAAM,SAAS,MAAM,OAAO,aAAa,SAAS,OAAO,KAAK;AAE9D,MAAI,YAAY,UAAU,OAAO,OAC/B,MAAK,MAAM,SAAS,OAAO,OACzB,QAAO,KAAK;GACV,SAAS,MAAM;GACf,MAAM,CAAC,KAAK,GAAI,MAAM,QAAQ,EAAE,CAAE;GACnC,CAAC;MAGJ,MAAK,OAAQ,OAA8B;;AAI/C,KAAI,OAAO,SAAS,EAClB,QAAO;EAAE,SAAS;EAAO,MAAM;EAAM;EAAQ;AAG/C,QAAO;EAAE,SAAS;EAAM;EAAM,QAAQ,EAAE;EAAW"}