RouterNode<T extends Object?>.fromPath constructor

RouterNode<T extends Object?>.fromPath(
  1. String path
)

Implementation

factory RouterNode.fromPath(String path) {
  final parts =
      path.split('/').where((element) => element.isNotEmpty).toList();
  final root = RouterNode<T>(
    data: null,
    name: '',
    children: {},
    isParameter: false,
  );
  var current = root;
  for (final part in parts) {
    final isParameter = part.startsWith(':');
    final name = part;
    final child = RouterNode<T>(
      data: null,
      name: name,
      children: {},
      isParameter: isParameter,
    );
    current.children[name] = child;
    current = child;
  }
  return root;
}