copyWith method
ProjectConfig
copyWith({
- String? appName,
- String? displayName,
- String? androidPackage,
- String? iosBundleId,
- StateManagement? stateManagement,
- bool? useFirebase,
- bool? useSecretKey,
- StateManagementArchitecture? blocArchitecture,
- StateManagementArchitecture? riverpodArchitecture,
- Set<
PlatformTarget> ? platformTargets, - CiCdScope? ciCdScope,
- CiCdProvider? ciCdProvider,
- GitLabRunnerMode? gitlabRunnerMode,
- Set<
DeployTarget> ? deployTargets, - String? projectRoot,
- GuideLanguage? guideLanguage,
- SessionStorageKeys? sessionStorageKeys,
Copy of this config with selected fields replaced.
Used by setup commands to flip one integration (Firebase, secret key, CI/CD, platforms) without dropping the rest of the detected project.
Implementation
ProjectConfig copyWith({
String? appName,
String? displayName,
String? androidPackage,
String? iosBundleId,
StateManagement? stateManagement,
bool? useFirebase,
bool? useSecretKey,
StateManagementArchitecture? blocArchitecture,
StateManagementArchitecture? riverpodArchitecture,
Set<PlatformTarget>? platformTargets,
CiCdScope? ciCdScope,
CiCdProvider? ciCdProvider,
GitLabRunnerMode? gitlabRunnerMode,
Set<DeployTarget>? deployTargets,
String? projectRoot,
GuideLanguage? guideLanguage,
SessionStorageKeys? sessionStorageKeys,
}) {
return ProjectConfig(
appName: appName ?? this.appName,
displayName: displayName ?? this.displayName,
androidPackage: androidPackage ?? this.androidPackage,
iosBundleId: iosBundleId ?? this.iosBundleId,
stateManagement: stateManagement ?? this.stateManagement,
useFirebase: useFirebase ?? this.useFirebase,
useSecretKey: useSecretKey ?? this.useSecretKey,
blocArchitecture: blocArchitecture ?? this.blocArchitecture,
riverpodArchitecture: riverpodArchitecture ?? this.riverpodArchitecture,
platformTargets: platformTargets ?? this.platformTargets,
ciCdScope: ciCdScope ?? this.ciCdScope,
ciCdProvider: ciCdProvider ?? this.ciCdProvider,
gitlabRunnerMode: gitlabRunnerMode ?? this.gitlabRunnerMode,
deployTargets: deployTargets ?? this.deployTargets,
projectRoot: projectRoot ?? this.projectRoot,
guideLanguage: guideLanguage ?? this.guideLanguage,
sessionStorageKeys: sessionStorageKeys ?? this.sessionStorageKeys,
);
}