emitStThemeDart function
String
emitStThemeDart(
- STDesignIr ir, {
- String? variableName,
- String? extensionName,
- String? partOf,
Implementation
String emitStThemeDart(
STDesignIr ir, {
String? variableName,
String? extensionName,
String? partOf,
}) {
final name = variableName ?? ir.variableName;
final extName = extensionName ?? ir.extensionName;
final part = partOf ?? ir.partOf;
final buf = StringBuffer();
buf.writeln('// GENERATED CODE - do not modify by hand.');
buf.writeln('// dart run flutter_scale_theme_kit:generate');
buf.writeln();
if (part != null) {
buf.writeln("part of '$part';");
buf.writeln();
} else {
buf.writeln("import 'package:flutter/material.dart';");
buf.writeln(
"import 'package:flutter_scale_theme_kit/flutter_scale_theme_kit.dart';",
);
buf.writeln();
}
buf.writeln('final $name = STTheme(');
_emitColors(buf, ir.colors);
_emitRadius(buf, ir.radius);
_emitTypography(buf, ir.typography);
_emitComponents(buf, ir.components);
_emitExtras(buf, ir.extras);
buf.writeln(');');
buf.writeln();
emitStResolvedExtension(
buf,
extras: ir.extras,
extraColors: ir.colors.extra.keys.toList(),
extraComponents: ir.components?.extra.keys.toList() ?? const [],
extensionName: extName,
);
return buf.toString();
}