from static method

TypeMapper? from(
  1. dynamic matcher,
  2. dynamic mapper, [
  3. dynamic unmapper
])

Implementation

static TypeMapper? from(dynamic matcher, dynamic mapper, [dynamic unmapper]) {
  NodeMatcher? matcherOk;
  NodeMap? mapperOk;
  NodeUnmap? unmapperOk;

  if (matcher is NodeMatcher) {
    matcherOk = matcher;
  } else if (matcher is RegExp) {
    matcherOk = (n, p, k) {
      var keyPath = k.toString();
      var hasMatch = matcher.hasMatch(keyPath);
      return hasMatch;
    };
  }

  if (mapper is NodeMap) {
    mapperOk = mapper;
  }

  if (unmapper is NodeUnmap) {
    unmapperOk = unmapper;
  }

  if (matcherOk != null && mapperOk != null) {
    return TypeMapper(matcherOk, mapperOk, unmapperOk);
  }

  return null;
}