groupConsecutiveSameStyleBlocks static method

List groupConsecutiveSameStyleBlocks(
  1. List<TDataGroup> groups, {
  2. bool header = true,
  3. bool codeBlocks = true,
  4. bool blockquotes = true,
  5. bool customBlocks = true,
})

Implementation

static List<dynamic /*TDataGroup | BlockGroup[]*/ > groupConsecutiveSameStyleBlocks(
  List<TDataGroup> groups, {
  // blocksOf:
  bool header = true,
  bool codeBlocks = true,
  bool blockquotes = true,
  bool customBlocks = true,
}) {
  return groupConsecutiveElementsWhile(groups, (g, gPrev) {
    if (g is! BlockGroup || gPrev is! BlockGroup) {
      return false;
    }

    return ((codeBlocks && Grouper.areBothCodeblocksWithSameLang(g, gPrev)) ||
        (blockquotes && Grouper.areBothBlockquotesWithSameAdi(g, gPrev)) ||
        (header && Grouper.areBothSameHeadersWithSameAdi(g, gPrev)) ||
        (customBlocks && Grouper.areBothCustomBlockWithSameAttr(g, gPrev)));
  });
}