path static method

PathDetails path(
  1. String format,
  2. Map<String, String> values
)

Implementation

static PathDetails path(String format, Map<String, String> values) {
  final segments =
      format.split('/').where((e) => e.isNotEmpty).toList(growable: false);
  final buffer = StringBuffer();
  for (int i = 0; i < segments.length; i++) {
    if (i.isEven) {
      buffer.write(segments[i]);
    } else {
      final key = '${_pluralize.singular(segments[i - 1])}_id';
      buffer.write(values[key] ?? '');
    }
    if (i < segments.length - 1) buffer.write('/');
  }
  return PathDetails._(
    path: buffer.toString(),
    format: format,
    lastSegment: segments.isEmpty ? '' : segments.last,
    values: Map.unmodifiable(values),
  );
}