canon_link_generator 0.3.0 copy "canon_link_generator: ^0.3.0" to clipboard
canon_link_generator: ^0.3.0 copied to clipboard

Code generator for canon_link — emits the typed sealed Link surface from the link tree.

0.3.0 #

  • Require canon_link ^0.2.0 (codec moved to the canon_codec leaf; toUri round-trip validation).

0.2.0 #

  • Added the Link.<route> build chain (LinkNode): a typed step per grammar node — static children are getters, slots are .call(value), and .toUri() exists only on resolving nodes. Query/fragment ride .query(<Node>Query); a required query param removes the bare .toUri().

0.1.2 #

  • Path slot fields are named after the preceding segment (user/*user), falling back to the codec name.
  • A codec's (#name) overrides the field name (single slots) or the variant class names (union slots).
  • Semantic codecs (uuid, username) name the field intrinsically, beating the segment; primitives still defer to it.

0.1.1 #

  • Automated publishing via GitHub Actions.

0.1.0 #

  • Initial generator: reads the @links tree and emits the typed surface.
  • Sealed Link base with toUri(); one class per resolving endpoint with typed slot/query/fragment fields.
  • parseLink(Uri) backed by the runtime matcher, switching on the route template.
  • Covers static segs, single slots (string/uuid/int/double/date/enum), nested routes, the null endpoint marker, query flag/value/list, fragments, and allOf/oneOf (flattened to nullable members; constraints enforced at parse).
  • Union slots (slots) are rejected pending typed sealed-variant generation.
1
likes
130
points
52
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Code generator for canon_link — emits the typed sealed Link surface from the link tree.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

analyzer, build, canon_link, source_gen

More

Packages that depend on canon_link_generator