Sha256: 7f8d53a55506a502e87feddf0cc14f732d9c3c6257848a0a8b0adb965279718f

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

if defined?(::Rails) && defined?(::Sprockets::Railtie)
  require 'js_routes/engine'
end
require 'js_routes/version'
require "js_routes/configuration"
require "js_routes/instance"
require 'active_support/core_ext/string/indent'

module JsRoutes

  #
  # API
  #

  class << self
    def setup(&block)
      configuration.assign(&block)
    end

    def configuration
      @configuration ||= Configuration.new
    end

    def generate(**opts)
      Instance.new(opts).generate
    end

    def generate!(file_name = configuration.file, **opts)
      Instance.new(file: file_name, **opts).generate!
    end

    def definitions(**opts)
      generate(module_type: 'DTS', **opts)
    end

    def definitions!(file_name = nil, **opts)
      file_name ||= configuration.file&.sub(%r{(\.d)?\.(j|t)s\Z}, ".d.ts")
      generate!(file_name, module_type: 'DTS', **opts)
    end

    def json(string)
      ActiveSupport::JSON.encode(string)
    end
  end
  module Generators
  end
end

require "js_routes/middleware"
require "js_routes/generators/webpacker"
require "js_routes/generators/middleware"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
js-routes-2.2.2 lib/js_routes.rb