params method

Map<String, dynamic> params(
  1. RouteMask other, [
  2. int decoratorStartOffset = 1,
  3. int decoratorEndOffset = 1
])

Implementation

Map<String, dynamic> params(RouteMask other,
    [int decoratorStartOffset = 1, int decoratorEndOffset = 1]) {
  final map = <String, dynamic>{};

  RouteMask mask;
  RouteMask route;

  if (args.isEmpty) {
    if (other.args.isEmpty) {
      return {};
    }

    mask = other;
    route = this;
  } else {
    mask = this;
    route = other;
  }

  final count = mask.segmentCount;
  for (int i = 0; i < count; i++) {
    if (mask._segments[i].mask && route.segmentCount > i) {
      map[mask._segments[i]
              .substringName(decoratorStartOffset, decoratorEndOffset)] =
          route._segments[i].name;
    }
  }

  return map;
}