{"version":3,"file":"arktype.mjs","names":[],"sources":["../../src/presets/arktype.ts"],"sourcesContent":["import type { Extension } from \"#/@types/extension\";\nimport type { StandardSchemaV1 } from \"#/@types/standard\";\n\nimport { type } from \"arktype\";\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: type.string,\n        BASE_URL: type.string,\n        PROD: type.boolean,\n        DEV: type.boolean,\n        SSR: type.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: type.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: type.or('\"production\"', '\"development\"', '\"none\"'),\n        BASE_URL: type.string,\n        ASSET_PREFIX: type.string,\n        PROD: type.boolean,\n        DEV: type.boolean,\n        SSR: type.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: type.string,\n    },\n});\n\nexport { rsbuildClient, rsbuildServer, viteClient, viteServer };\n"],"mappings":";;;;;;;;;;AAcA,MAAM,aAMD,gBAAgB,EACjB,QAAQ;CACJ,MAAM,KAAK;CACX,UAAU,KAAK;CACf,MAAM,KAAK;CACX,KAAK,KAAK;CACV,KAAK,KAAK;AACd,EACJ,CAAC;;;;;;;;AASD,MAAM,aAOD,gBAAgB;CACjB,SAAS,CACL,UACJ;CACA,QAAQ,EACJ,UAAU,KAAK,OACnB;AACJ,CAAC;;;;;;;;AASD,MAAM,gBAUD,gBAAgB,EACjB,QAAQ;CACJ,MAAM,KAAK,GAAG,kBAAgB,mBAAiB,UAAQ;CACvD,UAAU,KAAK;CACf,cAAc,KAAK;CACnB,MAAM,KAAK;CACX,KAAK,KAAK;CACV,KAAK,KAAK;AACd,EACJ,CAAC;;;;;;;;AASD,MAAM,gBAWD,gBAAgB;CACjB,SAAS,CACL,aACJ;CACA,QAAQ,EACJ,UAAU,KAAK,OACnB;AACJ,CAAC"}