ignorant v0.1.0 Ignorant protocol

Defines functions for data structures that may selectively ignore specific values they contain, usually to simplify partial comparison in tests.

Summary

Functions

Given a data structure, extracts a list of all fields tagged with :ignored

Given a data structure and a list of fields to ignore, returns a new data structure with the specified fields tagged as :ignored

Returns a modified version of data_without_ignores where all fields tagged as :ignored in data_with_ignores are tagged as :ignored

Types

t :: term

Functions

extract_ignored(data)

Given a data structure, extracts a list of all fields tagged with :ignored.

ignore(data, fields)

Given a data structure and a list of fields to ignore, returns a new data structure with the specified fields tagged as :ignored.

merge_ignored(data_without_ignores, data_with_ignores)

Returns a modified version of data_without_ignores where all fields tagged as :ignored in data_with_ignores are tagged as :ignored.

This usually works by calling extract_ignored on data_with_ignores to get a list of fields that are ignored and then calling ignore on data_without_igores, passing in that list.

The two data structures should have the same shape.