1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
//! [balena] **c**onfiguration **dsl** //! //! A crate that provides facilities to: //! //! * transform configuration DSL into the JSON Schema & UI Object Schema with custom extensions //! * parse configuration DSL //! //! # Obsolete //! //! **This crate is obsolete now**. `balena-cdsl` crate was renamed to `jellyschema` //! and the `balena-cdsl` won't receive any updates. //! //! # Versioning //! //! This crate is being actively developed and it does NOT follow [Semantic Versioning] yet. //! It will follow semantic versioning when it reaches version 1.0. //! //! MINOR version changes denotes incompatible API changes and PATCH version changes denotes //! both new functionality in a backwards-compatible manner and backwards-compatible bug fixes. //! //! # Examples //! //! ## Generate JSON Schema & UI Object //! //! ``` //! use balena_cdsl::output::generator::Generator; //! use serde_yaml::*; //! //! let dsl = r#" //! version: 1 //! properties: //! - name: //! type: string //! help: You should type your name here //! "#; //! //! let input_schema: serde_yaml::Value = serde_yaml::from_str(dsl).unwrap(); //! //! let (json_schema, ui_object) = Generator::with(input_schema).unwrap().generate(); //! ``` //! //! [balena]: https://www.balena.io //! [Semantic Versioning]: https://semver.org/ pub mod dsl; pub mod output; #[cfg(all(target_arch = "wasm32", not(feature = "disable-wasm-bindings")))] mod wasm;