diff --git a/Gemfile.lock b/Gemfile.lock index b309c755e..0497e8bbf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - xdrgen (0.1.2) + xdrgen (0.1.3) activesupport (~> 6) memoist (~> 0.11.0) slop (~> 3.4) diff --git a/lib/xdrgen/generators/javascript.rb b/lib/xdrgen/generators/javascript.rb index 178677543..ef388346b 100644 --- a/lib/xdrgen/generators/javascript.rb +++ b/lib/xdrgen/generators/javascript.rb @@ -130,12 +130,10 @@ def render_union(out, union) switch = if acase.value.is_a?(AST::Identifier) if union.discriminant.type.is_a?(AST::Typespecs::Int) member = union.resolved_case(acase) + "#{member.value}" else '"' + member_name(acase.value) + '"' end - # render integers with a prefix so it's a callable method - elsif is_integer?(acase.value.text_value) - '"_' + acase.value.text_value + '"' else acase.value.text_value end @@ -200,10 +198,6 @@ def member_name(member) fixedName end - def is_integer? s - true if Integer(s) rescue false - end - def reference(type) baseReference = case type when AST::Typespecs::Bool diff --git a/lib/xdrgen/version.rb b/lib/xdrgen/version.rb index 5537011a9..ededcd7da 100644 --- a/lib/xdrgen/version.rb +++ b/lib/xdrgen/version.rb @@ -1,3 +1,3 @@ module Xdrgen - VERSION = "0.1.2" + VERSION = "0.1.3" end diff --git a/spec/output/generator_spec_javascript/union.x/MyXDR_generated.js b/spec/output/generator_spec_javascript/union.x/MyXDR_generated.js index fb804d07d..746f767bc 100644 --- a/spec/output/generator_spec_javascript/union.x/MyXDR_generated.js +++ b/spec/output/generator_spec_javascript/union.x/MyXDR_generated.js @@ -77,8 +77,8 @@ xdr.union("IntUnion", { switchOn: xdr.int(), switchName: "type", switches: [ - ["_0", "error"], - ["_1", "things"], + [0, "error"], + [1, "things"], ], arms: { error: xdr.lookup("Error"),