Sha256: 9f15b1a8d7b05e3fb44bb9986f6b7644f27c2a6888047f65203518f5c6597e9f

Contents?: true

Size: 584 Bytes

Versions: 126

Compression:

Stored size: 584 Bytes

Contents

# frozen_string_literal: true

class ReeText::EscapeJavascript
  include Ree::FnDSL

  fn :escape_javascript do
    link :is_blank, from: :ree_object
    link 'ree_text/functions/constants', -> { JS_ESCAPE_MAP }
  end

  doc("Escapes carriage returns and single and double quotes for JavaScript segments.")
  contract(Nilor[String, Bool, Integer, Symbol] => String)
  def call(javascript)
    javascript = javascript.to_s

    if is_blank(javascript)
      ""
    else
      javascript.gsub(/(\\|<\/|\r\n|\342\200\250|\342\200\251|[\n\r"']|[`]|[$])/u, JS_ESCAPE_MAP)
    end
  end
end

Version data entries

126 entries across 126 versions & 1 rubygems

Version Path
ree_lib-1.1.1 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.1.0 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.124 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.123 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.122 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.121 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.120 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.119 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.118 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.117 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.116 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.115 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.114 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.113 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.112 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.111 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.110 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.109 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.108 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb
ree_lib-1.0.107 lib/ree_lib/packages/ree_text/package/ree_text/functions/escape_javascript.rb