cyrly

Crates.iocyrly
lib.rscyrly
version0.1.0
sourcesrc
created_at2023-04-06 11:43:16.605983
updated_at2023-04-06 11:43:16.605983
descriptionA serde-based YAML serializer for Rust with an unusual output style
homepage
repositoryhttps://github.com/jcaesar/cyrly
max_upload_size
id832130
size29,702
(jcaesar)

documentation

README

cyrly

A serde-based YAML serializer for Rust with an unusual output style.

Usage

cyrly::to_string(some_val)?

will prdouce something like

{
  { 42: 1336 }: "non-string keys",
  "three different string styles": [
    plain,
    "single-line strings",
    "\
      multi-line strings are\n\
      acceptably readable\n\
      \n\
      also, yaml 1.1/1.2 ambiguities are quoted:
    ",
    "oFf",
  ],
  look: "trailing comma",
}

Misc

I think this is better than X because Y:

  • JSON
    • Fewer "
    • Trailing commas,
    • Multiline
      strings
    • Support for non-string keys
  • YAML (as produced by normal serializers)
    • Not whitespace-indentation dependent
  • JSON5 / Hjson
    • Valid YAML, which is a much more common format, thus the output will be usable in many more places

Note that while the serializer attempts to be conservative where possible (e.g. always quoting maybe-keywords like no or on) and should always produce valid YAML, it is still somewhat unusual and may trouble some YAML deserialization implementations.

Commit count: 18

cargo fmt