/* * fluro * Created by Yakka * https://theyakka.com * * Copyright (c) 2019 Yakka, LLC. All rights reserved. * See LICENSE for distribution and usage details. */ import 'package:flutter/widgets.dart'; /// enum HandlerType { route, function, } /// class Handler { Handler({this.type = HandlerType.route, this.handlerFunc}); final HandlerType type; final HandlerFunc handlerFunc; } /// typedef Route RouteCreator( RouteSettings route, Map> parameters); /// typedef Widget HandlerFunc( BuildContext context, Map> parameters); /// class AppRoute { String route; dynamic handler; TransitionType transitionType; AppRoute(this.route, this.handler, {this.transitionType}); } enum TransitionType { native, nativeModal, inFromLeft, inFromRight, inFromBottom, fadeIn, custom, // if using custom then you must also provide a transition cupertino, cupertinoFullScreenDialog, } enum RouteMatchType { visual, nonVisual, noMatch, } /// class RouteMatch { RouteMatch( {this.matchType = RouteMatchType.noMatch, this.route, this.errorMessage = "Unable to match route. Please check the logs."}); final Route route; final RouteMatchType matchType; final String errorMessage; } class RouteNotFoundException implements Exception { final String message; final String path; RouteNotFoundException(this.message, this.path); @override String toString() { return "No registered route was found to handle '$path'"; } }