withConfiguration method
Replaces a configuration while retaining its parasite flags and terminator.
Implementation
XcfDocument withConfiguration(String name, XcfConfiguration value) {
final List<XcfParasite> parasites = properties.parasites;
final XcfParasite original = parasites.where((parasite) => parasite.name == name).lastOrNull ?? XcfParasite(name: name, data: [0]);
return copyWith(
properties: properties.replacing(
XcfParasite.toProperty([
...parasites.where((parasite) => parasite.name != name),
value.updateParasite(original),
]),
),
);
}