writeRawWidgets function

void writeRawWidgets(
  1. List<RawWidgetDj> rawWidgets,
  2. Map<String, String> djNamesMap,
  3. String outputParentDir,
  4. String outputDirName,
)

Implementation

void writeRawWidgets(
  List<RawWidgetDj> rawWidgets,
  Map<String, String> djNamesMap,
  String outputParentDir,
  String outputDirName,
) {
  var widgetFileDjs = <FileDj>[];

  rawWidgets.forEach((rawWidget) {
    var widgetFileDj = rawWidget.toWidgetDjFileDj(djNamesMap);
    if (widgetFileDj != null) {
      widgetFileDjs.add(widgetFileDj);
    } else {
      print('No FileDj for ${rawWidget.name} @ ${rawWidget.originFilePath}');
    }
  });

  var exportFileDj = FileDj(
    name: outputDirName,
    codeParts: widgetFileDjs.map((e) => ExportDj(exportStr: e.name)).toList(),
  );

  widgetFileDjs.add(exportFileDj);

  var baseDj = BaseDj(
    path: outputParentDir,
    node: DirectoryDj(
      name: outputDirName,
      nodes: widgetFileDjs,
    ),
  );

  baseDj.writeToDisk();
}