tt_UNMASK function

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

tt_UNMASK(str, mask, placeholder): removes the mask, keeping only the characters at placeholder positions (placeholder defaults to '#')

Implementation

dynamic tt_UNMASK(dynamic v1, dynamic v2, dynamic v3) {
  final s = varToStr(v1);
  final mask = varToStr(v2);
  final phStr = varToStr(v3);
  final ph = phStr.isNotEmpty ? phStr[0] : '#';
  final buf = StringBuffer();
  for (var i = 0; i < mask.length && i < s.length; i++) {
    if (mask[i] == ph) buf.write(s[i]);
  }
  return buf.toString();
}