Sha256: 8ce7c5d56ccc6b75f09695c06d873c03c468c2e3fec4df77c55c87b0dbb24f17
Contents?: true
Size: 1.1 KB
Versions: 11
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true require 'opal/rewriters/base' module Opal module Rewriters class OpalEngineCheck < Base def on_if(node) test, true_body, false_body = *node.children if skip_check_present?(test) false_body = s(:nil) end if skip_check_present_not?(test) true_body = s(:nil) end node.updated(nil, process_all([test, true_body, false_body])) end def skip_check_present?(test) test == RUBY_ENGINE_CHECK || test == RUBY_PLATFORM_CHECK end def skip_check_present_not?(test) test == RUBY_ENGINE_CHECK_NOT || test == RUBY_PLATFORM_CHECK_NOT end RUBY_ENGINE_CHECK = s(:send, s(:const, nil, :RUBY_ENGINE), :==, s(:str, 'opal') ) RUBY_ENGINE_CHECK_NOT = s(:send, s(:const, nil, :RUBY_ENGINE), :!=, s(:str, 'opal') ) RUBY_PLATFORM_CHECK = s(:send, s(:const, nil, :RUBY_PLATFORM), :==, s(:str, 'opal') ) RUBY_PLATFORM_CHECK_NOT = s(:send, s(:const, nil, :RUBY_PLATFORM), :!=, s(:str, 'opal') ) end end end
Version data entries
11 entries across 11 versions & 1 rubygems