info static method

PathInfo info(
  1. String path
)

Retrieves path information, including pairs of segments and an ending.

Implementation

static PathInfo info(String path) {
  final isValid = path.isNotEmpty && RegExp(_pathRegs).hasMatch(path);
  if (isValid) {
    var segments = path.split("/");
    int length = segments.length;
    String end = length.isOdd ? segments.last : "";
    List<String> x = [];
    List<String> y = [];
    List.generate(length.isOdd ? length - 1 : length, (i) {
      i.isEven ? x.add(segments[i]) : y.add(segments[i]);
    });
    return PathInfo(
      ending: end,
      pairs: List.generate(x.length, (index) {
        return PathTween(x[index], y[index]);
      }),
    );
  }
  return PathInfo(invalid: true);
}