Commit Graph

33 Commits

Author SHA1 Message Date
91807aac61 perf: Removed erlang/js specific parsing
Some checks failed
test / test (push) Has been cancelled
This currently seems to compile exactly the same in 1.12.0 and 1.13.0 so
therefore has a performance regression
2025-10-19 19:16:33 +01:00
22d13bdf7d perf: Split parsers into erlang/js targets 2025-10-03 11:10:36 +01:00
b9d1077425 perf: Revert back to pattern matching for ranges
May need to do more in depth checks and optimisations may need to be
removed if the core gleam compiler fixes the performance issues with
pattern matching + capture.
Possibly pattern matching may be better for smaller ranges but would
need to do benchmarks to find out what the cut-off point is.
2025-10-03 10:55:48 +01:00
3cd6d5d4af perf: Fix minor perf issue for JS 2025-09-22 12:55:09 +01:00
5c4a444231 perf: Reworked ascii/digit parsing to speed up things 2025-09-22 11:45:20 +01:00
5da4ea66b1 refactor: Rewrote bool.guard to standard pattern match 2025-09-18 18:22:34 +01:00
897124be27 perf: Tweak to userinfo parse to not repeat @ check 2025-09-15 14:39:39 +01:00
869c5cf06c perf: Don't parse for userinfo if not necessary
If the URI doesn't contain @ then there can't be a userinfo so
completely ignore this part of parsing to improve performance
2025-09-14 22:14:49 +01:00
67798d1dcf style: Removed unused Stop/Continue imports 2025-09-14 21:37:08 +01:00
6131aa01e7 perf: Improved dec_octet parsing
Removed the list folding method and reverted to a standard
try_parser/parse_this_then method as used in the rest of the parser
2025-09-14 21:28:30 +01:00
2ee6741308 refactor: Renamed some fns and removed duplicate fns 2025-09-14 19:40:32 +01:00
e5b5545bd1 perf: Rewrote parse_min_max to avoid folding 2025-09-14 18:47:05 +01:00
47da8071cf refactor: Moved the order of functions around to follow the ABNF doc 2025-09-14 17:51:31 +01:00
8b8d3e577e perf: Add tweak to parse known schema more quickly
http, https, and a few other urls can be assumed to be possible schemes.
If we check for these then we cut down on the character by character
parsing that would otherwise happen
2025-09-14 17:11:04 +01:00
4cad0c5bc3 refactor: Correctly name abempty parse fn 2025-09-14 17:09:37 +01:00
0e293fc85e refactor: Tweak port parsing 2025-09-14 17:09:04 +01:00
1174a17c97 perf: Optimisations for parsing between options
Added a specific parse try function which takes the essence of
list.fold_until but makes it specific for fn(String)->Result(#(a,
String),Nil) parsers

???

??
2025-09-14 12:03:29 +01:00
428bd53002 refactor: Changed tuple to type for clarity 2025-09-14 11:49:59 +01:00
1a8a696102 fix: Switch to stdlib Uri type
Should never have created separate Uri type
2025-09-11 22:32:20 +01:00
7dce9edf72 refactor: Renamed as gluri 2025-09-09 12:42:53 +01:00
1779522387 refactor: Moved types into uri folder 2025-09-09 12:34:22 +01:00
c66c57f70f feat: Added IPvFuture parsing 2025-09-09 12:17:54 +01:00
772290375b docs: Added documentation for uri 2025-09-09 11:57:39 +01:00
5dc558e27f fix: Origin lowercase and docs 2025-09-08 21:06:02 +01:00
38e2012945 feat: Origin function and tests 2025-09-08 15:05:54 +01:00
62943e11e7 feat: Added port/scheme normalisation 2025-09-08 13:25:03 +01:00
381b3a9430 feat: query_to_string and parse_query with tests 2025-09-08 12:18:09 +01:00
7f19120f08 feat: More work on uri api 2025-09-08 00:33:07 +01:00
c94ea76243 fix: Trailing . and .. fix 2025-09-07 18:50:02 +01:00
5826e168d0 feat: URI merging and tests 2025-09-07 17:59:43 +01:00
b7325de6ec feat: Refactor and added normali(s/z)e 2025-09-07 16:35:50 +01:00
b108d7d82b test: Finish test suite 2025-09-07 13:28:50 +01:00
26804f6403 feat: initial commit for uri parser 2025-09-06 23:51:50 +01:00