equals

Performs a deep-comparison of two Result values for equality. See adt/union/derivations/equality for details.

This feature is experimental!

This API is still experimental, so it may change or be removed in future versions. You should not rely on it for production applications.

Signature

equals(value)
forall S, a:
  (S a).(S a) => Boolean
where S is Setoid

Documentation

Performs a deep-comparison of two Result values for equality. See adt/union/derivations/equality for details.

Example:

const Result = require('folktale/result');

Result.Ok(1).equals(Result.Ok(1));
// ==> true

Result.Error(1).equals(Result.Error(1));
// ==> true

Result.Ok(1).equals(Result.Error(1));
// ==> false

Result.Ok(Result.Ok(1)).equals(Result.Ok(Result.Ok(1)));
// ==> true

Properties

Source Code

function(value) {
      assertType(adt)(`${this[tagSymbol]}#equals`, value);
      return sameType(this, value) && compositesEqual(this, value, Object.keys(this));
    }
Stability
experimental
Licence
MIT
Authors
Copyright
(c) 2013-2017 Quildreen Motta, and CONTRIBUTORS
Authors
  • @boris-marinov
  • Quildreen Motta
Maintainers
  • Quildreen Motta <queen@robotlolita.me> (http://robotlolita.me/)