tt_MASK function

dynamic tt_MASK(
  1. dynamic v1,
  2. dynamic v2,
  3. dynamic v3
)

tt_MASK(str, mask, placeholder): mask formatting (placeholder defaults to '#')

Implementation

dynamic tt_MASK(dynamic v1, dynamic v2, dynamic v3) {
  final src = varToStr(v1).replaceAll(RegExp(r"\D"), "");
  final mask = varToStr(v2);
  final phStr = varToStr(v3);
  final ph = phStr.isNotEmpty ? phStr[0] : '#';
  var si = 0;
  final buf = StringBuffer();
  for (final c in mask.split("")) {
    if (c == ph) {
      buf.write(si < src.length ? src[si++] : '_');
    } else {
      buf.write(c);
    }
  }
  return buf.toString();
}