operator == method

  1. @override
bool operator == (
  1. dynamic other
)
override

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

Override this method to specify a different equality relation on a class. The overriding method must still be an equivalence relation. That is, it must be:

  • Total: It must return a boolean for all arguments. It should never throw or return null.

  • Reflexive: For all objects o, o == o must be true.

  • Symmetric: For all objects o1 and o2, o1 == o2 and o2 == o1 must either both be true, or both be false.

  • Transitive: For all objects o1, o2, and o3, if o1 == o2 and o2 == o3 are true, then o1 == o3 must be true.

The method should also be consistent over time, so whether two objects are equal should only change if at least one of the objects was modified.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

Implementation

@override
bool operator ==(dynamic other) {
  if (identical(this, other)) return true;
  if (other.runtimeType != MarkdownStyleSheet) return false;
  final MarkdownStyleSheet typedOther = other;
  return typedOther.a == a &&
      typedOther.p == p &&
      typedOther.code == code &&
      typedOther.h1 == h1 &&
      typedOther.h2 == h2 &&
      typedOther.h3 == h3 &&
      typedOther.h4 == h4 &&
      typedOther.h5 == h5 &&
      typedOther.h6 == h6 &&
      typedOther.em == em &&
      typedOther.strong == strong &&
      typedOther.del == del &&
      typedOther.blockquote == blockquote &&
      typedOther.img == img &&
      typedOther.checkbox == checkbox &&
      typedOther.blockSpacing == blockSpacing &&
      typedOther.listIndent == listIndent &&
      typedOther.listBullet == listBullet &&
      typedOther.tableHead == tableHead &&
      typedOther.tableBody == tableBody &&
      typedOther.tableHeadAlign == tableHeadAlign &&
      typedOther.tableBorder == tableBorder &&
      typedOther.tableColumnWidth == tableColumnWidth &&
      typedOther.tableCellsPadding == tableCellsPadding &&
      typedOther.tableCellsDecoration == tableCellsDecoration &&
      typedOther.blockquotePadding == blockquotePadding &&
      typedOther.blockquoteDecoration == blockquoteDecoration &&
      typedOther.codeblockPadding == codeblockPadding &&
      typedOther.codeblockDecoration == codeblockDecoration &&
      typedOther.horizontalRuleDecoration == horizontalRuleDecoration &&
      typedOther.textAlign == textAlign &&
      typedOther.h1Align == h1Align &&
      typedOther.h2Align == h2Align &&
      typedOther.h3Align == h3Align &&
      typedOther.h4Align == h4Align &&
      typedOther.h5Align == h5Align &&
      typedOther.h6Align == h6Align &&
      typedOther.unorderedListAlign == unorderedListAlign &&
      typedOther.orderedListAlign == orderedListAlign &&
      typedOther.blockquoteAlign == blockquoteAlign &&
      typedOther.codeblockAlign == codeblockAlign &&
      typedOther.textScaleFactor == textScaleFactor;
}