From 557cd183acb87f5748950472907014dad82acb34 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Thu, 26 Jan 2023 14:15:50 +0100 Subject: [PATCH] cln-rpc: Generate ToString for Enums This will return the stringified name of the variant. --- cln-rpc/src/model.rs | Bin 143748 -> 157055 bytes contrib/msggen/msggen/gen/rust.py | 20 +++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/cln-rpc/src/model.rs b/cln-rpc/src/model.rs index 772eb220a3914941dfde3786f326a3e4a6d020ac..c680aff21182750ca0aff59317f930b4ba407d4f 100644 GIT binary patch delta 9945 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 WxPYE=n_8AzsM7ORcZ+Fw_5T3Qk4A(5 delta 501 zcmex=inHZ0$A+(llZ`CxHor6W;GWLp$mqFwmV>O|=0`!bLO^lb>1Ss!a&GQVYg7XB z78o*dOqT5C-|W~`$TRs-kmKgq8Jk!@jOhj;Ol*@kOL|P#Z)J>_Zg0fMG1(xIZL|FR zmm-rt?RD9Fa_bxxFr#?S2QH9~Nk3UPZ#(G*V^6;OfOm7pjqhwQxw{Xx$$(AnXJlmE z9Qi+z1LTD5*EksCz)ss%|cuu!X1WG8RFe>tbO=&G+Tn%=|Wd0b|>8~pp z`L>%^Gll`xrrT}b-^}<1D4A|Id38L`_6OaJH4q+mBG2^7>5P2S8$=jcrt72tS^qg0 z>$WpaVcfw5Hg@%VMk#5C_gJR;o?;Z(p1q&3o)apv9VoIz4(v|uPe9FcUjnVY{F?DM zNVEO)C*OeTn}0CIfVta`vM>pn0mIW_`)O+?3AXK}&P=^bAkC9wXK+m4>&3*eJ; String {{ + match self {{ + """) + for v in e.variants: + norm = v.normalized() + decl += f" {e.typename}::{norm} => \"{norm}\",\n" + decl += dedent(f"""\ + }}.to_string() + }} + }} + """) typename = e.typename @@ -124,7 +142,7 @@ def gen_enum(e): defi += rename_if_necessary(str(e.name), e.name.normalized()) defi += f" pub {e.name.normalized()}: {typename},\n" else: - defi = f' #[serde(skip_serializing_if = "Option::is_none")]\n' + defi = f" #[serde(skip_serializing_if = \"Option::is_none\")]\n" defi += f" pub {e.name.normalized()}: Option<{typename}>,\n" return defi, decl