canon_link 0.2.0 copy "canon_link: ^0.2.0" to clipboard
canon_link: ^0.2.0 copied to clipboard

Type-safe, bidirectional URL codec from a single grammar.

0.2.0 #

  • The codec layer moved to the new canon_codec package (re-exported, so Codec and the built-ins are unchanged for consumers). canon_link now layers only the URL structure (NameableCodec naming, repeated-key list) on top.
  • toUri() now throws if a value will not round-trip through its codec, instead of silently emitting an unparseable URL.

0.1.2 #

  • Codecs carry an optional name: slot(.uuid(#adId)) overrides the generated field name. Battery codecs are nameable; custom codecs opt in via NameableCodec.
  • Added the .username codec (lenient handle: letters, digits, _ . -).
  • Removed Domain(canonical:) — output uses the first-declared domain; round-tripping a parsed link keeps its own domain.

0.1.1 #

  • Automated publishing via GitHub Actions.

0.1.0 #

  • Initial runtime: strict bidirectional URL ↔ Link codec.
  • Codec<T> with built-ins (string, raw, uuid, integer, number, date, enumValues, list).
  • Authoring DSL: tree/Domain/Seg/slot/slots/Query/allOf/oneOf, own vs shared query/fragment, null endpoint marker. Unmodeled query keys are ignored.
  • LinkMatcher: no-backtrack committed-fallthrough parse + canonical print.
1
likes
150
points
345
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Type-safe, bidirectional URL codec from a single grammar.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

canon_codec, meta

More

Packages that depend on canon_link