MemoryHistory constructor

MemoryHistory({
  1. List<RouteInformation>? initialEntries,
  2. int? initialIndex,
})

Creates a MemoryHistory with an optional initial stack.

If initialEntries is omitted (or empty), the stack starts with a single entry at /.

If provided, initialIndex is clamped to the valid range.

Implementation

MemoryHistory({List<RouteInformation>? initialEntries, int? initialIndex}) {
  final entries = (initialEntries == null || initialEntries.isEmpty)
      ? [RouteInformation(uri: Uri.parse('/'))]
      : initialEntries;
  _entries = entries
      .map(
        (info) => _MemoryEntry(info: info, identifier: generateIdentifier()),
      )
      .toList();
  index = clampIndex(initialIndex ?? _entries.length - 1);
}