BrickConfig constructor

BrickConfig({
  1. required String sourcePath,
  2. required StringOr<MasonBrickConfig>? masonBrickConfig,
  3. required Map<String, FileConfig>? fileConfigs,
  4. required Map<String, DirectoryConfig>? directoryConfigs,
  5. required Map<String, UrlConfig>? urlConfigs,
  6. required Map<String, PartialConfig?>? partialConfigs,
  7. required List<String>? exclude,
  8. required String? configPath,
})

Implementation

factory BrickConfig({
  required String sourcePath,
  required StringOr<MasonBrickConfig>? masonBrickConfig,
  required Map<String, FileConfig>? fileConfigs,
  required Map<String, DirectoryConfig>? directoryConfigs,
  required Map<String, UrlConfig>? urlConfigs,
  required Map<String, PartialConfig?>? partialConfigs,
  required List<String>? exclude,
  required String? configPath,
}) {
  if (configPath == null) {
    return BrickConfig._(
      sourcePath: sourcePath,
      masonBrickConfig: masonBrickConfig,
      fileConfigs: fileConfigs,
      directoryConfigs: directoryConfigs,
      urlConfigs: urlConfigs,
      partialConfigs: partialConfigs,
      exclude: exclude,
      configPath: configPath,
    );
  }

  final configDir = p.dirname(configPath);

  final updatedSourcePath = p.join(configDir, sourcePath);

  final updateMasonBrickConfig = masonBrickConfig?.updateRootPath(configDir);

  return BrickConfig._(
    sourcePath: updatedSourcePath,
    masonBrickConfig: updateMasonBrickConfig,
    fileConfigs: fileConfigs,
    directoryConfigs: directoryConfigs,
    urlConfigs: urlConfigs,
    partialConfigs: partialConfigs,
    exclude: exclude,
    configPath: configPath,
  );
}