-
-
Notifications
You must be signed in to change notification settings - Fork 38
V5 #141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
* Fix benchmarks take two * Add throughput thresholds * Wip
* First attempt at Swift 6 router * Make router immutable in benchmarks * Update benchmarks manifest * Re-add swift settings * Make options immutable * Update thresholds * Update thresholds * Update benchmarks * Adjust thresholds * Adjust thresholds * Use appropriate property * Create RouterBuilder * Update benchmarks * Address review and sprinke some `@inlinable` * Add back package setting * Update benchmarks * Update benchmark thresholds * Adjust threshold
* Implement partial matching * Attempt at making it fast * Cleanup * Undo * Partial Matching 2 (#143) * Different approach to partial matching * Nits * Avoid a copy * Minor improvements * Nit * Update Sources/RoutingKit/PathComponent.swift Co-authored-by: Gwynne Raskind <[email protected]> * Update Sources/RoutingKit/TrieRouter/TrieRouterNode.swift Co-authored-by: Gwynne Raskind <[email protected]> * Nits * Nit --------- Co-authored-by: Gwynne Raskind <[email protected]>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #141 +/- ##
==========================================
+ Coverage 83.91% 88.33% +4.42%
==========================================
Files 4 5 +1
Lines 230 240 +10
==========================================
+ Hits 193 212 +19
+ Misses 37 28 -9
🚀 New features to boost your workflow:
|
0xTim
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments
| @usableFromInline typealias Node = TrieRouterNode<Output> | ||
|
|
||
| /// Available ``TrieRouter`` customization options. | ||
| public enum ConfigurationOption: Sendable { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we have a full configuration type instead? That would allow us to make this a Bool so we can avoid the enum for future configuration options
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How much has this changed from the original router?
|
|
||
| @Test func testPartial() throws { | ||
| var routerBuilder = TrieRouterBuilder<Int>() | ||
| routerBuilder.register(42, at: ["test", ":{my-file}.json"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add some more tests to test things like a partial parameter only at the start, only at the end, failures for unclosed parameters etc
No description provided.