Sha256: 3d21cdc2015286f724012c947e2bf5a6ee55b09c467753388ec11af9e13b2dd5
Contents?: true
Size: 1.44 KB
Versions: 6
Compression:
Stored size: 1.44 KB
Contents
# frozen_string_literal: true require 'opal/rewriters/opal_engine_check' require 'opal/rewriters/for_rewriter' require 'opal/rewriters/explicit_writer_return' require 'opal/rewriters/js_reserved_words' require 'opal/rewriters/block_to_iter' require 'opal/rewriters/dot_js_syntax' require 'opal/rewriters/logical_operator_assignment' require 'opal/rewriters/binary_operator_assignment' require 'opal/rewriters/hashes/key_duplicates_rewriter' module Opal class Rewriter class << self def list @list ||= [] end def use(rewriter) list << rewriter end def delete(rewriter) list.delete(rewriter) end def disable @disabled = true yield ensure @disabled = false end def disabled? @disabled if defined?(@disabled) end end use Rewriters::OpalEngineCheck use Rewriters::ForRewriter use Rewriters::BlockToIter use Rewriters::DotJsSyntax use Rewriters::JsReservedWords use Rewriters::LogicalOperatorAssignment use Rewriters::BinaryOperatorAssignment use Rewriters::ExplicitWriterReturn use Rewriters::Hashes::KeyDuplicatesRewriter def initialize(sexp) @sexp = sexp end def process return @sexp if self.class.disabled? self.class.list.each do |rewriter_class| rewriter = rewriter_class.new @sexp = rewriter.process(@sexp) end @sexp end end end
Version data entries
6 entries across 6 versions & 1 rubygems