{"version":3,"file":"valibot.mjs","names":[],"sources":["../../src/presets/valibot.ts"],"sourcesContent":["import type { Extension } from \"#/@types/extension\";\nimport type { StandardSchemaV1 } from \"#/@types/standard\";\n\nimport { boolean, picklist, string } from \"valibot\";\n\nimport { createExtension } from \"#/functions/create/extension\";\n\n/**\n * Vite client-side environment preset.\n *\n * Describes the built-in constants Vite injects into `import.meta.env` on the\n * client (see https://vite.dev/guide/env-and-mode). User-defined `VITE_*`\n * variables are not covered — add them to your own `define`.\n */\nconst viteClient: Extension<{\n    MODE: StandardSchemaV1<string, string>;\n    BASE_URL: StandardSchemaV1<string, string>;\n    PROD: StandardSchemaV1<boolean, boolean>;\n    DEV: StandardSchemaV1<boolean, boolean>;\n    SSR: StandardSchemaV1<boolean, boolean>;\n}> = createExtension({\n    define: {\n        MODE: string(),\n        BASE_URL: string(),\n        PROD: boolean(),\n        DEV: boolean(),\n        SSR: boolean(),\n    },\n});\n\n/**\n * Vite server-side environment preset.\n *\n * Adds `NODE_ENV` (set by Vite into `process.env`) on top of the client\n * constants. Use with `target: \"server\"` and a `runtimeEnv` that merges\n * `process.env` and `import.meta.env`.\n */\nconst viteServer: Extension<{\n    NODE_ENV: StandardSchemaV1<string, string>;\n    MODE: StandardSchemaV1<string, string>;\n    BASE_URL: StandardSchemaV1<string, string>;\n    PROD: StandardSchemaV1<boolean, boolean>;\n    DEV: StandardSchemaV1<boolean, boolean>;\n    SSR: StandardSchemaV1<boolean, boolean>;\n}> = createExtension({\n    extends: [\n        viteClient,\n    ],\n    define: {\n        NODE_ENV: string(),\n    },\n});\n\n/**\n * Rsbuild client-side environment preset.\n *\n * Describes the constants Rsbuild injects into `import.meta.env` on the client\n * (see https://rsbuild.dev/guide/advanced/env-vars). User-defined `PUBLIC_*`\n * variables are not covered — add them to your own `define`.\n */\nconst rsbuildClient: Extension<{\n    MODE: StandardSchemaV1<\n        \"production\" | \"development\" | \"none\",\n        \"production\" | \"development\" | \"none\"\n    >;\n    BASE_URL: StandardSchemaV1<string, string>;\n    ASSET_PREFIX: StandardSchemaV1<string, string>;\n    PROD: StandardSchemaV1<boolean, boolean>;\n    DEV: StandardSchemaV1<boolean, boolean>;\n    SSR: StandardSchemaV1<boolean, boolean>;\n}> = createExtension({\n    define: {\n        MODE: picklist([\n            \"production\",\n            \"development\",\n            \"none\",\n        ]),\n        BASE_URL: string(),\n        ASSET_PREFIX: string(),\n        PROD: boolean(),\n        DEV: boolean(),\n        SSR: boolean(),\n    },\n});\n\n/**\n * Rsbuild server-side environment preset.\n *\n * Adds `NODE_ENV` (set by Rsbuild into `process.env`) on top of the client\n * constants. Use with `target: \"server\"` and a `runtimeEnv` that merges\n * `process.env` and `import.meta.env`.\n */\nconst rsbuildServer: Extension<{\n    NODE_ENV: StandardSchemaV1<string, string>;\n    MODE: StandardSchemaV1<\n        \"production\" | \"development\" | \"none\",\n        \"production\" | \"development\" | \"none\"\n    >;\n    BASE_URL: StandardSchemaV1<string, string>;\n    ASSET_PREFIX: StandardSchemaV1<string, string>;\n    PROD: StandardSchemaV1<boolean, boolean>;\n    DEV: StandardSchemaV1<boolean, boolean>;\n    SSR: StandardSchemaV1<boolean, boolean>;\n}> = createExtension({\n    extends: [\n        rsbuildClient,\n    ],\n    define: {\n        NODE_ENV: string(),\n    },\n});\n\nexport { rsbuildClient, rsbuildServer, viteClient, viteServer };\n"],"mappings":";;;;;;;;;;AAcA,MAAM,aAMD,gBAAgB,EACjB,QAAQ;CACJ,MAAM,OAAO;CACb,UAAU,OAAO;CACjB,MAAM,QAAQ;CACd,KAAK,QAAQ;CACb,KAAK,QAAQ;AACjB,EACJ,CAAC;;;;;;;;AASD,MAAM,aAOD,gBAAgB;CACjB,SAAS,CACL,UACJ;CACA,QAAQ,EACJ,UAAU,OAAO,EACrB;AACJ,CAAC;;;;;;;;AASD,MAAM,gBAUD,gBAAgB,EACjB,QAAQ;CACJ,MAAM,SAAS;EACX;EACA;EACA;CACJ,CAAC;CACD,UAAU,OAAO;CACjB,cAAc,OAAO;CACrB,MAAM,QAAQ;CACd,KAAK,QAAQ;CACb,KAAK,QAAQ;AACjB,EACJ,CAAC;;;;;;;;AASD,MAAM,gBAWD,gBAAgB;CACjB,SAAS,CACL,aACJ;CACA,QAAQ,EACJ,UAAU,OAAO,EACrB;AACJ,CAAC"}