21 lines
850 B
TypeScript
21 lines
850 B
TypeScript
import { createEnv } from '@t3-oss/env-core'
|
|
import { z } from 'zod'
|
|
|
|
export const env = createEnv({
|
|
server: {
|
|
DATABASE_URL: z.url({ protocol: /^mysql$/ }),
|
|
ENABLE_API_DOCS: z.stringbool().default(false),
|
|
LOG_DB: z.stringbool().default(false),
|
|
LOG_FORMAT: z.enum(['pretty', 'json']).optional(),
|
|
LOG_LEVEL: z.enum(['trace', 'debug', 'info', 'warning', 'error', 'fatal']).default('info'),
|
|
SOH_PREDICTION_API_BASE_URL: z.url({ protocol: /^https?$/ }),
|
|
SOH_PREDICTION_CACHE_TTL_SECONDS: z.coerce.number().int().positive().default(86_400),
|
|
SOH_PREDICTION_NEGATIVE_CACHE_TTL_SECONDS: z.coerce.number().int().positive().default(300),
|
|
SOH_PREDICTION_TIMEOUT_MS: z.coerce.number().int().positive().default(10_000),
|
|
},
|
|
clientPrefix: 'VITE_',
|
|
client: {},
|
|
runtimeEnv: process.env,
|
|
emptyStringAsUndefined: true,
|
|
})
|