wrap method

String wrap(
  1. String? before, [
  2. String? after
])

Wraps the String between two strings. If before is a wrap char and after is omitted, the method resolve after using getOppositeWrap.

Implementation

String wrap(String? before, [String? after]) {
  if (before.isBlank && after.isBlank) return blankIfNull;
  before = before.ifBlank("")!;

  if (after.isBlank && before.isNotBlank) {
    if (before.isMultipleCloseWrap || before.isCloseWrap) {
      before = before.getOppositeWrap;
    }
    after = before.getOppositeWrap;
  }

  if (after.isNotBlank && before.isBlank) {
    if (after!.isMultipleOpenWrap || after.isOpenWrap) {
      after = after.getOppositeWrap;
    }
    before = after.getOppositeWrap;
  }

  return "$before$this${after.ifBlank(before)!}";
}