| 158 | * perform static analysis and tree-shakes unused variables. |
| 159 | */ |
| 160 | export interface StrictOptions< |
| 161 | TPrefix extends string | undefined, |
| 162 | TServer extends StandardSchemaDictionary, |
| 163 | TClient extends StandardSchemaDictionary, |
| 164 | TShared extends StandardSchemaDictionary, |
| 165 | TExtends extends Array<Record<string, unknown>>, |
| 166 | > extends BaseOptions<TShared, TExtends> { |
| 167 | /** |
| 168 | * Runtime Environment variables to use for validation - `process.env`, `import.meta.env` or similar. |
| 169 | * Enforces all environment variables to be set. Required in for example Next.js Edge and Client runtimes. |
| 170 | */ |
| 171 | runtimeEnvStrict: Record< |
| 172 | | { |
| 173 | [TKey in keyof TClient]: TPrefix extends undefined |
| 174 | ? never |
| 175 | : TKey extends `${TPrefix}${string}` |
| 176 | ? TKey |
| 177 | : never; |
| 178 | }[keyof TClient] |
| 179 | | { |
| 180 | [TKey in keyof TServer]: TPrefix extends undefined |
| 181 | ? TKey |
| 182 | : TKey extends `${TPrefix}${string}` |
| 183 | ? never |
| 184 | : TKey; |
| 185 | }[keyof TServer] |
| 186 | | { |
| 187 | [TKey in keyof TShared]: TKey extends string ? TKey : never; |
| 188 | }[keyof TShared], |
| 189 | string | boolean | number | undefined |
| 190 | >; |
| 191 | runtimeEnv?: never; |
| 192 | } |
| 193 | |
| 194 | /** |
| 195 | * This interface is used to define the client-side environment variables. |
nothing calls this directly
no outgoing calls
no test coverage detected