AssetConfig.fromMorphemeConfig constructor

AssetConfig.fromMorphemeConfig({
  1. required String projectName,
  2. required Map assetsConfig,
  3. String? flavor,
})

Creates an AssetConfig from a morpheme.yaml configuration map.

Applies default values for missing configuration entries:

  • pubspecDir: 'assets'
  • outputDir: 'assets/lib'
  • assetsDir: 'assets/assets'
  • flavorDir: 'assets/flavor'
  • createLibraryFile: true

Implementation

factory AssetConfig.fromMorphemeConfig({
  required String projectName,
  required Map<dynamic, dynamic> assetsConfig,
  String? flavor,
}) {
  return AssetConfig(
    projectName: projectName,
    pubspecDir: (assetsConfig['pubspec_dir']?.toString() ?? 'assets')
        .replaceAll('/', separator),
    outputDir: (assetsConfig['output_dir']?.toString() ?? 'assets/lib')
        .replaceAll('/', separator),
    assetsDir: (assetsConfig['assets_dir']?.toString() ?? 'assets/assets')
        .replaceAll('/', separator),
    flavorDir: (assetsConfig['flavor_dir']?.toString() ?? 'assets/flavor')
        .replaceAll('/', separator),
    createLibraryFile: assetsConfig['create_library_file'] ?? true,
    flavor: flavor?.isNotEmpty == true ? flavor : null,
  );
}