36 lines
772 B
Dart
36 lines
772 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
class IRouteConfig {
|
|
final Object? extra;
|
|
final bool forResult;
|
|
final Uri uri;
|
|
final bool keepAlive;
|
|
final bool recordHistory;
|
|
|
|
const IRouteConfig({
|
|
this.extra,
|
|
required this.uri,
|
|
this.forResult = false,
|
|
this.keepAlive = false,
|
|
this.recordHistory = false,
|
|
});
|
|
|
|
String get path => uri.path;
|
|
|
|
IRouteConfig copyWith({
|
|
Object? extra,
|
|
bool? forResult,
|
|
bool? keepAlive,
|
|
bool? recordHistory,
|
|
}) =>
|
|
IRouteConfig(
|
|
extra: extra ?? this.extra,
|
|
forResult: forResult ?? this.forResult,
|
|
keepAlive: keepAlive ?? this.keepAlive,
|
|
recordHistory: recordHistory ?? this.recordHistory,
|
|
uri: uri,
|
|
);
|
|
|
|
ValueKey get pageKey => ValueKey(path);
|
|
}
|