-
Notifications
You must be signed in to change notification settings - Fork 56
Open
Description
Snippet:
const getImageDiff = async (reference, current) => new Promise((resolve, reject) => {
const options = {
highlightColor: '#ff00ff',
strict: true,
};
looksSame(reference, current, options, function(error, equal) {
if (error) reject(error);
if (!equal) {
looksSame.createDiff({reference, current, ...options}, function(error, buffer) {
if (error) reject(error);
resolve(buffer);
});
}
resolve();
});
});Will throw:
Unable to use "strict" and "tolerance" options together
This happens on looksSame.createDiff() since looksSame() mutates the options to look like this:
{
highlightColor: '#ff00ff',
strict: true,
tolerance: 2.3,
ignoreAntialiasing: true,
antialiasingTolerance: 0
}- I don't think any operation should mutate the options object since it is owned by the client code.
- Especially not so if this mutates it into an invalid state.
PS. Would be grand to have equal returned with createDiff: looksSame.createDiff(options, function(error, buffer, equal) would save some of the logic above.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels