Skip to content

Commit

Permalink
Fix Rust enums, add dummy modules for other languages
Browse files Browse the repository at this point in the history
aumetra committed Oct 30, 2024

Verified

This commit was signed with the committer’s verified signature.
harrysolovay Harry Solovay
1 parent db942c0 commit f7f5672
Showing 12 changed files with 28 additions and 5 deletions.
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/cw-schema-codegen/src/go/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub mod template;
9 changes: 9 additions & 0 deletions packages/cw-schema-codegen/src/go/template.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
use askama::Template;

#[derive(Template)]
#[template(escape = "none", path = "go/enum.tpl.go")]
pub struct EnumTemplate {}

#[derive(Template)]
#[template(escape = "none", path = "go/struct.tpl.go")]
pub struct StructTemplate {}
2 changes: 2 additions & 0 deletions packages/cw-schema-codegen/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
pub mod go;
pub mod rust;
pub mod typescript;
7 changes: 5 additions & 2 deletions packages/cw-schema-codegen/src/main.rs
Original file line number Diff line number Diff line change
@@ -62,8 +62,11 @@ fn main() -> anyhow::Result<()> {

ensure!(opts.file.exists(), "Schema file does not exist");
ensure!(
opts.language == Language::Rust,
"Only Rust code generation is supported at the moment"
matches!(
opts.language,
Language::Rust | Language::Go | Language::Typescript
),
"Only Rust, TypeScript, and Go code generation is supported at the moment"
);

let schema = fs::read_to_string(&opts.file)?;
1 change: 1 addition & 0 deletions packages/cw-schema-codegen/src/typescript/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub mod template;
9 changes: 9 additions & 0 deletions packages/cw-schema-codegen/src/typescript/template.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
use askama::Template;

#[derive(Template)]
#[template(escape = "none", path = "typescript/enum.tpl.ts")]
pub struct EnumTemplate {}

#[derive(Template)]
#[template(escape = "none", path = "typescript/struct.tpl.ts")]
pub struct StructTemplate {}
Empty file.
Empty file.
Empty file.
Empty file.
3 changes: 0 additions & 3 deletions packages/cw-schema/src/lib.rs
Original file line number Diff line number Diff line change
@@ -31,7 +31,6 @@ pub struct StructProperty {
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
#[cfg_attr(feature = "std", derive(::schemars::JsonSchema))]
#[serde(rename_all = "camelCase", untagged)]
#[non_exhaustive]
pub enum StructType {
Unit,
Named {
@@ -56,7 +55,6 @@ pub struct EnumCase {
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
#[cfg_attr(feature = "std", derive(::schemars::JsonSchema))]
#[serde(rename_all = "camelCase", tag = "type")]
#[non_exhaustive]
pub enum EnumValue {
Unit,
Named {
@@ -71,7 +69,6 @@ pub enum EnumValue {
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
#[cfg_attr(feature = "std", derive(::schemars::JsonSchema))]
#[serde(rename_all = "camelCase", tag = "type")]
#[non_exhaustive]
pub enum NodeType {
// Floating point numbers
Float,

0 comments on commit f7f5672

Please sign in to comment.