@@ -162,7 +162,11 @@ class Spanner {
162162 return isLastSegment ? defn : node.addChildAndReturn (key, paramNode);
163163 }
164164
165- RouteResult ? lookup (HTTPMethod method, dynamic route, {bool debug = false }) {
165+ RouteResult ? lookup (
166+ HTTPMethod method,
167+ dynamic route, {
168+ void Function (String )? devlog,
169+ }) {
166170 final path = route is Uri ? route.path : route.toString ();
167171 final routeSegments = route is Uri
168172 ? route.pathSegments
@@ -206,14 +210,9 @@ class Spanner {
206210 );
207211 }
208212
209- final debugLog = StringBuffer ("\n " );
210-
211- void devlog (String message) {
212- if (! debug) return ;
213- debugLog.writeln (message);
214- }
215-
216- devlog ('Finding node for --------- ${method .name } $path ------------\n ' );
213+ devlog? .call (
214+ 'Finding node for --------- ${method .name } $path ------------\n ' ,
215+ );
217216
218217 for (int i = 0 ; i < routeSegments.length; i++ ) {
219218 final String currPart = routeSegments[i];
@@ -233,12 +232,14 @@ class Spanner {
233232 final wcNode = rootNode.wildcardNode;
234233 if (wcNode != null ) wildcardNode = wcNode;
235234
236- devlog ('- Found Static for -> $routePart ' );
235+ devlog? . call ('- Found Static for -> $routePart ' );
237236 } else {
238237 final parametricNode = rootNode.paramNode;
239238 if (parametricNode == null ) {
240- devlog ('x Found no Static Node for part -> $routePart ' );
241- devlog ('x Route is not found -> $path ' );
239+ devlog? .call (
240+ 'x Found no Static Node for part -> $routePart ' ,
241+ );
242+ devlog? .call ('x Route is not found -> $path ' );
242243
243244 if (wildcardNode != null ) {
244245 useWildcard (wildcardNode);
@@ -249,14 +250,16 @@ class Spanner {
249250 }
250251
251252 if (parametricNode.hasChild (routePart)) {
252- devlog ('- Found Static for -> $routePart ' );
253+ devlog? .call (
254+ '- Found Static for -> $routePart ' ,
255+ );
253256 rootNode = parametricNode.getChild (routePart);
254257 final wcNode = rootNode.wildcardNode;
255258 if (wcNode != null ) wildcardNode = wcNode;
256259 continue ;
257260 }
258261
259- devlog (
262+ devlog? . call (
260263 '- Finding Defn for $routePart -> terminal? $isLastPart ' ,
261264 );
262265
@@ -266,7 +269,7 @@ class Spanner {
266269 terminal: isLastPart,
267270 );
268271
269- devlog (' * parametric defn: ${definition .toString ()}' );
272+ devlog? . call (' * parametric defn: ${definition .toString ()}' );
270273
271274 if (definition == null ) {
272275 if (wildcardNode != null ) {
@@ -294,7 +297,9 @@ class Spanner {
294297 break ;
295298 }
296299
297- devlog ('- Found defn for route part -> $routePart ' );
300+ devlog? .call (
301+ '- Found defn for route part -> $routePart ' ,
302+ );
298303
299304 final params = definition.resolveParams (currPart);
300305 resolvedParams.addAll (params);
@@ -310,10 +315,6 @@ class Spanner {
310315 }
311316 }
312317
313- if (debug) {
314- print (debugLog);
315- }
316-
317318 if (! rootNode.terminal) {
318319 return RouteResult (resolvedParams, getResults (null ), actual: null );
319320 }
0 commit comments