class JSRailsRoutes::Language::TypeScript

Constants

PROCESS_FUNC

Public Instance Methods

ext() click to toggle source

@note Implementation for {JSRailsRoutes::Language::Base#ext}

# File lib/js_rails_routes/language/typescript.rb, line 40
def ext
  'ts'
end
handle_route(route) click to toggle source

@param route [JSRailsRoutes::Route] @return [String]

# File lib/js_rails_routes/language/typescript.rb, line 32
def handle_route(route)
  path, keys = parse(route.path)
  name = function_name(route.name)
  params = keys.empty? ? 'params?: Record<string, Value>' : "params: Params<#{keys.join(' | ')}>"
  "export function #{name}(#{params}) { return process('#{path}', params, [#{keys.join(',')}]); }"
end