@@ -13,29 +13,29 @@ import type { CreateAppModuleOptions } from './app.module.js';
1313
1414type EnvSchema = z . ZodType < BaseEnv , z . ZodTypeDef , { [ key : string ] : string } > ;
1515
16- export type CreateAppOptions = Simplify <
16+ export type CreateAppOptions < TEnvSchema extends EnvSchema = EnvSchema > = Simplify <
1717 Omit < CreateAppModuleOptions , 'envConfig' > &
1818 Pick < CreateAppContainerOptions , 'docs' | 'version' > & {
19- envSchema : EnvSchema ;
19+ envSchema : TEnvSchema ;
2020 }
2121> ;
2222
23- export type CreateAppContainerResult < TOptions extends CreateAppOptions > = Result <
23+ export type CreateAppContainerResult < TEnvSchema extends EnvSchema > = Result <
2424 AppContainer ,
2525 typeof RuntimeException . Instance
2626> & {
27- _inferOptions : TOptions ;
27+ __inferredEnvSchema : TEnvSchema ;
2828} ;
2929
3030export class AppFactory {
31- static create < TOptions extends CreateAppOptions > ( {
31+ static create < TEnvSchema extends EnvSchema > ( {
3232 docs,
3333 envSchema,
3434 imports = [ ] ,
3535 prisma,
3636 providers = [ ] ,
3737 version
38- } : TOptions ) : CreateAppContainerResult < TOptions > {
38+ } : CreateAppOptions < TEnvSchema > ) : CreateAppContainerResult < TEnvSchema > {
3939 return this . parseEnv ( envSchema ) . match (
4040 ( envConfig ) => {
4141 const module = AppModule . create ( { envConfig, imports, prisma, providers } ) ;
@@ -53,7 +53,7 @@ export class AppFactory {
5353 cause : err
5454 } ) ;
5555 }
56- ) satisfies Result < AppContainer , typeof RuntimeException . Instance > as CreateAppContainerResult < TOptions > ;
56+ ) satisfies Result < AppContainer , typeof RuntimeException . Instance > as CreateAppContainerResult < TEnvSchema > ;
5757 }
5858
5959 private static parseEnv ( envSchema : EnvSchema ) : Result < BaseEnv , typeof ValidationException . Instance > {
0 commit comments