lib/jsrb/js_statement_context.rb in jsrb-0.2.1 vs lib/jsrb/js_statement_context.rb in jsrb-0.3.0

- old
+ new

@@ -35,14 +35,14 @@ # rubocop:disable Metrics/CyclomaticComplexity # rubocop:disable Metrics/AbcSize def ruby_to_js_ast(rbv) case rbv when ExprChain - rbv.unwrap! + rbv.object when Proc chainables = rbv.parameters.map do |_type, name| - new_expression.member!(name.to_s) + new_expression[name.to_s] end result, statements = in_new_context { rbv.call(*chainables) } if result statements.push( type: 'ReturnStatement', @@ -61,26 +61,26 @@ when Hash var_name = gen_var_name! statements = rbv.map do |key, v| { type: 'ExpressionStatement', - expression: new_expression.member!(var_name).member!(key).assign!(v).unwrap! + expression: new_expression[var_name][key].set(v).object } end { type: 'CallExpression', callee: { type: 'FunctionExpression', id: nil, - params: [new_expression.member!(var_name).unwrap!], + params: [new_expression[var_name].object], body: { type: 'BlockStatement', body: statements.concat( [ { type: 'ReturnStatement', - argument: new_expression.member!(var_name).unwrap! + argument: new_expression[var_name].object } ] ) } }, @@ -97,15 +97,15 @@ elements: rbv.map { |v| ruby_to_js_ast(v) } } when TrueClass, FalseClass, String, NilClass build_literal_ast(rbv) when Float::INFINITY - new_expression.member!('Number').member!('POSITIVE_INFINITY').unwrap! + new_expression[:Number][:POSITIVE_INFINITY].object when -Float::INFINITY - new_expression.member!('Number').member!('NEGATIVE_INFINITY').unwrap! + new_expression[:Number][:NEGATIVE_INFINITY].object when Float if rbv.nan? - new_expression.member!('Number').member!('NaN').unwrap! + new_expression[:Number][:NaN].object else build_finite_number_ast(rbv) end when Integer build_finite_number_ast(rbv)