pack function
Pack all SVG files into a single asset and its associated Dart code.
Implementation
Future<void> pack(PackOptions options) async {
final packer = SvgPacker();
final pack = await packer.pack(options.inputFiles);
// Asset
final assetFile = File(options.assetOutputPath);
final assetDir = Directory(path.dirname(assetFile.path));
if (!assetDir.existsSync()) {
await assetDir.create(recursive: true);
}
await assetFile.writeAsBytes(pack.data);
// Dart
final dartOutput = generateDart(pack, options);
final dartFile = File(options.dartOutputPath);
final dartDir = Directory(path.dirname(dartFile.path));
if (!dartDir.existsSync()) {
await dartDir.create(recursive: true);
}
await dartFile.writeAsString(dartOutput);
}